一种针对程序存储器单粒子多位翻转的加固系统
- 国知局
- 2024-07-31 19:16:48
本发明涉及航空、航天数据处理,特别涉及一种针对程序存储器单粒子多位翻转的加固系统。
背景技术:
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本文地址:https://www.jishuxx.com/zhuanli/20240731/182137.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表