一种动态刷新的弹载计算机抗单粒子翻转软件加固方法与流程

文档序号:32005372发布日期:2022-11-02 12:56阅读:177来源:国知局
一种动态刷新的弹载计算机抗单粒子翻转软件加固方法与流程

1.本发明属于弹载计算机领域,具体涉及一种动态刷新的弹载计算机抗单粒子翻转软件加固方法。


背景技术:

2.弹载计算机通常采用高性能数字信号处理器(digital signal processor,dsp)进行信号处理、通信和飞行控制。在空间辐射环境中,容易受到空间高能等离子体、质子、电子及重离子等辐射形式的轰击,导致dsp处理器(1)的内部存储单元状态改变,存储数据翻转,即单粒子翻转(single event upset,seu),当seu累积到一定程度或发生在dsp的取指、指令译码和流水线执行等关键部件的状态机中时,则可能造成dsp功能异常。
3.当前seu软件加固的一般方式是对被保护数据运用“三部冗余”技术,即将相同的数据分别存储在dsp处理器(1)的内部存储单元的不同位置,使用时,将三组数据同时读取出来进行对比,采信其中两组相同数据的技术。
4.现有技术可以一定程度抑制seu的危害,但存在以下缺陷:
5.显著增加dsp内部存储空间需求,需求为加固前的三倍;
6.由于每次执行数据读写操作时均需读取或写入三次并进行决策,会大量增加计算负荷,使dsp实际运算性能下降;
7.当三组数据互不相同时,无法确定哪组数据正确,即seu加固失效。


技术实现要素:

8.(一)要解决的技术问题
9.本发明要解决的技术问题是如何提供一种动态刷新的弹载计算机抗单粒子翻转软件加固方法,以解决现有的抗单粒子翻转软件加固方法显著增加dsp内部存储空间需求,大量增加计算负荷,使dsp实际运算性能下降,seu加固失效等方面的问题。
10.(二)技术方案
11.为了解决上述技术问题,本发明提出一种动态刷新的弹载计算机抗单粒子翻转软件加固方法,该方法应用于弹载计算机,弹载计算机包括dsp处理器(1)与非易失存储器(2),dsp处理器(1)与非易失存储器(2)通过emif总线(3)相连接;采用seu软件加固方法的软件运行在dsp处理器(1)中,非易失存储器(2)用于对被保护数据进行备份,emif总线负责支持dsp处理器(1)与非易失存储器(2)间的数据交互;系统初始化时,dsp处理器(1)首先将被保护数据分区并计算其crc校验和,然后在非易失存储器(2)中对被保护数据和crc校验和进行备份;在弹载计算机工作过程中,dsp处理器(1)定时对位于其内部存储单元的被保护数据进行crc校验,以识别是否出现seu,当seu出现时,将存储在非易失存储器(2)中的备份数据更新到dsp处理器(1)的内部存储单元,以实现错误纠正。
12.进一步地,所述被保护数据为总长度为l的被保护数据,按长度k字节划分为n个数据块,每个数据块分别称为b1、b2、b3、

、bn。
13.进一步地,所述crc校验和通过使用crc16-ccitt校验算法计算得到。
14.进一步地,该软件加固方法的操作步骤包括:
15.第一步:弹载计算机上电,dsp处理器(1)的程序开始运行;将总长度为l的被保护数据,按长度k字节划分为n个数据块,每个数据块分别称为b1、b2、b3、

、bn;
16.第二步:按照一定地顺序,使用crc16-ccitt校验算法分别计算数据块b1、b2、b3、

、bn的crc校验和,称为r1、r2、r3、

、rn;
17.第三步:将分块后的被保护数据和crc校验和,按顺序备份在非易失存储器(2)中;
18.第四步:配置dsp定时器,设置定时中断为m毫秒;
19.第五步:在定时中断触发时,从dsp处理器(1)的内部存储单元按照b1、b2、b3、

、bn的顺序,每次读取一个数据块的数据,然后使用crc16-ccitt校验算法计算其crc校验和,再与存储在非易失存储器中的crc校验和r1、r2、r3、

、rn做比较;
20.第六步:如果第五步中dsp处理器(1)的内部数据的crc校验和等于非易失存储器(2)中备份的crc校验和,则认为当前数据块未发生seu,跳转返回第五步继续读取下一个数据块;如果dsp处理器(1)的内部数据的crc校验和不等于非易失存储器(2)中备份的crc校验和,则认为当前数据块已发生seu,继续执行第七步;
21.第七步:从非易失存储器(2)中,读取当前已发生seu的数据块对应的备份,将dsp处理器(1)的内部存储单元中的数据刷新为正确值,然后跳转返回第五步继续读取下一个数据块,直到全部的数据块均比较完成。
22.进一步地,所述第三步中,将被保护数据和crc校验和按照b1、r1、b2、r2、b3、r3、

、bn、rn的顺序存储在非易失存储器(2)中。
23.进一步地,所述第三步中,将被保护数据和crc校验和按照bn、rn、bn-1、rn-1、

