一种针对浮空器掩星接收机双核SOC的DDR监控方法技术

技术编号:20545646 阅读:35 留言:0更新日期:2019-03-09 18:35
本发明专利技术公开一种针对浮空器掩星接收机双核SOC的DDR监控方法,在SOC两个内核代码配置文件中,划分代码运行的DDR空间,后编译制作代码的烧录文件;制作FPGA比特流文件,以及系统启动文件;分别将核0、核1烧录程序三备份分配到FLASH中的固定地址;系统上电运行后,启动代码将三备份的核0、核1程序分别3取2后,加载到DDR的对应地址中,核0启动后,引导核1运行;系统正常运行中,核0或核1中的任一核代码中的DDR监控函数分别读取核0、核1在FLASH中的三备份文件,与DDR中对应地址的数据进行比对。本发明专利技术仅用1个内核对双核代码进行监控回写,增强系统的抗单粒子能力,同时减少系统中断响应被延迟的风险。

A DDR Monitoring Method for Dual-Core SOC of Occultation Receiver of Aerospace Vehicle

The invention discloses a DDR monitoring method for dual-core SOC of aerostat occultation receiver. In the two core code configuration files of SOC, the DDR space of code operation is divided, and then the burning file of code is compiled and produced; the bit stream file of FPGA is made, and the system startup file is made; the three backups of the burning program of core 0 and core 1 are allocated to the fixed address of FLASH after the system is powered on. In the normal operation of the system, the DDR monitoring function in any core code of kernel 0 or 1 reads the three backup files of core 0 and core 1 in FLASH respectively, and compares them with the corresponding address data in DDR. The invention uses only one kernel to monitor and write back the dual-core code, enhances the anti-single-particle ability of the system, and reduces the risk of delay of system interrupt response.

