一种针对程序存储器单粒子多位翻转的加固系统

文档序号:35998788发布日期:2023-11-16 11:28阅读:97来源:国知局
一种针对程序存储器单粒子多位翻转的加固系统

本发明涉及航空、航天数据处理,特别涉及一种针对程序存储器单粒子多位翻转的加固系统。


背景技术:

1、随着复杂空间任务对在轨数据处理、运算能力要求越来越高,星载数据系统需要应用更高性能的cpu和fpga,比如高性能的arm处理器、xilinx的7系列fpga。高性能的处理器和fpga的程序存储器多存储在nor flash和nand flash中。而90nm工艺以下的cmos器件,如65nm、28nm、16nm工艺,对空间单粒子效应更敏感。发生单粒子翻转事件时,更多的以多位翻转(multi-bit upset,mbu)为主。mbu是在轨使用高性能器件需要解决的关键问题。

2、nor flash和nand flash是高性能处理器、fpga的程序存储器,是保证处理器、fpga正常工作至关重要的部件。但nor flash和nand flash内部存储单元在太空辐射环境下极易发生单粒子效应,导致电路逻辑和功能发生改变,是影响卫星安全和任务的重要因素。随着器件工艺尺寸的减小,nor flash和nand flash的多位翻转mbu是亟待解决的问题。

3、根据研究发现,单次辐射引起的mbu并不是均匀地分布在各个字中,而是具有一定的错误图样。当错误数较多时,mbu将影响上下相邻两个字,以包含“田”字形的图样为主;当错误数较小时,图像主要为“l”和“田”字形,错误图样如图1所示。


技术实现思路

1、现有技术中多位纠错码算法存在复杂延时高、数据交织可靠性不强等技术缺陷,本发明的目的在于克服上述现有技术的缺陷,提供针对cpu和fpga程序存储器单粒子多位翻加固系统。

2、为了实现上述目的,本发明提出了一种针对程序存储器单粒子多位翻转的加固系统,用于对星载cpu和fpga的程序存储器发生多位翻转时进行检测和纠正,其特征在于,所述系统部署在加载控制fpga上,包括:

3、流程控制模块,用于根据配置信息控制从cpu中或程序固化端口的uart核读取cpu或fpga程序文件至ecc编码模块,从ecc解码模块读取解码后的数据,转换时序后输出至cpu和/或fpga,用于实现cpu和/或fpga程序在轨重构;用于控制cpu和fpga与程序存储器的速率匹配,还用于将加载控制fpga的工作状态发送至上位机;

4、ecc编码模块,用于对程序文件进行ecc编码;

5、交织模块,用于对ecc编码后的数据进行数据交织;

6、解交织模块,用于实现数据的解交织;

7、ecc解码模块,用于对解交织后的数据进行ecc解码,再输入流程控制模块;和

8、端口选择模块,用于根据配置信息选择操作的程序存储器,将交织后数据输入对应的程序存储器控制模块,还用于从对应的程序存储器控制模块读取数据并输出至解交织模块;

9、所述加载控制fpga为反熔丝或flash型fpga。

10、作为上述系统的一种改进,所述存储器控制模块包括:

11、nor flash控制模块,用于对nor flash程序存储器实现写入、读出和擦除操作;和

12、nand flash控制模块,用于对nand flash程序存储器实现写入、读出和擦除操作。

13、作为上述系统的一种改进,所述nor flash程序存储器和nand flash程序存储器采用8位或16位存储,当采用8位存储时,将相邻地址拼接为16位;数据存储形式为非连续比特存储,多余位填充在字节中间,以增加有效比特之间间距,减少多位翻转造成的单字节中的多位错。

14、作为上述系统的一种改进,所述系统还包括:

15、uart核,用于实现uart协议,通过rs422接收指令和程序文件并转发给流程控制模块,内部设有fifo缓存,所述指令包括cpu和fpga进行重构的指令。

16、作为上述系统的一种改进,所述流程控制模块实现在轨重构具体包括:

17、通过加载控制fpga的rs422串口接收重构指令和程序文件,根据重构指令对norflash程序存储器或nand flash程序存储器进行擦除和写入,支持按页擦除和写入;若部分程序发生不可纠错误,卫星地面测控站根据发生ecc错误的地址,按页进行上传,或从备份中读取对应程序,重新写入;或

18、通过cpu的rs422串口,接收重构指令和程序文件,由cpu写入加载控制fpga,根据重构指令对nor flash程序存储器或nand flash程序存储器进行擦除和写入,支持按页擦除和写入。

19、作为上述系统的一种改进,所述流程控制模块控制cpu和fpga与程序存储器的速率匹配具体包括:

