一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种星载DSP在轨单粒子翻转效应测试系统及方法与流程

2021-12-17 19:42:00 来源:中国专利 TAG:

一种星载dsp在轨单粒子翻转效应测试系统及方法
技术领域
1.本发明涉及航天器件可靠性测试领域,尤其涉及一种星载dsp在轨单粒子翻转效应测试系统及方法。


背景技术:

2.航天计算机在现代航天领域起着非常关键的作用,其工作状态具有数据密集、计算时间长的特征,因此要求计算平台具有较强的数据处理能力。数字信号处理器(dsp)具有相对较低的能量成本和较强的数据运算能力,成为了一种最为适合航天计算机的平台。然而,航天计算机的工作环境中存在破坏性的空间辐射效应,dsp易受其影响发生单粒子翻转,导致数据流和控制流的错误,影响航天计算机的正常运行,甚至危及航天计算机的安全与寿命。
3.为了避免dsp受空间粒子辐射引发的错误,首先需了解dsp在空间辐射环境中受单粒子翻转影响的情况,然后才能有针对性地采取相应措施减少这种错误。因此需设计针对dsp的单粒子效应测试系统与方法。目前大部分测试系统都只适用于地面加速器模拟测试,地面加速器所用高能粒子射程有限,且在芯片顶层损失能量较多,无法在较深的灵敏区内沉积足够的能量。因此地面加速器模拟测试不能真实反应器件实际在轨单粒子翻转效应情况,其测试结果与实际在轨情况会有较大的差别。


技术实现要素:

