FPGA单芯片四核二乘二取二的安全系统_第1页
FPGA单芯片四核二乘二取二的安全系统_第2页
FPGA单芯片四核二乘二取二的安全系统_第3页
FPGA单芯片四核二乘二取二的安全系统_第4页
FPGA单芯片四核二乘二取二的安全系统_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 FPGA单芯片四核二乘二取二的安全系统 引 言 二乘二取二系统的两套计算机系统各有两个CPU,并且所有构造和配件完全相同。两套系统之间采取双机热备份,大幅提高了系统可靠性,在一些领域得到了广泛应用。基于二乘二取二容错构造的计算机联锁系统在国外已有成熟的应用,如K5B和E132,其良好的可靠性和安全性引起国内业界的广泛关注。 系统可靠性冗余设计是提高系统可靠性的重要方法,但由于冗余会增加系统成本、体积和重量,因此必须合理地选择冗余构造和数量。对价格昂贵、重量大、体积大的冗余部分,更应作合理考虑。由于二乘二取二硬件冗余技术是通过多个相同部件完成同一功能,在提高系统可

2、靠性的同时也存在一些缺陷: 增加了系统的成本、构造、重量和所需空间; 在某些情况下硬件技术的应用受到限制; 对大型复杂系统均采用硬件冗余技术是不可能的。 以上缺陷将限制二乘二取二冗余技术的应用,Fusion和coreABC的组合为以上问题提供了良好的解决方案。 1 二乘二取二系统 二乘二取二系统有4个CPU,两个CPU组成一组。每两个CPU的输出经比较器表决输出,两个CPU和一个比较器表决系统组成一个子系统。两个子系统具有完全相同的硬件构造,一个为主单元,一个作为备用单元。开机后两个子系统独立同步工作,系统取工作单元的输出为系统输出。当两个子系统均正常工作时,系统取主单元的输出为系统输出,若备

3、用单元发生故障,系统输出仍为主单元的输出,备用单元进入维修状态。当主单元发生故障时,系统切换至备用单元,此时系统输出为备用单元的输出,主单元进入维修状态;一旦主单元维修完毕,可以正常工作时,则系统切换至主单元,取主单元的输出为系统输出。若主单元和备用单元均无法正常工作,则系统故障,系统无法继续正常工作。除子系统故障时系统自动切换外,系统还具有手动切换的功能。由于两个子系统具有完全相同的构造和开展完全相同的工作,所以手动切换不影响系统的正常工作。导致系统故障的因素有很多,根据不同的应用场合,需要针对不同的故障开展检测和维修。二乘二取二系统的工作示意图如图1所示。 2 系统的具体实现 在设计时,首

4、先要考虑FPGA门电路的数量,以及嵌入4个软核所要占用的门阵列资源。其次,要考虑其他硬件资源,比方时钟、存储器等。综合各方面的考虑,本设计选择Actel的Fusion StartKit数模混合FPGA实现二乘二取二系统。Fusion StartKit数模混合FPGA拥有600万门门阵列,片内集成了Flash存储器、RAM、FIFO和模拟模块;片外提供48 MHz的晶振;支持coreABC软核的嵌入。 2.1 软核的嵌入 coreABC是一种具有高可配置性的软核,占用资源少,特别适于低端应用。它能够挂载可编程外围总线(APB),支持APB总线下的外围设备,通过coreAI直接控制ACM块,还可配

5、置8位、16位和32位APB接口。可以通过APB总线控制coreAI核,开展电压、电流采集,以及模数转换。图2给出一种配置方案。coreABC可使用软硬代码存储方式,本设计采用硬代码存储方式。硬代码存储方式只需占用门阵列资源,而软代码存储方式要占用Flash存储口资源。由于FPGA片内集成了2个Flash存储口,嵌入4个核时Flash存储口资源缺陷。Actel coreABC的推出对实现可配置的小系统极具意义,它使用很少的系统资源就可搭建起完整的控制单元。 2.2 比较电路的实现 二取二CPU的比较电路采用冗余设计,它主要负责对coreABC软核的总线信号开展比较判决,保证系统正常运行,其电路

6、图如图3所示。比较电路的工作原理为:片外存放器分别从两个CPU获得总线数据信息,经异或模块OE1=A1+A2,OE2=B1+82开展判断,分别控制数据锁存器输出,并配合时钟信号控制锁存器同步输出;从锁存器输出的数据经或电路处理后形成比较结果,即DATA_OUT=D1+D2。若比较结果确认CPU此次运算一致,则系统正常输出;若比较电路确认CPU运算有误,则重新开展运算。 此外,在对CPU输出数据开展比较的同时,比较电路还对CPU是否正常工作开展故障诊断。诊断正常则反应CPU正常工作信息,使CPU开展下一周期的工作;诊断为故障则反应CPU错误信息,此时系统切换,取另一组子系统的输出为系统输出,故障

7、子系统进入维修状态。这样确保了系统的可靠性、安全性。 2.3 系统切换 系统切换是二乘二取二系统首要的功能要求,当工作单元出现故障,或者手动切换时,要求开展系统切换。本设计开展了两组故障检测。 首先,为每个子系统的两个coreABC分别设置两个看门狗定时器,要求两个coreABC向各自的看门狗发送周期自检信号。若看门狗在溢出前收到该信号则CPU正常工作,否则溢出,该CPU判为故障。子系统的两个CPU中,只要有一个出现故障,在备机正常的情况下,系统就开展切换。其次,将CPU输出结果和子系统输出结果开展比较,若相同则系统正常,否则系统故障。若备用单元正常,则系统切换,取备用单元输出为系统输出。 将

8、主单元和备用单元的看门狗溢出信号分别记为WD_PLUSE_1、WD_PLUSE_2,比较器判决信号记为COM_RESULT_1、COM_RESULT_2,手动切换信号记为SWITCH_1、SWITCH_2。只要系统故障或手动切换时,系统开展切换,由此可得切换信号为: AUTO_RST_1=WD_PLUSE_1 COM_RESULT_1 SWITCH_1 AUTO_RST_2=wD_PLUSE_2 COM_RESULT_2 SWITCH_2 系统切换通过以下语句实现: SYS_OUT=(AUTO_RST_1AUTO_RST_2)?1bz:(AUTO_RST_1)?COM_OUT_2:COM_OU

9、T_1); 若主机正常工作,则输出取主机的比较输出;若主机故障,在备用单元正常时,则系统切换取备用单元的输出;若主机修复,则切换到主机工作;若两个子系统均故障,则系统故障。实现的流程如图4所示。 对二乘二取二系统构造分析可知,二乘二取二构造同其他冗余方法双模和三模构造相比,系统的安全性可以在较长时间内保持在一个很高的水平。同时二乘二取二构造的系统可靠性和平均寿命等指标均较高,所以是一种综合性能比较好的冗余构造。 结 语 本文选择了合适的开发板资源,提出一种在FPGA中嵌入4个coreABC软核,实现二乘二取二系统的方法。恰当地利用单芯片有限的资源,嵌入4个coreABC软核,遵循二乘二取二系统的工作原理,合理实现二取二总线比较判决、故障检测和二乘系统切换,经综合后烧入,检验系统功能完全正常。 本设计的优势在于单芯片的功耗更小、电路设计更加便捷、系统可靠性和安全性更高、体积小、易维护和易升级换代,符合现阶

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论