摘要:比较讨论了航天器数据存储器中汉明码和TMR两种典型纠错系统的原理、实现以数据可靠性的估计,在此基础上提出了一种集成这两种系统模式并可在实际应用中根据需要切换模式的纠错系统设计方案,探讨了该系统的特点和优势,介绍了利用FPGA实现该系统的过程和经验。
|
空间飞行器在太空环境中面临的主要问题之一就是辐射。太空中的各种高能粒子(包括高能质子、中子、α粒子、重离子等)具有很高的动能,通过时可能会影响半导体电路的逻辑状态,甚至对半导体材料造成损害。单个高能粒子对电子器件功能产生的影响称之为单粒子效应。其中,导致存储内容在'0'、'1'之间发生变化的单粒子翻转(SEU)问题特别受到关注。
|
1 汉明码与TMR方案比较 |
![]() |
计算结果表明,在前述参数范围内,汉明码纠错的差错率约是TMR的5倍。而且,两种系统的差错率都与σ的平方近似成正比。可见即使采取内存纠错,设法降低σ仍是提高系统可靠性的主要措施。
|
2 可变方案配置 从上述比较可以看出,两种方案各有优势,适合在不同的环境条件和数据安全需求下应用。而星载计算机的通用性也要求数据存储器具有一定程度的灵活性。在综合上述两种方案的基础上,结合目前飞速发展的现场可编程逻辑门阵列(FPGA)技术,提出了一种可以根据需要在线改变配置,分别实现上述两种EDAC方法的数据存储器方案。 2.1 可变内存配置 前述两种EDAC方法对于内存的配置是不同的。(22,16)汉明码一般采用16bit+8bit的内存芯片器件实现。而TMR则采用3×16bit的芯片实现。若要支持两种方法,必须为存储器设计一种特别的内存配置方式。这是模式可变的基础和关键。图1为可变内存配置方案。 |
![]() |
这个数据存储系统是由3个位于同一条地址总线上的16 bit内存模块组成。每个内存模块还可以单独片选其高字节或低字节。这样通过片选信号ah、al、bh、bl、ch、cl的控制,实际上有6个宽度为8bit的内存模块可以单独访问。48bit(3×16bit)的数据线全部接入EDAC控制模块。当系统工作在TMR模式时,ah、al、bh、bl、ch、cl被相同的片选信号驱动。这样就构成了TMR需要的一个3×16bit冗余内存空间。当系统工作在汉明码模式时,ah,al、bh一组,bl、ch、cl一组,分别被相同的片选信号驱动,构成了两个独立的16+8bit存储空间。对于(22,16)汉明码,每一个空间实际使用16+6bit。在这种配置下,地址空间比TMR模式下增加一倍。另外,系统还可以工作在无差错控制模式下。这时,ah、al一组,bh、bl一组,ch、cl一组,分别被相同的片选信号驱动,构成了三个独立的16bit 存储空间。这种配置下的内存地址空间比TMR模式下增加两倍。在这些配置模式中,片选的地址译码都在EDAC控制模块中完成。 2.2 可变纠错方案的系统结构 一个基于上述内存配置方案的模式可变数据存储系统以一个RAM芯片组作为内存载体。可变纠错方案的系统结构见图2。除了内存模块外,还应该包含以下功能模块: |
![]() |
(1)TMR读写取判决模块。TMR工作模式下,完成读取和写入操作中的冗余判决和数据分配逻辑。这个模块的具体设计已经在1.2节中详细介绍了。
|
3 硬件实现 3.1 FPGA的编程与实现 通过对目前广泛使用的FPGA器件的分析和比较,选择使用了具有较高性价比的Xilinx Spartan系列FPGA进行原型试验。该系列产品还具有3.3V电源供应兼容5V I/O、休眠状态、更快的逻辑速度等特点。为避免FPGA本身受单粒子翻转效应影响,在实际的航天任务中,将采用基于熔丝技术的Actel公司的FPGA产品。 本应用具有很强的模块性,笔者采用了标准VHDL语言描述,结构清晰,同时为将来的移植提供了方便。模块的划分基于图2的思想,又同时考虑到VHDL模块的习惯要求以及实践中的可综合性和方便性。在具体的VHDL实现过程中,该系统由五种VHDL实体(entity)模块组成: (1)3bitcomp:TMR的比特逻辑单元,实现比特级的信息备份和纠错判决; (2)tmr:TMR功能模块,包括16个3bitcomp实体(对应16位总线); (3)hamming汉明码编码/纠错功能模块; (4)hammeminf:hamming实体的22位内存接口与48位内存数据线之间的转换接口; (5)eadc:层实体,包括以上4种实体和必需的逻辑控制、数据接口等。 它们的关系如图3所示。 |
![]() |
系统使用了Active-HDL软件进行功能仿真,综合与实现都使用了Xilinx提供的Foundation系列软件。在RTL综合过程中生成的电路图上注意到,使用VHDL描述双向三态门时必须保证所有条件下都指出明确的状态,否则在RTL综合后的逻辑电路不能实现双向三态的功能。 3.2 时序特性 时序特性是内存系统的关键指标,直接决定着内存系统的工作频率和整个OBC系统的运行速度。由于采用了FPGA器件,对该内存系统的时序特性分析必须通过FPGA实现后的时序仿真来加以研究。在FPGA实现过程中,通过约束条件来优化工具软件的自动设计生成过程。经过反复优化,在Xilinx XCS30XL上实现后的仿真结果如图4所示。可以看出,TMR模式确实拥有较好的时序特性,延时较短。而功能逻辑为简单的无纠错模式由于在实现过程中为了优化其他模块做出了延时上的牺牲。 |
![]() |
通过上述理论分析、系统设计和硬件实验,可以看到:通过FPGA实现的可变模式卫星数据存储器纠错系统具有功能完善、适应性强、使用灵活方便、硬件电路简单等特点。随着FPGA技术的广泛使用,可以设计出功能更强大、使用更方便的专用系统,以充分满足空间飞行器的特殊要求。 |
参考文献 5. TMR datasheet https://www.dzsc.com/datasheet/TMR_1176775.html. |
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。