4.本发明的目的在于克服现有技术缺陷,提出了一种星载dsp在轨单粒子翻转效应测试系统及方法。
5.为了实现上述目的,本发明提出了一种星载dsp在轨单粒子翻转效应测试系统,用于实时监测被测星载dsp在轨发生单粒子翻转的情况,并将监测结果发送至粒子辐射效应fpga,由粒子辐射效应fpga发送给星务平台再下传至地面,其特征在于,所述测试系统包括:监测模块和被测模块;其中,
6.所述监测模块,用于控制被测模块进行单粒子翻转效应测试,用于获取被测模块的单粒子翻转监测结果;用于根据收到的粒子辐射效应fpga发来的指令,将单粒子翻转监测结果发送至粒子辐射效应fpga;所述单粒子翻转效应测试包括循环进行的静态测试和动态测试;
7.所述被测模块,用于在监测模块的控制下,对被测星载dsp循环进行静态测试和动态测试。
8.作为上述系统的一种改进,所述监测模块包括监控fpga、prom、rs422接收器和rs422驱动器;其中,
9.所述监控fpga,用于在静态测试时,将被测星载dsp配置为hpi加载方式,通过hpi接口对被测星载dsp进行静态单粒子翻转监测,并记录监测结果;用于在动态测试时,将被测星载dsp配置为16bit宽rom加载方式,通过hpi接口读取被测星载dsp单粒子翻转的自主
监测结果;用于解析并执行粒子辐射效应fpga发送的指令,还用于将监测结果组成遥感数据包发送至粒子辐射效应fpga;
10.所述prom作为fpga的配置芯片,用于存储fpga的程序代码;
11.所述rs422接收器,用于将粒子辐射效应fpga发送的指令由差分信号转换为单端信号,提供给监控fpga;
12.所述rs422驱动器,用于将监控fpga发送的遥感数据包由单端信号转换为差分信号输出至粒子辐射效应fpga。
13.作为上述系统的一种改进,所述粒子辐射效应fpga发送的指令包括修改测试间隔的指令和取遥感数据指令;
14.所述修改测试间隔的指令用于设定静态测试或动态测试的时间长度,以小时为单位;
15.取遥感数据指令具体包括:2字节的包头标识、2字节的时间间隔和1字节的校验位。
16.作为上述系统的一种改进,所述遥感数据包长度为固定字节数,具体包括:2字节的包头标识、1字节的包长度、2字节的包序号、2字节的tic计数、1字节的测试模式、2字节的不同测试模式的时间间隔、1字节的接收指令码、1字节的接收指令正确计数、1字节的接收指令错误计数以及dsp寄存器翻转bit位数、dsp存储器翻转bit位数、dsp存储器翻转地址和1字节的校验位;其中,测试模式分别表示静态测试模式或动态测试模式;接收指令码包括修改时间间隔的指令和取遥感数据指令;校验位为本遥感数据包除校验位以外所有数据按字节累加的累加和。
17.作为上述系统的一种改进,所述被测模块包括被测星载dsp、mram0存储器和mram1存储器;其中,
18.在静态测试时,所述被测星载dsp通过自身的hpi接口,提供全部地址空间供监控fpga访问,所述全部地址空间包括自身的寄存器与存储器;在动态测试时,被测星载dsp自主从外部存储器中加载程序并运行,对自身的寄存器与存储器进行实时监测,记录监测结果并缓存至mram0存储器,供监控fpga读取;
19.所述mram0存储器,用于提供被测星载dsp的程序运行空间,还用于缓存监测结果;
20.所述mram1存储器,用于提供被测星载dsp的程序代码存储空间,当被测星载dsp配置为16bit宽rom加载方式,在被测星载dsp退出复位后,自动从mram1存储器中加载程序运行。
21.作为上述系统的一种改进,所述监测模块与被测模块通过hpi接口实时通信;监测模块采用异步rs422通信方式与粒子辐射效应fpga通信,通信波特率为115200bps,包括1bit起始位、8bit数据位和1bit停止位,多字节传输时高字节先传,字节内低位先传;粒子辐射效应fpga通过can总线与星务平台通信。
22.一种星载dsp在轨单粒子翻转效应测试方法,基于上述系统实现,具体包括:
23.步骤1)监控fpga控制被测星载dsp进入复位状态,通过设置dsp启动模式管脚bm[4:0]为“00111”将被测星载dsp配置为hpi加载方式,然后让dsp退出复位,进入静态测试模式;
[0024]
步骤2)监控fpga通过hpi接口对dsp的所有寄存器与存储器写入预设值;
[0025]
步骤3)监控fpga每秒通过hpi接口遍历读取dsp的所有寄存器与存储器,将读到的寄存器值或存储器值与预设值进行比较,若两者不一致则表明发生了单粒子翻转,记录发生翻转的bit位数;如果是存储器发生翻转,还需记录发生翻转的地址,并将预设值回写到该寄存器或存储器地址中;
[0026]
步骤4)监控fpga遍历读取比较完成后,将记录的bit位数与存储器地址按照遥感数据的格式组包,当接收到粒子辐射效应fpga的取遥感数据指令后,将遥感数据包通过异步rs422总线发送给粒子辐射效应fpga;
[0027]
步骤5)静态测试模式运行时间结束后,监控fpga控制dsp进入复位状态,监控fpga通过设置dsp启动模式管脚bm[4:0]为“10101”将被测星载dsp配置为16bit宽rom加载方式,然后让dsp退出复位,dsp自主从mram1中加载运行程序,进入动态测试模式;
[0028]
步骤6)被测星载dsp对其寄存器与存储器写入预设值;
[0029]
步骤7)被测星载dsp每秒对其寄存器与存储器进行遍历读取操作,将读取到的数据与预设值进行比较,若两者不一致则表明发生了单粒子翻转,记录发生翻转的bit位数;如果是存储器发生翻转,还需记录发生翻转的地址,并将预设值回写到该寄存器或存储器地址中;
[0030]
步骤8)被测星载dsp完成所有寄存器与存储器的读取比较后,将记录的bit位数与存储器地址按照遥感数据的格式组包缓存在mram0存储器中;
[0031]
步骤9)监控fpga接收到粒子辐射效应fpga的取遥感数据指令后,通过hpi接口读取dsp缓存在mram0寄存器中的遥感数据包,发送给粒子辐射效应fpga;
[0032]
步骤10)动态测试模式运行时间结束后,转至步骤1)
[0033]
与现有技术相比,本发明的优势在于:
[0034]
本发明的单粒子翻转效应测试方法采用静态测试和动态测试相结合的方式测试dsp实际在轨单粒子翻转效应,可同时了解dsp在静态与动态模式下发生单粒子翻转的情况,有助于更有针对性地对dsp采取有效的抗单粒子加固措施,同时对其它类似cpu的抗单粒子加固设计也有重要的借鉴意义。
附图说明
[0035]
图1是本发明的星载dsp在轨单粒子翻转效应测试系统组成框图;
[0036]
图2是本发明的星载dsp在轨单粒子翻转效应测试方法的循环测试流程图;
[0037]
图3是本发明的星载dsp在轨单粒子翻转效应测试方法的静态测试流程图;
[0038]
图4是本发明的星载dsp在轨单粒子翻转效应测试方法的动态测试流程图。
具体实施方式
[0039]
测试系统由监测模块和被测模块组成。所述监测模块由监控fpga及其外围电路、rs422通信接口电路组成;所述被测模块由被测dsp芯片及其外围电路组成。监测模块与被测模块通过hpi接口实时通信,监测模块采用异步rs422通信方式将dsp芯片的单粒子翻转监测结果发送给粒子辐射效应fpga,由粒子辐射效应fpga通过can总线发送给星务平台再下传至地面。
[0040]
单粒子翻转效应测试方法包括:采用两种测试模式循环对被测dsp芯片的单粒子
翻转情况进行监测。所述两种测试模式为静态测试模式和动态测试模式。所述静态测试模式由监控fpga配置dsp为hpi加载方式,监控fpga通过hpi接口对被测dsp芯片进行静态单粒子翻转监测。所述动态测试模式由监控fpga配置dsp为16bit宽rom加载方式,dsp芯片从外部mram存储器中加载运行程序自主监测自身单粒子翻转情况,监控fpga通过hpi接口读取dsp的自监测结果。
[0041]
监控fpga控制被测dsp芯片在静态测试模式与动态测试模式之间自动切换。即,一种测试模式运行一段时间后,自动切换至另一种测试模式,循环进行。
[0042]
下面结合附图和实施例对本发明的技术方案进行详细的说明。
[0043]
实施例1
[0044]
如图1所示,本发明的实施例1提供了一种星载dsp在轨单粒子翻转效应测试系统。
[0045]
测试系统由监测模块和被测模块组成。监测模块包括监控fpga、prom、rs422接收器与rs422驱动器。监控fpga用于控制被测dsp进行静态测试或动态测试,并将测试结果以科学数据的格式打包发送给粒子辐射效应fpga,同时解析并执行粒子辐射效应fpga发来的指令。prom作为fpga的配置芯片,用于存储fpga的程序代码。rs422接收器将输入的差分信号转换为单端信号,提供给监控fpga。rs422驱动器将监控fpga发送科学数据的单端信号转换为差分信号输出。被测模块由被测dsp、mram0与mram1组成。被测dsp作为被测对象,在静态测试模式下,相当于监控fpga的一个外部存储器,监控fpga通过dsp的hpi接口可以访问被测dsp的全部地址空间,包括所有寄存器与存储器。在动态测试模式下,被测dsp自主从外部存储器中加载程序并运行,对自身的寄存器与存储器进行实时监测,记录监测结果,等待监控fpga取走。mram0作为被测dsp的程序运行空间,也作为自监测结果的缓存区。mram1用于被测dsp的程序代码存储空间,被测dsp配置为16bit宽rom加载方式时,被测dsp退出复位后,自动从mram1中加载程序运行。
[0046]
监控fpga上电后,从prom中加载fpga程序代码并运行,首先完成变量初始化,然后控制被测dsp进入静态测试模式,并对被测dsp的单粒子翻转情况进行实时监测。静态测试模式运行时间结束后,控制被测dsp进入动态测试模式,由被测dsp自主监测自身单粒子翻转情况,监控fpga直接获取被测dsp的自监测结果。动态测试模式时间结束后,自动切换至静态测试模式,循环进行。两种测试模式之间自动循环进行的工作流程如图2所示。
[0047]
监控fpga初始化完成后,首先让被测dsp进入静态测试模式,静态测模式运行的流程图如图3所示。监控fpga首先控制reset信号为低电平,让dsp进入复位状态。然后设置dsp为hpi加载方式,即监控fpga设置dsp启动模式管脚bm[4:0]为“00111”。接着让dsp退出复位,dsp退出复位时会检测启动模式管脚bm[4:0]的状态。由于bm[4:0]为“00111”,dsp退出复位后将控制权交给hpi接口的主控端监控fpga,监控fpga通过hpi接口可以访问dsp的所有地址空间,包括所有寄存器与存储器。
[0048]
监控fpga通过hpi接口向dsp的寄存器与存储器写入预设值,所有地址空间都写入完成后,每秒定时逐个读取寄存器与存储器的值,并将读到的值与预设值比较。如果完全一致,则继续读取下一个,直至所有寄存器与存储器都比较完毕。如果不一致,认为该寄存器或存储器发生了单粒子翻转,则统计不一致的bit位数,与上次的统计值累加,并将预设值回写至该寄存器或存储器中,再读取下一个。如果是存储器发生了翻转,还需记录发生翻转的存储器地址。
[0049]
被测dsp的数据存储器地址空间范围为0x80000000