【技术实现步骤摘要】
一种针对浮空器掩星接收机双核SOC的DDR监控方法
本专利技术属于内存监控
,特别涉及一种针对浮空器掩星接收机双核SOC的DDR监控方法。
技术介绍
空间环境中存在着大量的高能带电粒子,容易导致CMOS器件的电位发生跳变。在轨设备中的程序存储设备如SRAM、DDR等易受到单粒子事件影响,导致代码运行不正常,严重的会导致空间设备失效,因此选用带有EDAC功能的SRAM芯片或者设计内存设备监控方法。带有EDAC功能的SRAM存储芯片,能够在发生单比特翻转时,利用EDAC纠错电路,对错误比特进行纠正,从而保证系统的正常运行,但是当发生多比特翻转时,EDAC功能无法有效对错误数据进行纠正,造成运行异常。当前的内存监控方案,主要针对于单内核控制器如单核DSP、ARM芯片等,读取FLASH中数据与SRAM中程序进行比对,不一致则回写。传统监控方案中,控制芯片在读取串行FLASH时(如QSPI-FLASH),需要遵循固定的读取时序,因此需要对中断进行暂时屏蔽,防止被中断打断,造成读取时序错乱读出数据错误。屏蔽中断会带来中断响应被延迟的风险,因此传统方案不适用于中断频繁,且对中断响应有严格要求的系统中。随着技术的发展,出现了多核控制芯片,在非对称多处理器模式下(AsymmetricMultiProcessing,缩写为AMP),各核可独立运行不同程序,并通过共享内存的方式进行核间数据的交互。一颗多核芯片可完成传统需要多颗芯片共同运行才能完成的任务,减少了传统芯片外围电路设计以及芯片间数据通信设计,增强了系统的可靠性。目前多核芯片已经应用于航空航天领域,对于多核控制芯片存储器监控,哈尔滨工业大学提出采用双核互检方法的监控方案,双核运行相同代码,在运行中进行代码互检,以保证代码正确性。但对于多核控制芯片,双核运行相同代码没有发挥出多核控制器的技术优势。
技术实现思路
本专利技术针对现有技术中存在的技术问题,提供一种针对浮空器掩星接收机双核SOC的DDR监控方法,仅使用1个内核对双核代码进行监控回写,增强了系统的抗单粒子能力,同时减少了系统中断响应被延迟的风险。为解决上述技术问题,本专利技术采用的技术方案是:一种针对浮空器掩星接收机双核SOC的DDR监控方法,包括以下步骤:(1)在SOC两个内核代码配置文件中,划分代码运行的DDR空间,后编译制作代码的烧录文件;(2)制作FPGA比特流文件,以及系统启动文件;(3)制作烧录文件,在烧录文件制作时,分别将核0、核1烧录程序三备份分配到FLASH中的固定地址;(4)系统上电运行后,启动代码将三备份的核0、核1程序分别3取2后,加载到DDR的对应地址中,然后跳转到核0启动运行,核0启动后,引导核1运行,整个系统启动;(5)系统正常运行中,核0或核1中的任一核代码中的DDR监控函数分别读取核0、核1在FLASH中的三备份文件,与DDR中对应地址的代码进行比对,当二者不一致时,改写DDR中的代码。作为优选,FLASH类型为QSPI-FLASH。作为优选,步骤(5)中,DDR监控函数位于核1代码的后台任务中,在系统空闲期间,该函数不断运行,该函数的主要逻辑为:(a)读取核0的DDR中代码;(b)读取核0对应QSPI-FLASH中的代码;(c)将二者进行比对,如果不一致,则改写DDR中的代码;(d)读取核1的DDR中的代码;(e)读取核1对应QSPI-FLASH中的代码;(f)将二者进行比对,如果不一致,则改写DDR中的代码。作为优选,核0代码3备份存储于QSPI-FLASH芯片的固定地址中。作为优选,核1代码3备份存储于QSPI-FLASH芯片的固定地址中。作为优选,核0或核1中的任一核实时读取核0的三备份数据,并进行3取2操作,与核0对应DDR地址中的数据进行比对,若不一致,则改写DDR中数据。作为优选,核0或核1中的任一核实时读取核1的三备份数据,并进行3取2操作,与核1对应DDR地址中的数据进行比对,若不一致,则改写DDR中数据。与现有技术相比,本专利技术所具有的有益效果是:1.本专利技术中,系统初始加载和正常运行过程中,均实现了程序的3取2操作,保证了加载程序的正确性。2.本专利技术中,系统正常运行过程中,通过任一核进行DDR监控,相比于各核单独维护自身DDR代码的方案,使另一核不必在运行过程中屏蔽中断后操作QSPI-FLASH造成中断响应延迟,保证了系统对于中断响应的快速性。增强空间电子设备的可靠性。3.本专利技术中,系统的双核运行不同代码,处理不同任务,发挥了多核处理器的技术优势。附图说明图1为本专利技术的流程示意图。具体实施方式为使本领域技术人员更好的理解本专利技术的技术方案,下面结合附图和具体实施例对本专利技术作详细说明。本专利技术的实施例公开了一种针对浮空器掩星接收机双核SOC的DDR监控方法,如图所示,其包括以下步骤:(1)在SOC两个内核代码配置文件中,划分代码运行的DDR空间,后编译制作代码的烧录文件;(2)制作FPGA比特流文件,以及系统启动文件;(3)制作烧录文件,在烧录文件制作时,分别将核0、核1烧录程序三备份分配到FLASH中的固定地址;(4)系统上电运行后,启动代码将三备份的核0、核1程序分别3取2后,加载到DDR的对应地址中,然后跳转到核0启动运行,核0启动后,引导核1运行,整个系统启动;(5)系统正常运行中,核0或核1中的任一核代码中的DDR监控函数分别读取核0、核1在FLASH中的三备份文件,与DDR中对应地址的代码进行比对,当二者不一致时,改写DDR中的代码。本实施例中,FLASH类型为QSPI-FLASH。本实施例中,步骤(5)中,DDR监控函数位于核1代码的后台任务中,在系统空闲期间,该函数不断运行,该函数的主要逻辑为:(a)读取核0的DDR中代码;(b)读取核0对应QSPI-FLASH中的代码;(c)将二者进行比对,如果不一致,则改写DDR中的代码;(d)读取核1的DDR中的代码;(e)读取核1对应QSPI-FLASH中的代码;(f)将二者进行比对,如果不一致,则改写DDR中的代码。本实施例中,核0代码3备份存储于QSPI-FLASH芯片的固定地址中。本实施例中,核1代码3备份存储于QSPI-FLASH芯片的固定地址中。本实施例中,核0或核1中的任一核实时读取核0的三备份数据,并进行3取2操作,与核0对应DDR地址中的数据进行比对,若不一致,则改写DDR中数据。本实施例中,核0或核1中的任一核实时读取核1的三备份数据,并进行3取2操作,与核1对应DDR地址中的数据进行比对,若不一致,则改写DDR中数据。本实施例中,浮空器掩星接收机核心控制芯片为一款双核SOC芯片,工作在AMP模式,核0核1运行不同代码,其中一核处理频繁中断任务,另一核处理系统控制、数据管理、DDR监控等对中断延迟不敏感的任务。以上通过实施例对本专利技术进行了详细说明,但所述内容仅为本专利技术的示例性实施例,不能被认为用于限定本专利技术的实施范围。本专利技术的保护范围由权利要求书限定。凡利用本专利技术所述的技术方案,或本领域的技术人员在本专利技术技术方案的启发下,在本专利技术的实质和保护范围内,设计出类似的技术方案而达到上述技术效果的,或者对申请范围所作的均等变化与改进等,均应仍归属于本专利技术的专利涵盖保护范围之内。应当注意,为了本文档来自技高网
...

