APP下载

民用飞机单粒子翻转问题研究

2017-04-03唐志帅王延刚刘兴华

电气自动化 2017年6期
关键词:存储单元民机存储器

唐志帅, 王延刚, 刘兴华

(上海飞机设计研究院,上海 201210)

0 引 言

单粒子翻转(Single Event Upset,SEU)是由于空间粒子辐射而导致存储单元发生位翻转(即内容由0变为1,或由1变为0)。SEU效应是瞬态的、非破坏性的,但是它可能会改变微电子电路的RAM (Random Access Memory, 随机访问存储器)构型、对可编程电子硬件所执行的功能产生不利影响[1]。

现代民机飞控、航电等系统高度复杂,其大量采用了基于RAM的复杂电子硬件,例如微处理器,存储器,FPGA (Field Programmable Gate Array, 现场可编程门阵列)等。这些设备中包含SEU敏感部件,一旦受到SEU效应影响,则可能导致计算结果错误、程序执行序列错误,工作异常,甚至是系统的崩溃。因此为保证他们所执行功能的可用性和完整性,应考虑引入特殊设计特征或执行额外的检查,并对SEU效应的安全性影响进行分析。

1 航空应用中的芯片选择

目前在民机机载设备的研制过程中,得到了广泛应用的芯片主要包括专用集成电路器件(Application Specific Integrated Circuit,ASIC)和FPGA。

ASIC芯片能够实现高密度、小体积和低功耗,但ASIC制片成本和风险较高,欠缺灵活性。ASIC一旦制造完成,如果需求发生更改则需要较长更改周期和巨额重制费用,因此ASIC适用于不需要过多特殊定制、能够大规模量产应用的场合,且要求设计需求“一次正确”。ASIC虽然对SEU敏感,但相对来说具有较好的抗SEU性能。

随着电子工业的飞速发展,FPGA由于兼顾高性能及灵活性在数字系统设计及ASIC原型前端设计中得到广泛的应用。FPGA的主流技术有基于反熔丝、基于SRAM (Static Random Access Memory,静态随机访问存储器)和基于Flash三种。

(1)基于反熔丝的FPGA在编程后即使掉电也不丢失数据,使用较方便,稳定可靠,有比较好的抗SEU性能。但传统的反熔丝FPGA由于不可重复编程以及成本高昂等原因逐渐被Flash型和SRAM型FPGA所代替。

(2)基于SRAM的FPGA,可大大减少采购成本,提高设备性能,缩短开发周期,也可反复编程使用,因此SRAM型FPGA在机载复杂电子设备中得到了越来越多地关注和应用。SRAM型FPGA能够应用于辐射环境中,主要归功于其相对于ASIC低廉的价格,以及其他类型FPGA没有的可重复编程能力。但是SRAM型FPGA相比于其他结构的器件,更易受到辐射效应中的单粒子翻转效应的影响。一方面,近年来FPGA芯片工艺不断发展,从150 nm到今天的14 nm,特征尺寸的减小加剧了基于SRAM的FPGA的SEU发生;另一方面,芯片的工作频率不断提升,使得基于SRAM的FPGA对SEU更加敏感,这些都对基于SRAM的FPGA在民机上的应用造成了限制。因此在使用SRAM型FPGA时,必须考虑对器件进行SEU方面的有效加固,以减缓SEU效应带来的影响[2]。

(3)基于Flash的FPGA与SRAM型FPGA相比,在抗SEU影响方面具有较大优势,可靠性高。一般来说,Flash型FPGA是一种单芯片解决方案,不需要外部配置器件,上电即可运行且断电之后能够保存配置代码,具有低功耗、高性能的布线结构。但其写入用户电路的速度稍慢于SRAM型FPGA,而且相关设计和制造工艺没有SRAM型FPGA成熟,市场上可选的产品相对有限。

表1给出了这四种芯片的综合比较信息。

表1 ASIC、反熔丝FPGA、SRAM型FPGA、 Flash型FPGA综合比较

目前在民机机载设备上应用较多的是ASIC、SRAM型FPGA、Flash型FPGA(根据使用场合不同各有侧重)。由于这些器件对SEU效应的敏感,因此在民机应用中需要针对SEU效应进行加固和减缓。

2 SEU减缓技术

本节总结了几种常见的SEU减缓措施,力求通过这些设计方法将SEU带来的影响减缓到最小。

2.1 三模冗余(Triple Module Redundancy, TMR)

复杂电子硬件内部通过设置具有三模冗余的同步动态存储器,防止随机故障的发生。例如某型飞机的飞控计算机采用了三余度的双倍速率同步动态存储器,各自具有独立控制器,能够实现位对位表决和修复位故障的连续软件自监控功能,可以有效预防单粒子翻转带来的影响[3]。

