首页 > 解决方案  
解决方案
成功案例
联系我们
 
 
  【解决方案】Vortex86SX容错功能介绍(上)  
  .....................................................................................................................................................................................................................  
 

   一.关于容错性

  容错是计算机应用系统稳定、可靠、有效、持续运行的重要保证。许多的服务行业必须保证二十四小时不间断运行,否则将给单位或企业带来很大的经济损失和社会负面影响,因此电脑的正常运行和数据的安全就显得尤为重要。电脑首要的也是最主要的安全问题就是硬件和软件的安全,但同时,由于PC机的安全性因素,基于该平台业务系统的安全,稳定可靠和系统的持续运行成为系统的关键,因此,x86架构下的容错系统受到越来越多的欢迎 。下面就结合我公司(昭营科技)的具体产品情况简单阐述Vortex86SX(以下简称VSX)的容错功能

   二.容错原理图

 
  FA1  
 

  上图为我公司产品容错原理图,我们分为仲裁区、信息交换区、数据效验区和其他区域来讲解。

1、仲裁区:

  是判断板卡在何种情况下让没Master把控制权转给Slave。

A、WDT1:看门狗1启动

B、SYSTEM RESET:系统重新启动

C、SOFTWARE CONTRNOL:软件控制

D、WDT0:看门狗0启动

E、Ext system fail in:系统外在触发

F、MANUAL SWITCH A:系统手动切换

G、INVALID CODE:非法指令

在以上七种情况发生时Master会把控制权推给Slave,因为转换时间极短仅为1微秒,达到即使板卡偶出现意外也不会死机。

2、信息交换区:
SRAM为暂存器有两个作用作为数据临时存放区域和共享空间实现数据的交换。在GPCS DECODER控制下Master可以向自己的4K SRAM空间写数据,还可以通过GPCS0向Slave的4K空间写数据,这样不但使得Master的存储空间扩大了一倍,从4K变为8K,而且更容易实现两块板卡信息的比较达到信息同步。
3、数据交换区:
通过高速串口COM9可以实现主从盘SRAM中数据的比对达到Master和Slave信息的同步,也可以实现两个系统间的数据交换。
4、其它区域:
UART1—UART4是串口数据的抑制容错,也就是两块主板(Master and Slave)的串口同时接到设备的同一串口,Master主板的串口会抑制Slave主板串口的工作,设备只接受Master信息,所以串口是可控I/O。
GPIO PORT0----GPIO PORT2是指GPIO端口的抑制容错。
KBD/MS是指鼠标和键盘的抑制容错。
三.容错的硬件设置
1. 必须有两块VSX CPU为核心的板卡,型号与规范一致每块板卡必须有PC104总线.
2. 把两块同样的VSX 板卡用104堆叠起来。
3. 用BoR 总线把两块板卡的容错接口连接起来。如下图

 
  容错2  
  这样硬件就设置完成了。
四.软件的设置
开机按DEL进入BIOS设置
选择Chipset下的 SouthBridge Configuration 目录如图
 
  容错3  
    SouthBridge Configuration 目录下有GPCS configuration and Redundancy Control configuration 两项需要设置。
第一项:GPCS设置
1. 把GPCS功能打开设为[Enabled]
2. GPCS0 Command 来控制数据映射类型(内存映射与I/O映射),默认选择内存映射 8 bit 可读可写。
3. GPCS0 start address 设置数据映射起始地址,默认为[000c8000]
4. GPCS0 MASK compare bit 来确定有效字段数
第二项:Redundancy Control Configuration
 
  rc4  
  1. a.. Dual port 4k SRAM 设置为 [Enabled] 打开4k SRAM 暂存器空间
b. SRAM Command来控制数据映射类型(内存映射与I/O映射),默认为[Mem r/w 8 bit]
c. SRAM start Address设置数据映射起始地址,默认为[000D0000]
d. SRAM Compare Bit来确定有效字段数,默认为[FFFFF000]
2. com9设置
a. SB serial port 9选择串口地址
b. IRQ9选择COM9中断地址
3.wachdog 0 and 1 看门狗容错功能的开启与关闭
4. Invalid opcode condition 非法指令容错功能的开启与关闭。
 
     

 

   
  【解决方案】Vortex86SX容错功能介绍(下)
  .....................................................................................................................................................................................................................
  五.关于容错涉及概念解释
