CN111930638B - 星载接收机中dsp芯片混合运行和存储检测方法 - Google Patents
星载接收机中dsp芯片混合运行和存储检测方法 Download PDFInfo
- Publication number
- CN111930638B CN111930638B CN202011106097.6A CN202011106097A CN111930638B CN 111930638 B CN111930638 B CN 111930638B CN 202011106097 A CN202011106097 A CN 202011106097A CN 111930638 B CN111930638 B CN 111930638B
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- data
- chip
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
本发明提出了一种星载接收机中DSP芯片混合运行和存储检测方法,包括:将程序代码进行混合部署和分块加载,将执行频率高的核心功能函数指定到片内存储空间,将执行频率低的功能函数指定到片外存储空间;DSP上电后和运行时,使用自检函数执行存储器快速检测算法对片外存储器进行自检校验,在检测到单粒子翻转时速纠正存储器逻辑状态错误。本发明采用多种手段融合的方法,增强了星载接收机应对外部存储器件瞬时失效的能力,保证了星载接收机在外部存储失效时,核心功能依然能正常运行,同时提升了程序运行稳定性,保障了星载接收机程序在轨稳定运行。
Description
技术领域
本发明涉及星载接收机领域,更具体地,涉及星载接收机在恶劣太空辐射条件下保障DSP程序稳定运行的方法。
背景技术
人造卫星是人类探索、利用空间资源的重要媒介,而星载无线电接收机是卫星与卫星、卫星与地面进行通信的关键设备,是保持卫星受控、进行卫星维护的重要手段,目前通信、导航、雷达等多种类型的无线电接收机均在卫星上有所应用。
星载无线电接收机一般使用DSP作为逻辑控制及运算单元,其控制与算法通常都集成到DSP中完成。DSP芯片内部采用程序和数据分开的哈佛总线结构,采用专门的硬件乘法器,使用流水处理技术,实现快速处理各种数字信号的目的。
在星载无线电接收机中,运算较为复杂,目标程序体积较大,最终程序通常无法全部放入片内程序存储空间,需要借助片外存储空间,而片外存储器访问速度远低于片内存储器,且较容易受到外太空环境单粒子效应影响,不合理的片内片外存储空间分配不但会降低程序执行速度,而且会影响程序运行的可靠性。与此同时,星载无线电接收机发射入轨后面临太空的复杂电磁环境,因此对软件具有很高的可靠性要求,当外部存储器件被单粒子打翻而瞬时失效时,依然需要保证核心功能正常运行。
发明内容
基于上述原因,本发明提供了一种星载接收机中DSP芯片混合运行和存储检测方法,在对DSP程序代码进行片内和片外统一部署的基础上,通过执行存储器快速检测算法对存储器进行自检校验,并在检测到单粒子翻转时通过FPGA修复模块迅速纠正存储器逻辑状态错误,即时复位存储器,保障了星载接收机程序在轨稳定运行。
本发明提出一种星载接收机中DSP芯片混合运行和存储检测方法,包括如下步骤:
步骤101:设计ROM代码段
步骤1011:分别建立第一代码段、第二代码段、第三代码段、第四代码段;
步骤1012:从DSP片内程序存储空间起始处部署所述第一代码段;在DSP片内程序存储空间其它位置部署所述第二代码段;从DSP片外存储空间起始处部署所述第三代码段;在DSP片外存储空间末尾处部署所述第四代码段;DSP片内数据RAM区用于存储运行时数据;
所述第一、第二代码段属于内部代码块,所述第三、第四代码段属于外部代码块;将二次搬移程序指定到所述第一代码段,将自检函数指定到所述第二代码段;
步骤102:分块加载程序和存储检测
步骤1021:DSP上电复位后,硬件自动将所述内部代码块从0x01400000地址开始全部搬移到DSP片内程序存储空间;
步骤1022:使用自检函数执行存储器快速检测算法,对片外存储器的地址线和数据线进行32Bits自检校验;
步骤1023:自检校验通过后,二次搬移程序将所述外部代码块搬移至片外存储空间从0x00400000开始的位置。
所述存储器快速检测算法分别仅对32Bit宽的数据线和32Bit宽的地址线进行测试,无需遍历全部内存。
本发明的有益效果是:采用多种手段融合的方法,增强了星载接收机应对外部存储器件瞬时失效的能力,保证了星载接收机在外部存储失效时,核心功能依然能正常运行,同时提升了程序运行稳定性,在外部存储器被单粒子影响而瞬时失效时,单机可即时复位,恢复正常状态。本发明适应性好,不仅使用于导航系统的星载接收机,还可适用于雷达、通信系统的星载接收机,同时还适用部分星载发射机,能够增强星载无线电收发终端对外部存储空间瞬时失效的防护能力。
附图说明
图1是代码混合分配示意图。
图2是程序分块加载示意图。
图3是片外存储自检逻辑示意图。
图4是片外存储快速内存检测算法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的星载接收机中DSP芯片混合运行和存储检测方法,包括:
步骤101:设计ROM代码段。如图1所示,设计分配过程如下:
第一步:在CCS的“.cmd”文件中创建“.boot”代码段,将其定位到片内程序存储空间起始处,并将二次搬移程序指定到“.boot”代码段;
第二步:在CCS的“.cmd”文件中创建“.text”代码段,将其定位到片内程序存储空间其它位置,编译器自动将核心功能代码定位到“.text”代码段;将自检函数定位到“.text”代码段;
第三步:在CCS的“.cmd”文件中创建“.ext_text”代码段,将其定位到外存储空间起始处,并将执行频率低的非核心功能函数指定到“.ext_text”代码段;
第四步:在CCS的“.cmd”文件中创建“.ext_data”代码段,将其定位到外存储空间末尾处,并将片外存储自检预留的64KB大数组通过“DATA_SECTION”预编译指令指定到“.ext_data”数据段;
CCS编译器默认将数据定位到片内数据RAM区,因此数据区无需特别配置。
其中,“.boot”代码段和“.text”代码段属于内部代码块,“.ext_text”和“.ext_data”代码段属于外部代码块,二次搬移程序将DSP芯片的程序在运行过程中产生的数据搬移至片内数据存储区从0x80000000开始的位置,构成其它数据块。
图2是程序分块加载示意图。
步骤102:分块加载程序和存储检测
步骤1021:DSP上电复位后,硬件自动将所述内部代码块全部搬移到DSP片内程序存储空间从0x00000000地址开始的位置;
步骤1022:使用自检函数执行存储器快速检测算法,对片外存储器的地址线和数据线进行32Bits自检校验;
步骤1023:自检校验通过后,二次搬移程序将所述外部代码块搬移至片外存储空间从0x00400000开始的位置。
搬移完毕后,从片内程序存储空间启动执行。
二次搬移程序将DSP芯片的程序运行过程中产生的数据搬移至片内数据存储区从0x80000000开始的位置。
图3是片外存储自检逻辑示意图。
DSP复位时对整个片外存储地址空间进行自检操作,起始地址为0x00400000,长度为整个片外存储容量。分别对32位数据线和32位地址线进行存储器快速检测算法,若正常则启动应用程序执行,否则执行整机复位;
程序正常运行时,每隔1min执行片外存储自检,利用片外存储器尾部64KB,仅对32位数据线和低16位地址线进行存储器快速检测算法,若连续3次检出问题,则在下发片外存储自检错误遥测后,进行整机复位。
图4是片外存储快速检测算法示意图。
使用自检函数执行存储器快速检测算法对数据线进行检测,包括:
步骤201:将检测地址固定为外存地址0x00400000,向该外存地址0x00400000写入数据;
步骤202:从该外存地址中回读数据;
步骤203:比较写入数据和回读数据,若读出数值和写入数值相同,则说明32Bit数据线完好,否则存在数据线错误。
使用自检函数执行存储器快速检测算法对数据线进行检测时,写入数据从1开始,每次左移一位,共测试32次。
使用自检函数执行存储器快速检测算法对地址线进行检测,包括以下步骤:
步骤301:将在需要进行检测的外存地址范围内,以基地址为起点,从1开始每次左移一位再乘以4得到地址偏移量,二者相加得到检测地址集;
步骤302:从所述检测地址集中选取一参照地址,所述参照地址的初始值为基地址;
步骤303:将检测地址集中的地址对应的存储单元的内容初始化为0xAAAAAAAA;将所述参照地址对应的存储单元的内容改写为0x55555555;
步骤304:从基地址开始,按递增顺序,读取外部存储器中除了参照地址之外的每个地址的数据,并将读取出的数据与0xAAAAAAAA进行比较,如果相同,则表明该地址数据正确;
将当前参照地址左移一位再乘4,得到地址偏移量,将基地址加上所述地址偏移量得到下一参照地址,返回步骤303,否则检出地址线错误,中止检测。
在所述星载接收机中,片外存储器通过访问接口连接FPGA的数据纠错模块,对FPGA数据纠错模块进行逻辑三模冗余处理;
当在自检测试中存储器发生单比特错误时,判断错误类型,若为数据错误,
则FPGA回写存储器,纠正存储器逻辑状态错误,使存储器即时复位;若为校验码错误,则回写FPGA的BRAM缓存中的校验码;
当在自检测试中存储器发生多比特错误时,FPGA将对应该多比特错误的寄
存器值加1,表示检测到一个新的多比特错误,DSP通过遥测,每秒将多比特错误寄存器值通过遥测下传,当多比特错误寄存器值累计到3时,FPGA延迟10s后,控制整机进行复位。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,包括如下步骤:
步骤101:设计ROM代码段;
步骤1011:分别建立第一代码段、第二代码段、第三代码段、第四代码段;
步骤1012:从DSP片内程序存储空间起始处部署所述第一代码段;在DSP片内程序存储空间其它位置部署所述第二代码段;从DSP片外存储空间起始处部署所述第三代码段;在DSP片外存储空间末尾处部署所述第四代码段;DSP片内数据RAM区用于存储运行时数据;
所述第一、第二代码段属于内部代码块,所述第三、第四代码段属于外部代码块;将二次搬移程序指定到所述第一代码段,将自检函数指定到所述第二代码段;
步骤102:分块加载程序和存储检测;
步骤1021:DSP上电复位后,硬件自动将所述内部代码块全部搬移到DSP片内程序存储空间;
步骤1022:使用自检函数执行存储器快速检测算法,对片外存储器的地址线和数据线进行32Bits自检校验;
步骤1023:自检校验通过后,二次搬移程序将所述外部代码块搬移至片外存储空间。
2.根据权利要求1所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,在所述步骤101中:
将执行频率高的核心功能函数指定到所述第二代码段;将执行频率低的功能函数指定到所述第三代码段;将为片外存储自检预留的64KB大数组指定到所述第四代码段。
3.根据权利要求2所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,所述步骤101中,
所述二次搬移程序将DSP芯片的程序在运行过程中产生的数据搬移至片内数据存储区从0x80000000开始的位置,构成其它数据块。
4.根据权利要求1所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于:在所述DSP芯片的程序正常运行时,使用自检函数以预定的检测周期执行存储器快速检测算法,仅对片外存储器尾部64KB存储空间的16Bits地址线和32Bits数据线进行自检校验。
5.根据权利要求1-4任一项所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,使用自检函数执行存储器快速检测算法对数据线进行检测,包括:
步骤201:将检测地址固定为外存地址0x00400000,向该外存地址0x00400000写入数据;
步骤202:从该外存地址中回读数据;
步骤203:比较写入数据和回读数据,若读出数值和写入数值相同,则说明32Bits数据线完好,否则存在数据线错误。
6.根据权利要求5所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,使用自检函数执行存储器快速检测算法对数据线进行检测时,写入数据从1开始,每次左移一位,共测试32次。
7.根据权利要求1-4任一项所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,使用自检函数执行存储器快速检测算法对地址线进行检测,包括:
步骤301:将在需要进行检测的外存地址范围内,以基地址为起点,从1开始每次左移一位再乘以4得到地址偏移量,二者相加得到检测地址集。
8.根据权利要求7所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,使用自检函数执行存储器快速检测算法对地址线进行检测,还包括:
步骤302:从所述检测地址集中选取一参照地址,所述参照地址的初始值为基地址;
步骤303:将检测地址集中的地址对应的存储单元的内容初始化为0xAAAAAAAA;将所述参照地址对应的存储单元的内容改写为0x55555555。
9.根据权利要求8所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,使用自检函数执行存储器快速检测算法对地址线进行检测,还包括:
步骤304:从基地址开始,按递增顺序,读取外部存储器中除了参照地址之外的每个地址的数据,并将读取出的数据与0xAAAAAAAA进行比较,如果相同,则表明该地址数据正确;将当前参照地址左移一位再乘4,得到地址偏移量,将基地址加上所述地址偏移量得到下一参照地址,返回步骤303,否则检出地址线错误,中止检测。
10.根据权利要求1-4任一项所述的星载接收机中DSP芯片混合运行和存储检测方法,其特征在于,
在所述星载接收机中,片外存储器通过访问接口连接FPGA的数据纠错模块,对FPGA数据纠错模块进行逻辑三模冗余处理;
当在自检测试中存储器发生单比特错误时,判断错误类型,若为数据错误,
则FPGA回写存储器,纠正存储器逻辑状态错误,使存储器即时复位;若为校验码错误,则回写FPGA的BRAM缓存中的校验码;
当在自检测试中存储器发生多比特错误时,FPGA将对应该多比特错误的寄存器值加1,表示检测到一个新的多比特错误,当多比特错误寄存器值累计到3时,FPGA延迟10s后,控制整机进行复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011106097.6A CN111930638B (zh) | 2020-10-16 | 2020-10-16 | 星载接收机中dsp芯片混合运行和存储检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011106097.6A CN111930638B (zh) | 2020-10-16 | 2020-10-16 | 星载接收机中dsp芯片混合运行和存储检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930638A CN111930638A (zh) | 2020-11-13 |
CN111930638B true CN111930638B (zh) | 2020-12-29 |
Family
ID=73334492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011106097.6A Active CN111930638B (zh) | 2020-10-16 | 2020-10-16 | 星载接收机中dsp芯片混合运行和存储检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930638B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379744B (zh) * | 2020-12-06 | 2022-10-21 | 上海镭隆科技发展有限公司 | 一体化高性能信息处理系统开发及验证系统及其实现方法 |
CN115994096B (zh) * | 2023-03-21 | 2023-06-09 | 安徽隼波科技有限公司 | 一种雷达信号处理和仿真的验证方法 |
CN117453279B (zh) * | 2023-12-26 | 2024-03-19 | 中国人民解放军国防科技大学 | 一种适用于太空强辐射环境下的星载设备硬件架构 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976212A (zh) * | 2010-10-27 | 2011-02-16 | 西安空间无线电技术研究所 | 一种基于少量代码重加载的dsp抗单粒子纠错方法 |
CN102326145A (zh) * | 2011-08-10 | 2012-01-18 | 华为技术有限公司 | 一种复位向量的代码实现方法、系统及设备 |
US8826261B1 (en) * | 2010-02-25 | 2014-09-02 | Bloom Energy Corporation | Programming processors through CAN interface without changing the boot mode select pins |
CN106201636A (zh) * | 2016-08-11 | 2016-12-07 | 中国电子科技集团公司第二十九研究所 | 一种dsp片外代码动态加载方法及装置 |
CN108804228A (zh) * | 2018-05-30 | 2018-11-13 | 绵阳市维博电子有限责任公司 | 一种dsp程序空间扩展的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9077313B2 (en) * | 2011-10-14 | 2015-07-07 | Vivante Corporation | Low power and low memory single-pass multi-dimensional digital filtering |
-
2020
- 2020-10-16 CN CN202011106097.6A patent/CN111930638B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826261B1 (en) * | 2010-02-25 | 2014-09-02 | Bloom Energy Corporation | Programming processors through CAN interface without changing the boot mode select pins |
CN101976212A (zh) * | 2010-10-27 | 2011-02-16 | 西安空间无线电技术研究所 | 一种基于少量代码重加载的dsp抗单粒子纠错方法 |
CN102326145A (zh) * | 2011-08-10 | 2012-01-18 | 华为技术有限公司 | 一种复位向量的代码实现方法、系统及设备 |
CN106201636A (zh) * | 2016-08-11 | 2016-12-07 | 中国电子科技集团公司第二十九研究所 | 一种dsp片外代码动态加载方法及装置 |
CN108804228A (zh) * | 2018-05-30 | 2018-11-13 | 绵阳市维博电子有限责任公司 | 一种dsp程序空间扩展的实现方法 |
Non-Patent Citations (2)
Title |
---|
On-chip vs. off-chip memory: the data partitioning problem in embedded processor-based systems;PREETI RANJAN PANDA Synopsys, Inc.;《ACM Transactions on Design Automation of Electronic SystemsJuly 2000》;20000731;第5卷(第3期);第682-704页 * |
TMS320C54x系列DSP存储空间的配置;罗建国;《科技广场》;20071130(第11期);第216-218页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111930638A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930638B (zh) | 星载接收机中dsp芯片混合运行和存储检测方法 | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
CN101369240B (zh) | 用于在信息处理系统中管理存储错误的系统和方法 | |
US20180101304A1 (en) | Configuration control system and configuration control method | |
CN110647475B (zh) | 存储装置和包括存储装置的存储系统 | |
US20100251220A1 (en) | Method and apparatus for dynamically instrumenting a program | |
US7107493B2 (en) | System and method for testing for memory errors in a computer system | |
CN112445729B (zh) | 操作地址确定方法、PCIe系统、电子设备及存储介质 | |
CN110716845B (zh) | 一种Android系统的日志信息读取的方法 | |
US9298614B2 (en) | Combined rank and linear address incrementing utility for computer memory test operations | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
US10642747B1 (en) | Virtual flash system | |
CN114153779A (zh) | 一种i2c通信方法、系统、设备、及存储介质 | |
US10496422B2 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
US10949130B2 (en) | Virtual solid state storage system with solid state storage error emulation | |
US10642684B1 (en) | Memory command interleaving | |
CN106708569B (zh) | 一种跨线列车中vobc配置文件的热加载方法及装置 | |
CN111913668A (zh) | 一种ip复用下检纠查存储器数据准确性的方法 | |
CN110990207A (zh) | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
CN113760751B (zh) | 生成测试用例的方法、电子设备及存储介质 | |
US8554522B2 (en) | Detection of design redundancy | |
CN109902001A (zh) | 对未初始化变量的检测方法及终端设备 | |
CN111966525B (zh) | 星载导航设备的dsp程序运行方法及其dsp系统 | |
CN115509828A (zh) | 一种数据处理方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |