分类: LINUX
2012-10-21 10:54:20
双MPC8548冗余系统
设计方案
V1.3
2011-08-26
目录
TOC \o "1-3" \h \z \u
《双MPC8548冗余系统》设计方案
“双MPC8548冗余系统”是按用户需求定制的采用飞思卡尔处理器设计的一款双CPU冗余系统。提供冗余的4路千兆以太网,1路RS232串口,1路SPI总线接口;运行Vxworks系统,其中双CPU采用模块设计。
本系统使用两个我公司设计的MPC8548 PMC主板模块。每个模块分别提供4路千兆以太网,1路RS232串口,以及其它接口。底板除了搭载2个MPC8548主板模块外,还有仲裁电路,电源设计等。本系统中的4路千兆以太网,1路RS232串口和1路SPI总线做了冗余设计。
1) 4路千兆以太网;1路RS232,1路SPI(4线)做冗余备份;
2) 双MPC8548 CPU模块,主板包含512MB DDR2内存,和64MB NOR FLASH;
3) 提供各种系统指令灯;
4) 整板功耗控制在25W左右;
5) 系统工作温度-40℃~80℃;
6) 运行Vxworks操作系统。
系统结构
本系统由3部份电路板组成,由一块背板和2块PMC主板组合而成。PMC主板为系统CPU核心板,提供本系统的运算,控制功能。背板提供本系统的冗余,主从切换管理。其系统安装示意图如下所示:
模块-基板搭载安装示意图
注:外部接口中只有4千兆以太网和1个RS232串口,SPI接口是冗余的。调试接口和指示灯是2套,分别对应一个主控模块,示意图为了省地方,将调试接口和指示灯画成一个,但是并不是冗余的调试接口。
本模块卡是针对通讯和相关控制领域的特殊需求对性能,功能和成本进行最优化设计的网络处理控制器卡。本卡以MPC8548处理器为核心,拥有PowerQUICC III e500内核,内部CCB为533MHz,外接64位宽的DDR2内存,自带4路增强型千兆网络控制器,具有强大的网络吞吐能力和运算处理能力。结构设计采用单槽单宽度的PMC,符合IEEEP1386.1标准规范。
嵌入式模块特性:
l 32bit/33MHz PMC/XMC;
l 最高1.33GHz飞思卡尔MPC8548,512K L2Cache;
l 512 MByte DDR2 SDRAM,64位宽;
l 64MByte NOR FLASH,用于引导系统;
l 2个异步串口;
l 4路10/100/1000 Mbps Ethernet接口;
l 1个Local Bus接口,8位数据16位地址;
l 1个XMC接口,支持x4 PCI Express+4x Serial RapidIO;
l 2个GPIO接口,1个I2C总线接口。
MPC8548 PMC模块图片
本方案中的两个MPC8548主板通过一对2x串行RapidIO通讯,进行冗余管理。这一对串行通讯接口速率可以达到1G以上的通讯速率,用户可以通过此串行接口在两个MPC8548主板之间进行通讯,比如主从机的协商,数据的交换等工作。
载板上有1颗FPGA芯片,分别挂在MPC8548主板的PCI总线上,MPC8548分别控制FPGA上的一个定时器和一个SPI总线控制器,此SPI总线控制器为FPGA内核,主板通过PCI总线可以访问。如果哪一方的主板异常,没有按照设置的时间清除定时器,板载的FPGA逻辑会自动判定其主板异常,并输出继电器控制信号切换当前的千兆以太网,RS232串口和SPI总线到正常的主板上去,同时点亮指示灯指明当前工作状态。其中SPI总线由于是FPGA扩展出来的接口,所以SPI不需要经过继电器切换,直接在FPGA内部切换输出。
继电器组选用欧姆龙的高速信号继电器,适合千兆以太网这类高速差分信号的切换。RS232串口的切换和网络类似。
系统冗余管理示意图
本系统的冗余功能包含两部分,其中一部份是用于系统软件功能冗余,另外一部份是硬件功能冗余。
系统软件功能冗余:当两套MPC8548主控板所运行的软件,需要协商主机,备份机地位和进行计算结果比对,中间变量交换等操作的时候可以通过两主控板之间互连的串行RapidIO通讯。软件功能需要用户根据自己的工程项目来编写,本方案只是提供了硬件上的通路。
硬件功能冗余:本系统中包括4个千兆以太网,1个RS232串口,1个SPI总线接口是按照冗余方式设计,其冗余管理的方向切换由一片FPGA芯片来实现。在FPGA芯片里面,我们给两个主控板分别设计了一个类似看门狗之类的冗余切换逻辑单元,需要各自的MPC8548主控板在规定的时间内清除其寄存器,以表示主控板没有处于死机状态。一旦其冗余切换逻辑单元超时,就会自动控制继电器组件,让系统冗余接口导向到正常的主控板上去。
本系统提供的冗余切换逻辑单元,类似看门狗,通过用户设置其寄存器来确定超时的时间。可设置的时间范围为10纳秒~10秒之间。用户根据自己的软件功能情况和系统需要自行设置。需要提醒的是,其超时时间设置得越短,代表系统冗余切换的灵敏度越高,可能导致的系统冗余切换越频繁,并且会需要消耗更多的处理器时间去执行清除冗余定时器的工作。所以冗余超时时间的设置需要用户根据实际情况,设置得越长越好。
由于本系统的有4路千兆以太网冗余,硬件电路中采用继电器组件直接切换以太网的硬件通路。其切换硬件通路的时间由上述的冗余定时寄存器设置确定。但是以太网的特殊性会导致系统软件对以太网的重新协商和链接,就好像把以太网线拔下来,插到另外一台机器,另外一台机器需要重新协商IP地址分配,路由表更新,网速协商等工作。所以以太网的冗余时间会比较长,大致200ms以上。
本系统的冗余功能包含两部分,其中一部份是用于系统软件功能冗余,另外一部份是硬件功能冗余。其中系统软件功能冗余主要是防止CPU主板在没有死机的情况下出现的运算错误,通讯链路切断之类的错误。硬件功能冗余是防止CPU主板出现死机的情况,此功能也常称为备份功能。
当系统软件功能冗余或者硬件功能冗余满足切换条件的时候,系统自动切换当前的对外通讯链路到正常主机侧。其冗余切换判定条件有以下几条:
一.系统同时开机启动的过程中冗余切换电路默认选择A机做为当前通讯链路的主机输出。同时切断B机与外部的通讯链路。并通知B机做备份机。
二.当A机出现网络故障,或者串口通讯故障以及SPI接口故障后,A机自己软件判定是否需要转换当前系统的冗余状态到B机,如果A机需要冗余切换当前系统的冗余状态到B机,那么A机通过PCI接口向冗余电路发送切换指令,指示冗余电路切换当前的通讯链路到B机去。
三.当B机出现条件2情况时一样处理,切换系统当前链路到A机去。
四.对于各个机器如何判定出现网络故障,串口通讯故障或者SPI接口故障,软件可以编程在自己的网络,串口通讯协议里面定义。例如软件规定网络协议发送某个数据包出去后,必须在多久时间内返回应答数据包,如果没有收到应答数据包即判定网络出现故障。串口和SPI同理。
五.当A机和B机都出现故障,都请求切换时,冗余切换电路将通过指示灯报故障,并将当前系统通讯链路切换到A机,直到A机或者B机恢复正常。
六.当A机做为当前系统主机的时候,出现死机,突然断电情况。即当前主机不能有效的对冗余电路发送切换指令的情况下。硬件冗余电路将会产生超时事件,指示冗余电路切换当前通路到B机去。硬件冗余电路参看“3.4 冗余机理”章节。
七.当A机和B机都出现死机情况时,冗余切换电路将通过指示灯报故障,并将当前系统通讯链路切换到A机,直到A机或者B机恢复正常。
本系统中的两个MPC8548主控模块支持用户软件开发,其系统为Vxworks操作系统。我们提供操作系统的BSP软件库,以及各种硬件接口驱动。Vxworks可以提供6.7或者6.8版本。
本系统使用的PMC主板模块尺寸为149mm x 74mm。载板上正反两面各放置1个此模块,再加上载板的外部连接器等,其载板尺寸大约为250mmx138mm,板卡高度小于8HP。
系统采用外部单5V电源供应,功率低于25W,无需风扇。电源接口满足GJB181要求,在电源入口处设计有防浪涌,脉冲串等滤波电容和二极管,比如附加TVS管,有源钳位电路等。
待定。
本设计考虑适应GJB151电磁兼容标准。PCB板卡设计以及布线的时候考虑到电磁干扰影响。比如时钟线用地线包裹,差分线对的保护,以及大面积铺铜。PCB板预留安装孔,可以安装屏蔽外壳。板卡地线与机箱地线隔离处理等手段。
联系方式:flying405@gmail.com TEL:13361819871