图1为典型的基于硬件的三模冗余逻辑原理示意图。三个相同的模块M1、M2、M3分别接收三个相同的输入,产生的三个结果送至投票表决模块。表决模块的输出取决于三个输入的多数。若有一个模块发生SEU故障,则另两个正常模块的输出可将故障模块的输出投出去,不会在表决模块输出产生差错[4]。

图1 三模冗余TMR表决机制

TMR技术的优点在于速度快,缺点是所需附加硬件资源多,从而造成功耗、质量及体积增大。

2.2 纠错码(Error Correction Code, ECC)技术

纠错码是一种针对SEU常见的减缓方法,可使用特定的编码和解码规则检测和纠正存储器中的故障。纠错码的基本原理是在信息编码序列上附加冗余编码,然后进行存储和传输,这些冗余编码与信息编码之间存在某种确定的相互关联。接收方可以通过校验冗余编码与信息编码之间的关联,发现是否受到SEU影响,继而实现故障隔离或者利用编码算法将其纠正。

FPGA的ECC编码目的就是为了在读取存储单元的内容时,能够发现差错并将其纠正,一般采用既能检错又能纠错的编码方法,如CRC (Cyclic Redundancy Check,循环冗余校验)、海明码(Hamming Code)等。根据航空工业应用情况,采用这两种编码方案在确定码长的情况下一般至少能够纠正一位错误,如图2所示。

图2 典型的纠错码技术功能框图

2.3 擦洗(Scrubbing)

机载电子设备上电时,通过配置电路将配置存储单元的内容写进FPGA中。当FPGA受到SEU效应影响时,相应存储单元将出现“位翻转”现象。通过周期性的擦洗,即刷新存储单元中的内容,可以缩小存储单元受到SEU影响而发生位翻转的暴露时间[5]。

经验表明频繁地擦洗可以直接地提高存储器的抗SEU能力,且擦洗时间间隔减小,安全性水平有显著提高。擦洗无须冗余的附加硬件逻辑资源,仅需适当增加自适应的周期性刷新操作,增加了系统设计实现的复杂度。

擦洗技术仅适合片外FPGA配置存储单元的抗SEU设计,该方法本身并不能对存储内容是否受到SEU影响进行判断,因此数据并不一定可靠。擦洗本质上不能解决由SEU效应带来的问题,仅提供了一定程度上的减缓。

2.4 系统监控

系统可以设置不同层级的监控器,对SEU影响进行监控,并及时对故障进行隔离。系统监控是一种被动的SEU减缓技术,其目的是隔离故障和重构系统,最小化故障带来的影响。系统监控不仅仅只针对SEU影响,其作为提高飞机安全性的必要措施和实现故障检测的有效途径,在民机各系统设计中得到了广泛应用。

在设备层级,可以通过命令-监控架构对指令和数据进行位对位比较,一旦发现不匹配,启动相应的故障响应措施,并给飞机中央维护系统报故障信息,着陆后进行维护操作。在系统层级,机载系统核心计算机通过采集传感器和其他设备工作数据,进行回绕监控、总线数据健康监控等,发现故障后切换至冗余通道,对系统进行重构。

3 结束语

本文针对SEU效应,分析了机载系统经常使用到的芯片类型及优缺点,并总结了适用的SEU减缓技术,可指导民机机载复杂电子硬件的总体设计与架构权衡。

参考文献:

[1] 邓先坤. SRAM型FPGA SEU故障注入系统设计[D]. 哈尔滨:哈尔滨工业大学,2013.

[2] 郑晓云, 陶淑苹, 冯汝鹏, 等. SRAM型FPGA抗单粒子翻转技术研究[J]. 电子测量技术, 2015,39(38): 59-63.

[3] 黄影, 张春元, 刘东. SRAM型FPGA的抗SEU方法研究 [J]. 中国空间科学技术, 2007,27(4): 57-64.

[4] 陈江渝. 基于三模冗余综合电子系统的研究[D]. 浙江:浙江大学,2013.

[5] 黄锦杰. 抗单粒子翻转SRAM_based FPGA测试系统的研究与设计[D].上海:复旦大学,2011.

猜你喜欢

存储单元民机存储器
一种28 nm工艺下抗单粒子翻转SRAM的12T存储单元设计
静态随机存储器在轨自检算法
基于Stateflow的民机液压控制逻辑仿真与验证
浮点类型有效位数计算与应用分析
数据在计算机内存中的存储形式及实验验证
民机复合材料的适航鉴定
基于数字虚拟飞行的民机复飞爬升梯度评估
MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
民机研制风险管理浅析
存储器——安格尔(墨西哥)▲