System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FIFO结构的程序在轨加载刷新方法技术_技高网

一种基于FIFO结构的程序在轨加载刷新方法技术

技术编号:42677733 阅读:2 留言:0更新日期:2024-09-10 12:29
本发明专利技术提供一种基于FIFO结构的程序在轨加载刷新方法,将配置程序写入FLASH中,ARM实时读取FLASH中的配置文件数据并输出至FIFO中,DSP从FIFO中读取配置文件并进行校验,ARM实时监控FIFO空满状态,保证FIFO非空,DSP读取完全部配置文件且校验值通过ARM的检查,完成加载工作后,ARM使能FPGA内部看门狗电路,监测软件系统运行情况,通过DSP与ARM的指令配合确保加载程序可靠;本发明专利技术通过SmartFusion2的FPGA(单粒子免疫)控制完成在轨重构功能,SmartFusion2类型FPGA作为一种FLASH型FPGA,支持重复烧写,对比一次性烧录的反熔丝型FPGA,极大地降低了开发成本,缩短了开发周期,支持在线调试,使用更加灵活便利;且芯片体积较小,在印制板焊接、芯片加固等方面也降低了工艺难度,缩短了生产周期,更具推广意义。

【技术实现步骤摘要】

本专利技术涉及电数字数据处理,具体涉及一种基于fifo结构的程序在轨加载刷新方法。


技术介绍

1、应用于空间飞行器或卫星的电子设备,在轨运行期间往往会因受到空间辐射环境影响而导致工作异常或者功能失效,甚至可能产生灾难性的后果。这些高能粒子会通过辐射进入半导体器件内部敏感区,积累产生大量电荷,从而改变电路的逻辑状态,甚至破坏集成电路的功能。

2、单粒子效应是指带电粒子射入集成电路内部,与芯片的衬底发生碰撞产生沉积电荷,并在衬底形成漏斗区域,通过漂移、扩散不断吸收多余电荷,当漏斗区积累到足够多的电荷之后,会产生瞬态电流脉冲,导致瞬态电压发生变化,从而使得电路逻辑状态错误,严重时甚至损坏器件。由于载荷数字电路部分通常采用dsp+fpga的架构用以同时完成实时数据处理以及复杂运算,而这两种器件中都包含大量对单粒子效应敏感的结构,因此单粒子效应给空间载荷数字电路部分的连续正常工作带来了巨大的挑战。

3、目前,针对单粒子效应,在数字电路部分采取的防护措施主要为:使用反熔丝型fpga加载刷新sram型fpga及dsp,避免使用prom。其缺点是反熔丝型fpga只能一次性烧录,无法在线调试;无法使用fifo进行升级程序的加载,且加载过程中无法利用arm处理器与dsp进行实时校验。

4、因此,需要一种可解决单粒子效应的高可靠性方法。


技术实现思路

1、本专利技术是为了解决在轨加载刷新的实用性和可靠性问题,提供一种基于fifo结构的程序在轨加载刷新方法,本专利技术将配置程序写入flash中,arm实时读取flash中的配置文件数据并输出至fifo中,dsp从fifo中读取配置文件并进行校验,arm实时监控fifo空满状态,保证fifo非空,dsp读取完全部配置文件且校验值通过arm的检查,完成加载工作后,arm使能fpga内部看门狗电路,监测软件系统运行情况,通过dsp与arm的指令配合确保加载程序可靠;本专利技术通过smartfusion2的fpga(单粒子免疫)控制完成在轨重构功能,smartfusion2类型fpga作为一种flash型fpga,支持重复烧写,对比一次性烧录的反熔丝型fpga,极大地降低了开发成本,缩短了开发周期,支持在线调试,使用更加灵活便利;且芯片体积较小,在印制板焊接、芯片加固等方面也降低了工艺难度,缩短了生产周期,更具推广意义。

2、本专利技术提供一种基于fifo结构的程序在轨加载刷新方法,包括以下步骤:

3、s1、将dsp芯片的配置程序转换为指定格式文件,然后通过arm将配置程序存储于flash芯片的本地缓存数组中;