1. 堆叠: 把两块VSX主板通过PC104接口叠加到一起。
2. BoR: BoR(bridge of redundancy),这是我公司专为容错性设计的一组总线,总线的两端分别连接到两块主板(A,B)的容错接口(Redundancy)线序如下图
 
A SYS
B SYS
1 (GND)
1 ( GND)
2 (SYSTEM-A Fail out)
3 (Ext-SYSTEM Fail in)
3 (Ext-SYSTEM Fail in)
2 (SYSTEM-A Fail out)
4 (GPCS0)
5 SYS-GPCS-in
5 SYS-GPCS-in
4 (GPCS0)
6 (TxD9)
7 (RxD9)
7 (RxD9)
6 (TxD9)
 

3. COM9 :在我公司板卡上还有个com9 在BIOS 中: Chipset→Southbridge Configuration →Redundancy Control Configuration 下 设置端口地址与中断号,COM9可以作为中两个系统信息的比对,保持主从板卡信息同步,当然您还可以把com9作为一个高速串口用用于两个板卡间任意信息的传送。
如图所示:
4. 可控与非可控
所谓可控I/O 是指同一个I/O被两个设备共同使用,主机为工作机有控制I/O权,从只是追随主在跑并不参与控制 。
常用可控I/O有:串口,并口,GPIO,键盘鼠标。
非可控I/O有:USB ,网口,LCD…………….

  六.容错理论的测试
1. 对寄存器地址6DH的测试,通过寄存器地址6DH数据的读取判断系统为Master or Slave ,你可以用软件读取6DH的值(00000010为主Master, 00000001 为从Slave)来判断主从主板。
如图所示:
2. 在debug 模式下通过对SRAM地址值的读写来判断主从盘,在Master的系统上可以访问Slave系统的SRAM空间,访问(读/写)的方式可以在BIOS中设定,而SLAVE系统不可以访问Master系统的SRAM。因为Master有主控权而Slave没有。
七.应用典型案例分析

  rc5
    上图为某一航空司地面控制台,当主机开启power按下,两片VSX-6154主板同时启动,按照时间先后随机决定一个为Master,另一个为Slave。Master拥有主控权并抑制Slave的各项功能,所以显示器显示Master内容,Slave只是跟着Master跑。Mastert收到信息把信息传递到显示器上,同时通过BoR总线完成与slave的信息比对,达到信息的同步。如果Master因为意外而重启,这时Master在死机的一瞬间把控制权推向Slave,Slave接过Master的信号就变成了Master,将继续运行。原Master通过重启或者修复后就失去了控制权力变成跟着新的Slave,等到有时机再次接手Master的工作。
控制室在监测飞机状况后指挥人员指导飞机有次序的飞行,起飞和降落,这时突然Master由于意外重新启动,Slave立即接手主的工作,采集雷达信息并在显示器上显示,Master在重启完成后,变成Slave,原来的Master变成了Slave,通过COM9读取主的信息,与主信息达到同步,时刻准备着接手主的工作,而发生的这一切在控制台前指挥的人员并不知道。如果只有一块主板,那么所发生的一切就可想而知了。
八.综上所述, Vortex86SX容错功能实现非常简单,且功能强大。它主要有以下几大特点:
Master/Slave主板谐调工作
可诊断六种不可预知的系统死机故障
Master/Slave主板可在1 us(10的负6次方秒)内转换
可抑制Slave主板下的ISA总线
可编程抑制Slave主板的I/O端口(在BIOS中设置)
设计高速串口作Master/Slave主板间的数据传输
Master/Slave主板各提供4KB SRAM作数据交换与备份
支持系统死机计数
  【解决方案】尺寸更小却能与PC/104媲美的微型模块
  .....................................................................................................................................................................................................................
 

  根据客户的需求,智源通科技设计出多款功能接口不同的板卡。目前有两个系列的产品供大家来选择,即低阶应用VSX系列,CPU主频在300MHz,可运行Windows CE、DOS、Linux等操作系统;和中高阶应用VDX系列,CPU主频800MHz,可运行Windows CE /XP、 DOS、Linux等操作系统。在一块尺寸仅有100 x 66mm的板卡上,不仅板载128MB/256MB/512MB 的内存,还带有串口、显示、音频、GPIO、网口、USB等接口。

Vortex86SX 系列产品有:
(该系列产品内存128MB,可选根据需求 选择256MB)
ZSX6114
128MB/4S/2USB/VGA/LVDS/LAN/GPIO
ZSX6115
128MB/4S/2USB/LAN/2GPIO
ZSX6116
128MB/2S/2USB/2GPIO
ZSX6117
128MB/1S/USB/LAN/GPIO
ZSX6118
128MB/4S/4USB/VGA/LCD/LAN/2GPIO
Vortex86DX 系列产品有:
(该系列产品内存256MB,可选根据需求选择512MB)
ZDX6314
256MB/4S/2USB/VGA/LVDS/LAN/GPIO/PWM x 16
ZDX6315
256MB/4S/2USB/LAN/2GPIO/PWM x 24
ZDX6316
256MB/2S/2USB/2GPIO/PWM x 24
ZDX6317
256MB/1S/USB/LAN/GPIO/PWM x 16
ZDX6318
256MB/4S/4USB/VGA/LCD/AUDIO/LAN/2GPIO/PWM x 24

  VDX8318
  【解决方案】超级加固、全防水、抗振ICE嵌入式控制器             
  .....................................................................................................................................................................................................................
  ICE1
  ICE2
  RTX与其他实时操作系统的比较
  .....................................................................................................................................................................................................................
 

RTX与其他实时操作系统的比较

  RTX(Real-Time eXtension)实时操作系统是IntervalZero 公司的一款嵌入式软件产品。在Windows 下安装RTX 实时操作系统,拓展了Windows操作系统内核体系,修改并扩展了整个硬件抽象层HAL(Hardware Abstraction Layer),实现独立的内核驱动模式,形成与Windows 操作系统并列的实时子系统。

  接下来将会通过比较实时操作系统与通用操作系统的区别以及RTX与其他实时操作系统的区别引入对RTX这款产品的介绍。

1.从通用操作系统到实时操作系统
我们在日常工作学习环境中接触最多的是通用操作系统如Windows系统、Linux系统,通用操作系统是由分时操作系统发展而来,大部分都支持多用户和 多进程,负责管理众多的进程并为它们分配系统资源。相对而言,实时操作系统则不同。对于实时系统而言,其正确性不仅依赖于系统计算的逻辑结果,还依赖于产 生这些结果的时间。下面我们就分别谈谈这两种操作系统的区别:

1) 基本设计原则不同:
分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。
实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。二者的区别在于,实时操 作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最 坏情况表现。

2) 任务调度策略不同:
通用操作系统中的任务调度策略一般采用基于优先级的抢先式调度策略,对于优先级相同的进程则采用时间片轮转调度方式,用户进程可以通过系统调用动态地调整自己的优先级,操作系统也可根据情况调整某些进程的优先级。
RTX 的任务调度:RTX实时操作系统中并没有进程的优先级,对于进程中的准备运行的线程有着基于优先级的线程调度队列。这保证了线程的执行是有顺序的,并且符 合“先进先出”的原则,且只有一个优先级。如果一个时间量子被设置为了0,则线程将会运行完成。如果时间量子被设置为了其他的值,线程将会运行特定的时 间,然后放弃对CPU的占用,给到其他同级的线程。

3) 内存管理:
通用的操作系统一般都会采用分页管理的方式,但这种方式可以保证大部分的任务的执行效率,但其最坏情况的时间不可预测。
默认情况下,RTX的所有进程和内存对象都会被锁在物理内存当中,以提高其可预测性。

  4) 中断处理:
在通用操作系统中,大部分外部中断都是开启的,中断处理一般由设备驱动程序来完成。由于通用操作系统中的用户进程一般都没有实时性要求,而中断处理程序直接跟硬件设备交互,可能有实时性要求,因此中断处理程序的优先级被设定为高于任何用户进程。
但对于实时操作系统采用上述的中断处理机制是不合适的。首先,外部中断是环境向实时操作系统进行的输入,它的频度是与环境变化的速率相关的,而与实时操作 系统无关,任务的实时性和可预测性均得不到保证;其次,实时操作系统中的各用户进程一般都有实时性要求,因此中断处理程序优先级高于所有用户进程的优先级 分配方式是不合适的。
在RTX实时操作系统中,中断处理程序与所以其它任务一样拥有优先级,调度器根据优先级对处于就绪态的任务和中断处理程序统一进行处理器调度。中断线程的优先级也可以更改,并且时间中断是最高的优先级的中断。

5) 共享资源的互斥访问:
通用操作系统一般采用信号量机制来解决共享资源的互斥访问问题。
如果任务调度采用基于优先级的方式,则传统的信号量机制在系统运行时很容易造成优先级倒置问题(Priority Inversion),实时性难以得到保证。因此在实时操作系统中,往往对传统的信号量机制进行了一些扩展,如在RTX实时操作系统中,其调度器提供了3 中系统操作选项(分别为Priority Promotion with Tiered Demotion、Priority Promotion with Limited Demotion、Disable)来使倒置问题最小化;

6) 辅助工具
实时操作系统额外提供了一些辅助工具,如实时任务在最坏情况下的执行时间估算工具、系统的实时性验证工具等,可帮助工程师进行系统的实时性验证工作。

2.RTX与其他实时操作系统
VxWorks、C/OS-II、RT-Linux、QNX是四种当下较流行的实时操作系统。VxWorks、C/OS-II、RT-Linux、QNX 都是优秀的强实时操作系统,各有特色:VxWorks 的衡量指标值最好;C/OS-II 最短小精悍;RT-Linux支持调度策略的改写;QNX 支持分布式应用。在性能方面RTX与其相比可谓不相上下,但是RTX与同类的实时操作系统相比最突出的优势是它与Windows的平台结合,具有开发调试 效率高与实时性强两大优点。

  首先,如下图所示,RTX (Real-Time eXtension) 是在不改变Windows XP 内核的前提下,提供一个附加的实时内核模块。与WindowsXP 内核一起工作,进行实时任务的调度与执行。RTX 为了在Windows XP 操作系统下实现实时的特征,利用Windows XP 良好的可扩展体系结构增加了一个实时子系统(RTSS)。RTSS 在概念上与其他Window XP 子系统(例如Win32、POSIX 和DOS) 相似,在RTSS 中,支持自己的执行环境和API。RTX 不同于其他子系统的重要因素在于RTSS 执行它自己的实时线程调度而不是使用Windows XP 的调度,包括Windows XP 管理的中断和延迟过程调用(DPC)。RTSS 也支内部进程通信(IPC)对象,RTSS 或者Win32 进程都能处理这种对象;这使得实时和非实时程序实现简单和标准的通信且同步。

  RTX
 

  其次,RTX 对所有线程执行抢占的实时调度,支持128 个优先级,严格控制各个优先级线程间的切换,并提供与Win32 环境兼容的实时编程接口,支持Win32 的API,实现了一套实时函数包括中断管理函数和直接硬件访问函数的扩展。RTX 实时操作系统计时器精度最高可达0.001ns,固定的128 个线程优先级与Windows 内核分离,支持RTX 线程的最低可能的延迟调度。使用RTX 实时操作系统可以满足控制系统的强实时性的要求。

  综上,RTX为嵌入式系统开发人员提供了极大的便利,并有效缩减开发周期,降低开发成本。其开发过程简单易用,实时性能上也得到保证,因此也被更多的实时系统所采用。

