基于动态切换的空间应用嵌入式软件自修复系统的制作方法

文档序号:17220950发布日期:2019-03-27 11:57阅读:152来源:国知局
基于动态切换的空间应用嵌入式软件自修复系统的制作方法

本发明涉及面向空间应用嵌入式软件重构的电子学系统的技术领域,具体涉及基于fpga的动态切换技术的空间应用嵌入式软件自修复系统,该嵌入式软件自修复系统可实现在轨故障的检测和修复。



背景技术:

航天器发射以后,程序或软件故障修复的成本是非常高的,甚至有可能无法实现修复。因此,航天器在设计之初就需要考虑到电子学系统的故障检测和维修方法。航天相机是复杂的电子学系统,尽管进行了完善的软件测试,仍有可能由于设计不完善造成软件故障,从而引发航天任务失败。另一方面,航天器电子学系统在使用一定期限以后,可能有软件更新的需求。这种软件更新的需求可能是为了适应探测器的升级改造,或者为了满足一些新的功能。gjb9001-2009《质量管理体系要求》提出在产品策划阶段就要针对可靠性、维修性、保障性、测试性、安全性和环境适应性进行有针对的设计和开发。航天相机相关的电子学软件的可重构特性,为航天器电子学系统提供了一种远程维修和故障修复的手段,使得软件更好的符合《质量管理体系要求》的六性要求,对航天任务的保证具有非常重要的实际价值。

软件重构技术充分发挥了软件的灵活性,是弥补软件缺陷的一种有效手段。针对dsp平台,在线编程作为一种编程技术广泛地应用于汽车、医疗、北斗导航等多种不同的场合。应用在线编程以连续遥控注入的方式将完整的软件功能模块代码注入到应用设备,提供了一种通过软件升级消除软件功能模块缺陷的能力。应用在线编程的方法一般采用bootload+app的方式实现,但是,由于该方法无法保留初始版本,一旦二次加载程序出现异常,则往往无法再恢复。

因此,针对现有的软件重构技术无法保留初始版本且一旦加载出现错误而无法自行修复的问题,有必要提供一种面向航天相机的自修复系统,即基于动态切换的空间应用嵌入式软件自修复系统。



技术实现要素:

针对现有的软件重构技术无法保留初始版本且一旦加载出现错误而无法自行修复的问题,有必要提供一种面向航天相机的自修复系统,即基于动态切换的空间应用嵌入式软件自修复系统。本发明实施例所提供的基于动态切换的空间应用嵌入式软件自修复系统在加载程序出错的情况下,能够恢复原始版本并进行再次加载,而且与现有空间相机电子学方案采用相同的系统架构,与现有方案完全兼容。

该基于动态切换的空间应用嵌入式软件自修复系统的具体方案如下:一种基于动态切换的空间应用嵌入式软件自修复系统,包括:反熔丝fpga,用于完成多个不同eeprom的使能端的切换工作;sram型fpga,与所述反熔丝fpga进行单向通信,所述反熔丝fpga将程序动态配置及程序完整性检测的信息传输给所述sram型fpga;所述sram型fpga包括与dsp的通讯接口、第一地址译码器、多个不同类型控制器及多个不同的外部接口;dsp,与所述sram型fpga双向通信,用于进行图形图像计算、系统总体调度和软件重构。

优选地,所述反熔丝fpga包括用于进行程序动态配置的sram型flash动态配置接口、用于进行程序完整性检测的sram型fpga配置数据回读单元和eeprom使能端切换单元。

优选地,所述反熔丝fpga包括第二地址译码器、多个d型触发器、多个不同eeprom、使能端跳线和看门狗。

优选地,所述多个不同eeprom包括第一块eeprom、第二块eeprom、第三块eeprom;所述第一块eeprom和第二块eeprom中的程序为固化程序,所述第三块eeprom中的程序为空的程序。

优选地,所述第一块eeprom用于完成主份程序的工作,所述第二块eeprom用于完成故障检测程序的工作、所述第三块eeprom用于进行远程更新程序的工作。

优选地,所述多个不同类型控制器包括sdram控制器和nandflash控制器。

优选地,所述多个不同的外部接口包括1553数据通讯接口、光纤传输接口和cmos传感器接口。

优选地,所述dsp采用型号为c6701的dsp。

优选地,所述系统包括多种软件修改模式:初次改写主份程序模式、故障检测模式、程序更新模式、更新程序启动模式。

优选地,所述系统为倒金字塔结构,所述反熔丝fpga为倒金字塔结构的第一层,所述sram型fpga为倒金字塔结构的第二层、所述dsp为倒金字塔结构的第三层。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例提供一种基于动态切换的空间应用嵌入式软件自修复系统提供了一种基于1553b总线的面向空间的电子学系统修复以及软件重构的方法,修复过程主要以软件更新的形式进行,降低了硬件维修成本,从而有效地提高了航天器电子学系统的可靠性和可维修性能。进一步地,本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统是基于反熔丝fpga的eeprom动态切换,通过三个不同的eeprom分别实现主份程序的工作、故障检测程序的工作、远程更新程序的工作,实现了物理隔离,从硬件上避免了主份程序的修改,避免备份程序错误造成的软件失效。进一步地,本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统故障检测与主份程序是物理隔离的,进一步提高了不同程序实施时的高效性。进一步地,本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统虽然故障检测与主份程序是物理隔离的,但是它们都共享ram、flash或串行通讯总线等硬件资源,有效地降低了系统的体积及成本。进一步地,本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统的硬件设计上与现有技术中已有的设计方案兼容,便于利用空间载荷电子学系统设计经验。

附图说明

图1为本发明实施例中提供的一种基于动态切换的空间应用嵌入式软件自修复系统的模块示意图;

图2为本发明实施例提供的一种反熔丝fpga中与不同eeprom切换相关的功能示意图;

图3为采用图1所示实施例的故障检测系统应用的功能示意图。

附图中标号说明:

100、软件自修复系统1、反熔丝fpga2、sram型fpga

3、dsp11、sram型flash动12、sram型fpga配

态配置接口置数据回读单元

13、eeprom使能端切换单元4、第一块eeprom5、第二块eeprom

6、第三块eeprom27、第一地址译码器28、dsp和fpga通讯接口

29、1553数据通讯接口210、光纤传输接口211、sdram控制器

212、nandflash控制器213、cmos传感器接口112、1553b控制总线

131、第二地址译码器132、第一d型触发器133、第二d型触发器

134、第三d型触发器135、第四d型触发器9、使能端跳线

113、看门狗51、地面检测软件53、交互命令行编解码模块

54、硬件底层驱动测试程序55、单元测试程序56、部件测试程序

57、项测试程序

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,本发明实施例中提供的一种基于动态切换的空间应用嵌入式软件自修复系统的模块示意图。基于动态切换的空间应用嵌入式软件自修复系统100包括用于完成多个不同eeprom的使能端的切换工作的反熔丝fpga1,与反熔丝fpga1进行单向通信且反熔丝fpga1将程序动态配置及程序完整性检测的信息传输给sram型fpga2,与sram型fpga2双向通信且用于进行图形图像计算、系统总体调度和软件重构的dsp3。

在该实施例中,基于动态切换的空间应用嵌入式软件自修复系统100为倒金字塔结构,其中,反熔丝fpga1为倒金字塔结构的第一层,sram型fpga2为倒金字塔结构的第二层,dsp3为倒金字塔结构的第三层。高可靠性金字塔形体系结构,利用处理能力有限、但是抗干扰能力强的单元对下一级低抗干扰能力弱、但是处理能力强的单元进行监管,从而构成一个倒金字塔型。

多个不同eeprom包括第一块eeprom4、第二块eeprom5、第三块eeprom6。第一块eeprom4和第二块eeprom5中的程序为固化程序,第三块eeprom6中的程序为空的程序。第一块eemprom4是最初设计的基本程序。第二块eeprom5与第一块eeprom4的基本功能相同,但第二块eeprom5中的程序包含了故障检测功能。第一块eeprom4和第二块eeprom5在发射前就已经完成程序固化,第三块eeprom6是一块空的程序区域,为在轨重新注入程序所预留。

第一块eeprom4的写入控制线,采用跳线设计,烧写主份程序完成后,通过去除板卡上的跳线帽,断开第一块eeprom4的写入端,从而避免第一块eeprom4的错误改写。每次上电后,都从第一块eeprom4的主份程序开始启动,需要切换到其他程序时,由主控程序通过1553b总线上注入程序切换命令,然后重启dsp,完成其他程序的切换流程。这种设计使得每次上电都确保程序从主份程序启动,避免了二次加载程序异常后无法恢复的问题。

第一层反熔丝fpga1包括用于进行程序动态配置的sram型flash动态配置接口11、用于进行程序完整性检测的sram型fpga配置数据回读单元12和eeprom使能端切换单元13。反熔丝fpga1实现不同eeprom使能端切换功能,可通过dspemif接口命令实现不同eeprom的使能端切换。倒金字塔结构的第一层反熔丝fpga完成的主要功能:a.eeprom使能端切换单元13主要用于完成dsp软件重构后的程序切换;以及切换到故障检测程序进行故障分析;b、sram型flash动态配置接口11用于对fpga进行动态配置的数据接口;c、sram型fpga配置数据回读单元12用于预防单粒子翻转引发的配置信息错误。

第二层sram型fpga2包括与dsp的通讯接口28、第一地址译码器27、多个不同类型控制器及多个不同的外部接口。多个不同类型控制器主要用于控制存储器,包括sdram控制器211和nandflash控制器212。多个不同的外部接口主要用于作为通讯相关的接口,包括1553数据通讯接口29、光纤传输接口210和cmos传感器接口213。

第三层是dsp3,在该实施例中dsp3采用型号为c6701的dspc6701dsp。dsp3主要负责图形图像计算,以及系统总体调度和软件重构算法。

如图2所示,本发明实施例提供的一种反熔丝fpga中与不同eeprom切换相关的功能示意图。反熔丝fpga1包括第二地址译码器131、多个d型触发器、多个不同eeprom、使能端跳线9和看门狗113。多个d型触发器包括第一d型触发器132、第二d型触发器133、第三d型触发器134、第四d型触发器135。多个不同eeprom包括第一块eeprom4、第二块eeprom5、第三块eeprom6。采用动态切换技术,基于动态切换的空间应用嵌入式软件自修复系统100包括多种软件修改模式:初次改写主份程序模式、故障检测模式、程序更新模式、更新程序启动模式。各个模式具体的介绍如下所述:

a、初次改写主份程序模式:第一块eeprom4连接使能跳线端9,采用常规的仿真器方式将主份程序固化于第一块eeprom4,程序测试验证完毕后,断开使能跳线端9,防止主份程序修改。

b、故障检测模式:在第一块eeprom4的主份程序引导完成后,接收到1553b控制总线112故障检测命令,dsp3向反熔丝fpga1发送第二块eeprom5切换指令,第二地址译码器131拉高第二d触发器133的使能端,使能第二块eeprom5。

c、程序更新模式:在第一块eeprom4的主份程序引导完成后,接收到1553b控制总线112的程序更新命令,dsp3按照文件传输协议从1553b112接收程序数据,将其固化与第三块eeprom6。

d、更新程序启动模式:完成第三块eeprom6的更新程序固化后,地面控制中心通过1553b控制总线112发送更新程序启动命令,dsp3向反熔丝fpga1发送第三块eeprom6切换指令,第二地址译码器131拉高第三d触发器134的使能端,使能第三块eeprom6,停止看门狗113重启dsp3,dsp3从第三块eeprom6开启引导程序。