4、s2、系统上电后,fpga开始运行,使用arm读取flash芯片中的配置程序并存储于fpga内部的fifo;

5、arm实时监测fifo空满状态,如果fifo非满,则继续将配置程序写入fifo;如果fifo已满,dsp芯片获取并开始运行boot程序,在fifo非空时,读取fifo内的配置程序,直至dsp芯片完成全部配置程序的加载;

6、s3、加载过程中,arm使能fpga通过看门狗电路实时监测dsp芯片的喂狗信号,并将监测结果传给arm;判断dsp喂狗信号周期是否超时,如果是,则arm对dsp进行复位,返回步骤s2重新加载,如果否,则进入步骤s4;

7、s4、fpga使用dma的方式对dsp芯片进行刷新以及时纠正由于单粒子效应造成的比特翻转现象;

8、s5、fpga通过看门狗电路监测dsp芯片喂狗信号,如果dsp在轨发生单粒子事件,导致运行异常,则导致喂狗信号出现异常,从而arm获取看门狗电路异常信号,重新复位dsp信号,返回步骤s2;如果未发生异常,则继续监测;

9、s6、dsp接收到重构指令后,首先接收来自指令的重构配置文件代码并存入缓存区当中;然后dsp发送指令,将重构配置文件代码打包发送给arm;arm接收到重构配置文件后,将缓存区内的重构配置文件写入flash芯片的指定位置中,完成在轨重构的重构代码注入;

10、s7、dsp向arm发送指令,切换配置文件启动区域;dsp停止喂狗动作,fpga通过看门狗电路监测到喂狗信号错误,将错误标志发送给arm,arm接收到喂狗错误标志后对dsp进行软复位,释放复位后重新从flash指定位置加载配置,完成重构工作,一种基于fifo结构的程序在轨加载刷新方法完成。

11、本专利技术所述的一种基于fifo结构的程序在轨加载刷新方法,作为优选方式,步骤s4中,dsp从fpga的指定地址读取配置程序数据并搬移到目的地址、覆盖该地址原有程序数据;dsp通过读取fpga得到的安全可靠代码将程序存储区数据全部覆盖一遍,完成一个周期的程序刷新过程。

12、本专利技术所述的一种基于fifo结构的程序在轨加载刷新方法,作为优选方式,步骤s1中,计算配置程序的校验值并写入程序存储区末尾位置;

13、步骤s2中,释放dsp芯片复位信号后dsp开始从fifo中读取配置程序并计算配置程序校验值后发送给arm,arm将校验值与flash芯片中预存校验值进行比较并判断,当校验值存在区别时,判断dsp加载程序存在错误,复位dsp芯片,重新进行配置程序的加载;当校验值正确时,dsp继续加载配置程序,当dsp读取完全部配置文件且校验值通过arm的检查,则dsp芯片完成全部配置程序的加载;

14、还包括步骤s8:

15、s8、dsp定期通过fpga读取flash芯片中存储的配置程序并计算程序校验和,通过校验和来确定flash中的配置程序是否发生翻转现象,若某一程序存储区发生翻转现象,则读取相应配置程序对该程序区进行写入覆盖,保持flash中配置程序的正确性;若程序存储区未发生翻转现象,则不进行操作。

16、本专利技术所述的一种基于fifo结构的程序在轨加载刷新方法,作为优选方式,步骤s1中,flash芯片中根据地址分成两个区域、作为主配置程序存储区和备配置程序存储区;主配置程序存储区和备配置程序存储区可以分别存储两份相同或不同的配置文件。

17、本专利技术所述的一种基于fifo结构的程序在轨加载刷新方法,作为优选方式,步骤s1中,flash芯片的数量为3片,每片flash芯片均根据地址分成主配置程序存储区和备配置程序存储区,通过arm将配置程序存储于每个flash芯片的主配置程序存储区,在每个flash芯片的备配置程序存储区中存储备份版本;