、b1、r1的顺序存储在非易失存储器(2)中。
24.进一步地,经n次校验和刷新操作后,dsp处理器(1)内部的被保护数据与非易失存储器(2)中备份的数据相同。
25.进一步地,根据seu的影响强度不同调整每个数据块的长度k的值,从而调整每次执行crc计算所需消耗的时间和刷新操作所需消耗的时间。
26.进一步地,根据dsp计算操作的时间片划分调整定时中断的触发间隔m。
27.进一步地,在dsp空闲时进行校验和刷新操作。
28.(三)有益效果
29.本发明提出一种动态刷新的弹载计算机抗单粒子翻转软件加固方法,本申发明提出的动态刷新的弹载计算机抗seu软件加固方法能够解决的技术问题是:
30.不增加dsp内部存储空间需求;
31.通过使用crc16-ccitt校验算法校验数据的正确性,识别发生seu的数据块,再根据校验结果动态刷新dsp处理器(1)的内部存储单元的数据,seu加固处理操作的执行时间更少,计算资源占用率更低;
32.按一定的时间周期执行seu加固处理,dsp计算资源分时复用,对正常程序执行流程的影响更小;
33.可以灵活调整数据块的长度和执行seu加固处理的周期,可以在计算资源占用量和seu加固效果之间取得平衡。
附图说明
34.图1为弹载计算机dsp与非易失存储器连接原理图;
35.图2为动态刷新的弹载计算机抗seu软件加固方法流程图;
36.图3为非易失存储器备份数据示意图。
具体实施方式
37.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
38.本发明的目的是提出一种既不增加dsp内部存储空间占用、不显著降低dsp实际运算性能,又能显著降低单粒子翻转危害的方法。
39.本发明提出的动态刷新的弹载计算机抗seu软件加固方法应用在弹载计算机中,弹载计算机包括dsp处理器(1)与非易失存储器(2),dsp处理器(1)与非易失存储器(2)通过emif总线(3)相连接。原理图如图1所示。采用本发明所述seu软件加固方法的软件运行在dsp处理器(1)中,非易失存储器(2)用于对被保护数据进行备份,emif总线负责支持dsp处理器(1)与非易失存储器(2)间的数据交互。
40.系统初始化时,dsp处理器(1)首先将被保护数据分区并计算其crc16-ccitt校验和,然后在非易失存储器(2)中对这些被保护数据和crc校验和进行备份。在弹载计算机工作过程中,dsp处理器(1)定时对位于其内部存储单元的被保护数据进行crc校验,以识别是否出现seu。当seu出现时,将存储在非易失存储器(2)中的备份数据更新到dsp处理器(1)的内部存储单元,以实现错误纠正,从而抑制seu的影响。其流程图如图2所示。
41.详细的操作步骤是:
42.第一步:弹载计算机上电,dsp处理器(1)的程序开始运行。将总长度为l的被保护数据,按长度k字节划分为n个数据块。每个数据块分别称为b1、b2、b3、
……
、bn。
43.第二步:按照一定地顺序,使用crc16-ccitt校验算法分别计算数据块b1、b2、b3、
……
、bn的crc校验和,称为r1、r2、r3、
……
、rn。
44.第三步:将分块后的被保护数据和crc校验和,按顺序备份在非易失存储器(2)中。
45.如图3所示,将被保护数据和crc校验和按照b1、r1、b2、r2、b3、r3、

、bn、rn的顺序存储在非易失存储器(2)中。
46.另一个实施例中,也可以将被保护数据和crc校验和按照bn、rn、bn-1、rn-1、

、b1、r1的顺序存储在非易失存储器(2)中。
47.第四步:配置dsp定时器,设置定时中断为m毫秒。
48.第五步:在定时中断触发时,从dsp处理器(1)的内部存储单元按照b1、b2、b3、
……
、bn的顺序,每次读取一个数据块的数据,然后使用crc16-ccitt校验算法计算其crc校验和,再与存储在非易失存储器中的crc校验和r1、r2、r3、
……
、rn做比较。
49.第六步:如果第五步中dsp处理器(1)的内部数据的crc校验和等于非易失存储器(2)中备份的crc校验和,则认为当前数据块未发生seu,跳转返回第五步继续读取下一个数据块;如果dsp处理器(1)的内部数据的crc校验和不等于非易失存储器(2)中备份的crc校验和,则认为当前数据块已发生seu,继续执行第七步。
50.第七步:从非易失存储器(2)中,读取当前已发生seu的数据块对应的备份,将dsp
处理器(1)的内部存储单元中的数据刷新为正确值,然后跳转返回第五步继续读取下一个数据块,直到全部的数据块均比较完成。
51.经n次校验和刷新操作后,dsp处理器内部的被保护数据即可与非易失存储器中备份的数据相同,从而达到降低单粒子翻转危害的目的。
52.根据seu的影响强度不同,可以灵活调整每个数据块的长度k的值,从而灵活调整每次执行crc计算所需消耗的时间和刷新操作所需消耗的时间。
53.根据dsp计算操作的时间片划分,灵活调整定时中断的触发间隔m。
54.选择dsp空闲时进行校验和刷新操作,进一步降低对dsp计算性能的影响,实现计算资源占用量和seu加固效果之间的平衡。
55.本申发明提出的动态刷新的弹载计算机抗seu软件加固方法能够解决的技术问题是:
56.不增加dsp内部存储空间需求;
57.通过使用crc16-ccitt校验算法校验数据的正确性,识别发生seu的数据块,再根据校验结果动态刷新dsp处理器(1)的内部存储单元的数据,seu加固处理操作的执行时间更少,计算资源占用率更低;
58.按一定的时间周期执行seu加固处理,dsp计算资源分时复用,对正常程序执行流程的影响更小;
59.可以灵活调整数据块的长度和执行seu加固处理的周期,可以在计算资源占用量和seu加固效果之间取得平衡。
60.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1