20、当收到cpu读程序存储器有效信号,根据地址顺序读取交织的数据,进行解交织和ecc解码,若解码无误或发生1比特错误纠正后,将数据经cpu数据总线发送到cpu;若发生不可纠错误,记录现场,看门狗超时输出复位信号给cpu,cpu重新启动,从备份程序启动;

21、当收到sram fpga加载指令后,根据地址顺序读取交织的数据,进行解交织和ecc解码,若解码无误或发生1比特错误纠正后,将数据经刷新总线发送到sram fpga;若发生不可纠错误,记录现场,供cpu查询,从备份程序启动,重新加载sram fpga。

22、作为上述系统的一种改进,所述配置信息根据上下拉电阻或cpu的总线接口或uart核接口进行配置,所述配置信息包括:程序存储器及其位宽的选择、存储程序的份数、刷新总线的速率、刷新时间间隔和待刷新fpga的类型。

23、作为上述系统的一种改进,所述ecc编码模块对程序文件进行8位数据的汉明码(8,5)编码,或16位数据的汉明码(16,6)编码。

24、作为上述系统的一种改进,所述交织模块采用8个8位数据交织或4个16位数据交织存储的方法,最多可纠8位翻转。

25、作为上述系统的一种改进,所述ecc解码模块的处理过程包括:

26、对解交织后的数据进行汉明解码,当出现1比特错误,经纠一检二后输入流程控制模块,当出现2比特及以上错误,上报给流程控制模块,当没有出现错误,则将解码后数据输入流程控制模块。

27、与现有技术相比,本发明的优势在于:

28、1、本发明的针对cpu/fpga程序存储器单粒子多位翻的加固方法,将多位翻转转换为多个单位翻,通过组合逻辑实现汉明编译码,并且提出新的交织图样,具有延时短、逻辑简单、效率高、可靠性高的优点;

29、2、本发明的针对cpu/fpga程序存储器单粒子多位翻的加固方法,可以通过上下拉电阻、cpu的总线接口或者uart核接口对加载控制fpga进行配置,可以适用于多种处理器和fpga的程序存储器,具有灵活度高、适应性好的优点。



技术特征:

1.一种针对程序存储器单粒子多位翻转的加固系统,用于对星载cpu和fpga的程序存储器发生多位翻转时进行检测和纠正,其特征在于,所述系统部署在加载控制fpga上,包括:

2.根据权利要求1所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述存储器控制模块包括:

3.根据权利要求2所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述nor flash程序存储器和nand flash程序存储器采用8位或16位存储,当采用8位存储时,将相邻地址拼接为16位;数据存储形式为非连续比特存储,多余位填充在字节中间,以增加有效比特之间间距,减少多位翻转造成的单字节中的多位错。

4.根据权利要求2所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述系统还包括:

5.根据权利要求2所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述流程控制模块实现在轨重构具体包括:

6.根据权利要求2所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述流程控制模块控制cpu和fpga与程序存储器的速率匹配具体包括:

7.根据权利要求6所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述配置信息根据上下拉电阻或cpu的总线接口或uart核接口进行配置,所述配置信息包括:程序存储器及其位宽的选择、存储程序的份数、刷新总线的速率、刷新时间间隔和待刷新fpga的类型。

8.根据权利要求1所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述ecc编码模块对程序文件进行8位数据的汉明码(8,5)编码,或16位数据的汉明码(16,6)编码。

9.根据权利要求1所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述交织模块采用8个8位数据交织或4个16位数据交织存储的方法,最多可纠8位翻转。

10.根据权利要求1所述的针对程序存储器单粒子多位翻转的加固系统,其特征在于,所述ecc解码模块的处理过程包括:


技术总结
本发明公开了一种针对程序存储器单粒子多位翻转的加固系统,该系统部署在加载控制FPGA上,包括:流程控制模块,用于根据配置信息读取CPU或FPGA程序文件至ECC编码模块,从ECC解码模块读取解码后数据转换时序后输出至CPU和/或FPGA;实现CPU和/或FPGA程序在轨重构和速率匹配,将加载控制FPGA的工作状态发送至上位机;ECC编码模块用于对程序文件进行ECC编码;交织模块用于数据交织;解交织模块用于解交织;ECC解码模块用于ECC解码再输入流程控制模块;端口选择模块用于根据配置信息选择程序存储器,将交织后数据输入,还用于从存储器控制模块读取数据并输出至解交织模块。

技术研发人员:周莉,李旭峰,朱岩,安军社
受保护的技术使用者:中国科学院国家空间科学中心
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1