0x8000ffff,共64k字节。程序存储器地址空间范围为0x00000000

0x0000ffff,也为64k字节。尽管被测dsp的地址是用4字节表示,但由于数据区/程序区地址空间范围只有64k字节,只需低2个字节就能反应数据区/程序区的地址。因此,科学数据包中记录数据区/程序区翻转的地址为2个字节,即为被测dsp数据区/程序区地址的低2个字节。数据区、程序区可以分别记录5个地址,存储器翻转地址超过5个后,记录的地址会被循环覆盖。
[0050]
静态测试模式运行时间结束后,监控fpga控制被测dsp进入动态测试模式,动态测试模式运行的流程图如图4所示。监控fpga首先控制reset信号为低电平,让被测dsp进入复位状态。然后设置被测dsp为16bit宽rom加载方式,即监控fpga设置被测dsp启动模式管脚bm[4:0]为“10101”。再让被测dsp退出复位,被测dsp退出复位时会检测启动模式管脚bm[4:0]的状态。由于bm[4:0]为“10101”,被测dsp退出复位后自动从外部ce1片选空间的存储器中加载程序运行。由于mram具有抗单粒子翻转免疫特性,因此选用mram作为被测dsp的ce1片选空间存储器,用于存储被测dsp的程序代码。该程序代码运行的目的是让被测dsp自主监测自身单粒子翻转情况。
[0051]
被测dsp从外部mram中加载程序运行后,与静态测试模式的工作流程类似,只是此时单粒子翻转的监测统计工作由被测dsp自主完成。被测dsp向自身的寄存器与存储器写入预设值,所有寄存器与存储器写入完毕后,每秒定时逐个读取寄存器与存储器的值,并将读取值与预设值比较。如果完全一致,则继续读取下一个,直至所有寄存器与存储器都比较完毕。如果不一致,认为该寄存器或存储器发生了单粒子翻转,则统计不一致的bit位数,与上次的统计值累加,并将预设值回写至该寄存器或存储器中,再读取下一个。如果是存储器发生了翻转,还需记录发生翻转的存储器地址。可分别记录5个数据区、程序区地址,每个地址占用2个字节,该地址的记录方法与静态测试模式一致,也是取dsp地址的低2个字节。同样,存储器翻转的地址超出5个后,这5个记录地址会被循环覆盖。
[0052]
监控fpga生成的遥感数据包长度为41字节。包含包头标识、dsp寄存器与存储器翻转的bit位数、dsp存储器翻转地址与校验等。其中校验占用1字节,为前面所有数据按字节累加的累加和。遥感数据包格式如表1。
[0053]
表1遥感数据包格式
[0054]
[0055][0056]
监控fpga接收的取遥感数据包指令长度为2字节,指令码内容为0xeb77。接收的修改不同测试模式时间间隔的指令长度为5字节,指令码格式如表2所示。
[0057]
表2取遥感数据包指令
[0058][0059]
监控fpga通过异步rs422总线发送遥感数据包,rs422通信波特率为115200bps,包含1bit起始位、8bit数据位和1bit停止位,多字节传输时高字节先传,字节内低位先传。
[0060]
实施例2
[0061]
基于实施例1的测试系统,本发明的实施例2提出了一种测试方法。
[0062]
测试流程如图2所示,图3,图4分别为静态测试和动态测试流程图。测试过程具体包括:
[0063]
步骤101)监控fpga控制dsp进入复位状态,配置dsp为hpi加载方式,即监控fpga设
置dsp启动模式管脚bm[4:0]为“00111”,然后让dsp退出复位,进入静态测试模式;
[0064]
步骤102)监控fpga通过hpi接口对dsp的所有寄存器与存储器写入预设值;
[0065]
步骤103)监控fpga每秒通过hpi接口遍历读取dsp的所有寄存器与存储器,将读到的寄存器值或存储器值与预设值进行比较,若两者不一致则表明发生了单粒子翻转,此时记录发生翻转的bit位数。如果是存储器发生翻转,还需记录发生翻转的地址。并将预设值回写到该寄存器或存储器地址中。
[0066]
步骤104)遍历读取比较完成后,将记录的bit位数与存储器地址按照遥感数据的格式组包。监控fpga接收到粒子辐射效应fpga的取遥感数据指令后,将遥感数据包通过异步rs422总线发送给粒子辐射效应fpga。
[0067]
步骤105)静态测试模式运行时间结束后,监控fpga控制dsp进入复位状态,配置dsp为16bit宽rom加载方式,即监控fpga设置dsp启动模式管脚bm[4:0]为“10101”,然后让dsp退出复位,dsp自主从外部mram中加载运行程序,进入动态测试模式。
[0068]
步骤106)dsp对其寄存器与存储器写入预设值;
[0069]
步骤107)dsp每秒对其寄存器与存储器进行遍历读取操作,与步骤103)类似,dsp将读取到的数据与预设值进行比较,若两者不一致则表明发生了单粒子翻转,此时记录发生翻转的bit位数。如果是存储器发生翻转,还需记录发生翻转的地址。并将预设值回写到该寄存器或存储器地址中。
[0070]
步骤108)dsp完成所有寄存器与存储器的读取比较后,将记录的bit位数与存储器地址缓存在外部mram存储器中。
[0071]
步骤109)监控fpga根据接收到粒子辐射效应fpga的取遥感数据指令后,通过hpi接口读取dsp缓存在外部mram中的自监测结果,发送给粒子辐射效应fpga。
[0072]
步骤110)动态测试模式结束后,自动切换至静态测试模式,循环进行。
[0073]
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献