【技术保护点】
1.一种针对浮空器掩星接收机双核SOC的DDR监控方法,其特征在于,包括以下步骤:(1)在SOC两个内核代码配置文件中,划分代码运行的DDR空间,后编译制作代码的烧录文件;(2)制作FPGA比特流文件,以及系统启动文件;(3)制作烧录文件,在烧录文件制作时,分别将核0、核1烧录程序三备份分配到FLASH中的固定地址;(4)系统上电运行后,启动代码将三备份的核0、核1程序分别3取2后,加载到DDR的对应地址中,然后跳转到核0启动运行,核0启动后,引导核1运行,整个系统启动;(5)系统正常运行中,核0或核1中的任一核代码中的DDR监控函数分别读取核0、核1在FLASH中的三备份文件,与DDR中对应地址的代码进行比对,当二者不一致时,改写DDR中的代码。

【技术特征摘要】
1.一种针对浮空器掩星接收机双核SOC的DDR监控方法,其特征在于,包括以下步骤:(1)在SOC两个内核代码配置文件中,划分代码运行的DDR空间,后编译制作代码的烧录文件;(2)制作FPGA比特流文件,以及系统启动文件;(3)制作烧录文件,在烧录文件制作时,分别将核0、核1烧录程序三备份分配到FLASH中的固定地址;(4)系统上电运行后,启动代码将三备份的核0、核1程序分别3取2后,加载到DDR的对应地址中,然后跳转到核0启动运行,核0启动后,引导核1运行,整个系统启动;(5)系统正常运行中,核0或核1中的任一核代码中的DDR监控函数分别读取核0、核1在FLASH中的三备份文件,与DDR中对应地址的代码进行比对,当二者不一致时,改写DDR中的代码。2.根据权利要求1所述的一种针对浮空器掩星接收机双核SOC的DDR监控方法,其特征在于,FLASH类型为QSPI-FLASH。3.根据权利要求2所述的一种针对浮空器掩星接收机双核SOC的DDR监控方法,其特征在于,步骤(5)中,DDR监控函数位于核1代码的后台任务中,在系统空闲期间,该函数不断运行,该函数的主要逻辑为:(a)读取核...

【专利技术属性】
技术研发人员:郭启云杨荣康李昌兴刘永成温凯张春泽
申请(专利权)人:中国气象局气象探测中心天津讯联科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1