18、步骤s2中,系统上电后,fpga内部的arm持续控制片选信号实时读取三个主配置程序存储区中的配置程序并同时存储于本地寄存器中后进行表决,得到正确的配置程序内容;将正确的配置程序内容存储于fpga内部的fifo。

19、本专利技术所述的一种基于fifo结构的程序在轨加载刷新方法,作为优选方式,步骤s4中,arm通过控制片选信号实时读取三个备配置程序存储区中配置程序的备份版本并同时存储于本地寄存器中并进行表决,获得正确的配置程本文档来自技高网...

【技术保护点】

1.一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S4中,DSP从FPGA的指定地址读取配置程序数据并搬移到目的地址、覆盖该地址原有程序数据;DSP通过读取FPGA得到的安全可靠代码将程序存储区数据全部覆盖一遍,完成一个周期的程序刷新过程。

3.根据权利要求1所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S1中,计算配置程序的校验值并写入程序存储区末尾位置;

4.根据权利要求1所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S1中,FLASH芯片中根据地址分成两个区域、作为主配置程序存储区和备配置程序存储区;所述主配置程序存储区和所述备配置程序存储区可以分别存储两份相同或不同的配置文件。

5.根据权利要求1~4任意一项所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S1中,FLASH芯片的数量为3片,每片FLASH芯片均根据地址分成主配置程序存储区和备配置程序存储区,通过ARM将配置程序存储于每个FLASH芯片的所述主配置程序存储区,在每个FLASH芯片的所述备配置程序存储区中存储备份版本;

6.根据权利要求5所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S4中,ARM通过控制片选信号实时读取三个所述备配置程序存储区中配置程序的备份版本并同时存储于本地寄存器中并进行表决,获得正确的配置程序内容,将读取的DSP备份配置程序存储于FPGA的内部FIFO中,等待DSP读取之后对DSP的内存进行刷新。

7.根据权利要求3所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S8中,分别计算三个所述主配置程序存储区的程序校验和,读取校验和正确的所述主配置程序存储区的配置程序重新写入校验和错误的所述主配置程序存储区中。

8.根据权利要求1所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S1中,所述指定格式文件为bin文件,ARM获取FLASH芯片SPI总线控制权,将配置程序写入FLASH中。

9.根据权利要求1所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:FPGA为SmartFusion2类型FPGA。

10.根据权利要求1所述的一种基于FIFO结构的程序在轨加载刷新方法,其特征在于:步骤S2中,DSP的配置程序加载由DSP主动发起、通过EMIF端口主动读取数据。

...

【技术特征摘要】

1.一种基于fifo结构的程序在轨加载刷新方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于fifo结构的程序在轨加载刷新方法,其特征在于:步骤s4中,dsp从fpga的指定地址读取配置程序数据并搬移到目的地址、覆盖该地址原有程序数据;dsp通过读取fpga得到的安全可靠代码将程序存储区数据全部覆盖一遍,完成一个周期的程序刷新过程。

3.根据权利要求1所述的一种基于fifo结构的程序在轨加载刷新方法,其特征在于:步骤s1中,计算配置程序的校验值并写入程序存储区末尾位置;

4.根据权利要求1所述的一种基于fifo结构的程序在轨加载刷新方法,其特征在于:步骤s1中,flash芯片中根据地址分成两个区域、作为主配置程序存储区和备配置程序存储区;所述主配置程序存储区和所述备配置程序存储区可以分别存储两份相同或不同的配置文件。

5.根据权利要求1~4任意一项所述的一种基于fifo结构的程序在轨加载刷新方法,其特征在于:步骤s1中,flash芯片的数量为3片,每片flash芯片均根据地址分成主配置程序存储区和备配置程序存储区,通过arm将配置程序存储于每个flash芯片的所述主配置程序存储区,在每个flash芯片的所述备配置程序存储区中存储备份...

【专利技术属性】
技术研发人员:姚建冲于勇王纲常敏金瑞琪禹强华耿鹏飞
申请(专利权)人:北京遥测技术研究所
类型:发明
国别省市:

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

1