3.最新版本的RTX特点
RTX2011新产品的新特点:
1) RTX2011支持多至32个处理器的系统,是上一个RTX版本的处理器量的四倍还要多些。RTX工具和通用工具的更新来支持31RTSS处理器的展示。
2) RTX2011有6个运行时版本,给到客户提升的选项来选择嵌入式系统需要的均衡的多处理功能的级别。
3) RTX工具也包含在所有RTX2011运行时编辑中。
4) RTX2011支持Windows7,Windows Vista直到SP2的版本,Windows XP直到SP3,Windows Embedded Standard 2009,和Windows Embedded Standard 7。
5) RTX2011提供了:RTX和RT-TCP/IP头文件和库文件;支持Microsoft Visual Studio(2005、2008和2010);Microsoft WinDbg 扩展;网络驱动和资源;例子应用和文档说明和如何开发RTSS应用展示。
6) RTX运行时提供了:实时子系统;工具和实用工具集来诊断问题和监视RTX环境的性能。
7) 更新的RTX控制面板来提供一个更加详细的子系统状态。
8) 在RTSS进程中通过FastSemaphores添加了新的轻量级的同步器。
9) RTX API DLL为Windows提供的应用(Rtapi_w32.dll)现在可以动态被加载。
10) 加强了的子系统追踪功能允许其可以从开始一个日志的对话之前就捕获到其信息。这个功能也可以通过RTX控制面板或者RTX属性API来更改。
11) 允许在一个64位操作系统上,安装一个不带运行时的RTX SDK。
12) 可以为RTX运行时与第三方安装简单地整合提供安装混合模块。
13) Windows Embedded Standard 7已被安装包支持。Including RTX Runtime with Windows Embedded Standard 7文档现在已可以作为一个指导来展示如何利用ICE将RTX包含至其中。
14) RTX现在允许最小的进程槽数为1(之前的最小是10)。
4.参考文献
1) 《RTX的三轴仿真转台实时控制软件设计与实现》

2) 《RTX在半实物仿真系统中的应用》

3) 《RTX在负载模拟器控制软件中的应用》

4) 《RTX在激光制导炸弹半实物仿真中的应用》

5) 《基于RTX的空面导弹制导控制系统快速原型仿真》

6) 《基于RTX的卫星姿轨控系统地面实时仿真系统》

7) 《基于RTX实时模块的飞控系统综合测试系统实现》

8) 《基于RTX的数据采集系统设计》

9) 《4种实时操作系统实时性的分析对比》

10) 《实时操作系统与通用操作系统的一些比较》

11) 《RTX》

 

Diamond单板机成功应用在俄罗斯铁路控制系统

.....................................................................................................................................................................................................................

  MicroMax计算机智能公司主要为关键应用和重要任务开发定制化计算机系统,也为工业控制、电信等领域提供系统集成。该公司专业开发适合于宽温、强烈的冲击和振动以及潮湿和灰尘等恶劣环境使用的计算机技术和 COTS系统。

  MicroMax为俄罗斯铁路的ATC系统开发了一款冗余网关系统: M-MAX 400 ST/2GTW。该系统为车站之间的联锁系统提供CAN和RF接口。该网关系统是整个ATC控制系统中的核心, 所以设计成双计算机系统做冗余备份, 以便系统不间断工作。该关键应用工作在恶劣环境中, 所有部件需要高可靠性和高加固系统。M-MAX 400系统包括小型单板计算机, 宽输入范围电源和三个 IO 模块: CAN卡, 串口卡和用来做冗余控制的心跳监测卡。系统原理框图如下:

DIAMOND

 

  Diamond公司的PC/104-Plus单板计算机Pegasus成功应用在该网关系统中。Pegasus单板使用AMD LX800 CPU, 主频800MHz, 在 CPU 功耗和低成本之间实现了完美的平衡。同时, Pegasus 为加固系统设计, 支持-40℃ - 85℃ 宽温工作范围, 可以抗强的冲击和振动。该单板同时提供 ISA 和 PCI 总线接口, 可以扩展 I/O 模块。 这些特性都非常适合M-MAX 400网关应用。Pegasus单板的成功应用,MicroMax公司也开始在铁路系统中使用Diamond公司其它的单板和I/O产品。

  Diamond和MicroMax合作, 提升了俄罗斯铁路网络的现代化水平, 改进了整个网络的管理和通信性能。 Diamond单板和I/O产品适合在恶劣环境中使用。

TOP

 
 
武汉市江岸区二七街黄浦路黄埔东宫A座2208室 电话:027-85500017-201 传真:027-85500017-208
Copyright@2009 - 2024 ZYTtech. All rights reserved. 智源通科技 版权所有.
鄂ICP备13015651号-1
       
无标题文档
在线客服 产品咨询 售后服务 技术支持