发生故障时,通过在轨重新注入程序的方式,将修改好的版本注入到第三块eeprom6的dsp程序区或fpga程序区。空间相机发生故障后,系统维修的条件和步骤如下:

步骤s1:首先发出动态切换指令,切换到第二块eeprom5的故障检测功能,对每个模块进行故障检测,定位故障后进行程序修改;

步骤s2:地面控制中心对程序进行修改,编译链接成可执行程序,然后转换为二进制格式,并按照1553b数据注入协议分拆成若干包以便进行文件传输;

步骤s3:地面控制中心通过1553b总线将程序数据上传至航天相机电子学软件,航天相机电子学软件经过完整性校验后,将其缓存至内部ram空间;

步骤s4:航天器电子学软件从ram空间读取待修改程序,并将其固化到第三块eeprom6的区域;

步骤s5:动态切换eeprom的使能端13到第三块eeprom6;

步骤s6:关闭看门狗113,重新启动dsp3;

步骤s7:dsp3从第三块eeprom6读取程序并完成二次引导过程,从而完成故障修复;

第二块eeprom5中内嵌了系统故障排查程序,在发生故障后通过1553b总线将程序切换到第二块eeprom5启动排查程序,故障检测系统的功能框图见附图3所示。如图3所示,故障检测系统具体包括地面检测软件51、1553b通讯总线112、交互命令行编解码模块53、硬件底层驱动测试程序54、单元测试程序55、部件测试程序56和配置项测试程序57。地面检测软件51通过1553b通讯总线112以命令行的形式与航天器电子学软件(下位机)进行交互。

故障检测系统的具体步骤包括:

步骤t1:将交互命令行编解码模块53的通讯信道重定位到1553b总线112的数据注入和数字遥测量通道,可以采取的一种技术途径是将c语言标准io库的putch和printf函数分别重定位到1553b总线的数据注入和遥测量输出;

步骤t2:有地面控制中心首先测试故障相关的硬件接口,这是通过调用硬件底层驱动测试程序54完成的;

步骤t3:地面控制中心然后一次对不同层次的软件进行故障检测,调用单元测试程序55、部件测试程序56和配置项测试程序57。

故障排查程序采用类似linux的命令行结构。将交互命令行编解码模块53的通讯信道重定位到1553b的数据注入和数字遥测量通道,从而实现“人机交互”方式的故障排查。故障排查内容主要包括:对每个底层驱动设计自我检查功能,通过上位机调用该功能,实现底层硬件驱动测试程序54的检测;对软件模块进行检测,软件模块包括单元测试程序55、部件测试程序56和配置项目测试程序57。

本发明实施例提供一种基于动态切换的空间应用嵌入式软件自修复系统提供了一种基于1553b总线的面向空间的电子学系统修复以及软件重构的方法,修复过程主要以软件更新的形式进行,降低了硬件维修成本,从而有效地提高了航天器电子学系统的可靠性和可维修性能。

本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统是基于反熔丝fpga的eeprom动态切换,通过三个不同的eeprom分别实现主份程序的工作、故障检测程序的工作、远程更新程序的工作,实现了物理隔离,从硬件上避免了主份程序的修改,避免备份程序错误造成的软件失效。

本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统故障检测与主份程序是物理隔离的,进一步提高了不同程序实施时的高效性。

本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统的故障检测程序,可以针对每个硬件或逻辑功能进行单元测试,故障检测可以定位到每个芯片管脚。

本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统虽然故障检测与主份程序是物理隔离的,但是它们都共享ram、flash或串行通讯总线等硬件资源,有效地降低了系统的体积及成本。进一步地,本发明实施例所提供的一种基于动态切换的空间应用嵌入式软件自修复系统的硬件设计上与现有技术中已有的设计方案兼容,便于利用空间载荷电子学系统设计经验。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1