一种星载多处理器软件在轨编程系统及其设计方法与流程

文档序号:17396801发布日期:2019-04-13 00:53阅读:718来源:国知局
一种星载多处理器软件在轨编程系统及其设计方法与流程

本发明涉及星载软件技术领域,特别涉及一种星载多处理器软件在轨编程系统及其设计方法。



背景技术:

星载软件是运行于星载处理器上的嵌入式软件,是卫星的控制核心。卫星发射之后,由于软件自身缺陷、软件功能升级等原因需要实现软件代码的在轨更改或升级维护,在轨编程技术是一个可行的技术手段,大大提高了卫星的可用性及可靠性。卫星功能的日益复杂带来星载处理器数量的不断增加和星载软件代码规模的不断扩大,现有在轨编程方法具有一定的局限性,如何设计一种简单实用的星载多处理器软件在轨编程方法显得尤为重要。

非专利文献《一种星载软件在轨编程功能的设计和实现技术》通过注入子程序和修改地址表中该子程序的入口地址实现在轨编程,不需要外部存储器,不适用于大规模软件在轨编程且在轨编程代码不能固化,一旦断电或复位,需要重新进行在轨编程,影响卫星任务的正常运行。非专利文献《基于arm+uc/os-ii的星载软件重构技术研究》提出了一种arm指令动态重构方法,该方法只适用于采用arm处理器+uc/os-ii操作系统结构的软件在轨编程,具有局限性。

公布号为cn105373411a的专利文献《一种用于星载数字信号处理器的在轨编程系统及设计方法》仅针对星载dsp(数字信号处理器)软件实现在轨编程,不适用于星载fpga(可编程门阵列)软件的在轨编程,且在轨编程代码不能固化。公布号为cn107391189a的专利文献《星载软件的在轨编程方法》提出了一种利用eeprom(电可擦除可编程只读存储器)实现在轨编程的方法,但eeprom的容量相对较小,若要实现大规模软件或多个处理器软件的在轨编程,需要多个eeprom芯片,增加硬件成本和复杂度。公布号为cn107168721a的专利文献《星载多处理器软件集中存储加载装置、方法及更新方法》利用总线和多个控制芯片实现星载多处理器软件的加载更新,控制逻辑复杂,与本发明所述内容完全不同。



技术实现要素:

本发明的目的是提供一种星载多处理器软件在轨编程系统及其设计方法,每个星载处理器的原始安全软件存储在各自的prom(可编程只读存储器)中,通过反熔丝型fpga芯片中存储的管理fpga软件控制将地面上注的多个大规模处理器软件固化至同一片大容量norflash(非易失闪存)芯片中,并可控制从prom中加载处理器的原始安全软件或从norflash芯片的某一分区中加载对应处理器的在轨编程软件,简单可靠,操作灵活,满足了星载多处理器软件的在轨可维护性需求。

为了实现以上目的,本发明是通过以下技术方案实现的:

一种星载多处理器软件在轨编程系统,包括:

单片反熔丝型fpga芯片;

多片prom芯片,其数据线及控制线与所述反熔丝型fpga芯片连接;

单片norflash芯片,其地址线、数据线及控制线与所述反熔丝型fpga芯片连接;

多片处理器芯片,其加载配置管脚与所述反熔丝型fpga芯片连接。

优选地,所述单片反熔丝型fpga芯片用于存储管理fpga软件,上电后自动运行,实现遥控注数功能和对多处理器软件的加载控制;

所述多片prom芯片,用于存储所述多片处理器芯片各自的原始安全软件;

所述单片norflash芯片,用来分区存储所述多片处理器芯片各自的在轨编程软件;

所述多片处理器芯片,通过所述单片反熔丝型fpga芯片中存储的管理fpga软件控制从所述多片prom芯片中加载原始安全软件或从所述单片norflash芯片的某一分区中加载对应处理器的在轨编程软件,每个处理器芯片实现各自的功能。

一种基于上述的星载多处理器软件在轨编程系统的设计方法,包含如下步骤:

s1,系统上电后,管理fpga软件默认从prom芯片中加载各星载处理器芯片的原始安全软件,系统正常工作;

s2,若某个或某几个星载处理器软件需要进行在轨编程,在地面计算机上进行在轨编程程序设计;

s3,利用程序编译器生成需进行在轨编程的某个或某几个星载处理器软件的程序二进制代码,并对数据进行edac编码保护,生成各自的在轨编程上注代码;

s4,采用遥控注数的方式将不同星载处理器芯片的在轨编程上注代码通过反熔丝型fpga芯片写入同一片norflash芯片的对应分区;

s5,上注成功后,通过遥控指令选择反熔丝型fpga芯片从norflash芯片的对应分区加载上注的在轨编程软件代码至对应的星载处理器芯片中,实现在轨编程。

优选地,在步骤s2至步骤s4的在轨编程程序设计、编码及软件上注过程中,各星载处理器芯片仍在运行原始安全软件。

优选地,如需再次修改一个或其中几个星载处理器芯片的软件程序,跳回步骤s2,重新执行步骤s2至步骤s5。

优选地,如一个或几个星载处理器芯片需返回原始安全软件,只需通过遥控指令选择反熔丝型fpga芯片从prom芯片中加载各星载处理器芯片的原始安全软件。

本发明与现有技术相比,具有以下优点:

本发明通过反熔丝型fpga芯片中存储的管理fpga软件将地面上注的多个大规模处理器软件固化至同一片大容量norflash芯片中,减少了硬件成本和复杂度,且断电后在轨编程代码不丢失;本发明将每个处理器的原始安全软件存储在各自的prom中,通过管理fpga软件控制从prom加载原始安全程序或从norflash芯片的某一分区中加载对应处理器的在轨编程程序,操作灵活。

附图说明

图1为本发明一种星载多处理器软件在轨编程系统的结构图;

图2为本发明一种星载多处理器软件在轨编程的设计方法的流程图。

具体实施方式

以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。

如图1所示,一种星载多处理器软件在轨编程系统,包括:单片反熔丝型fpga芯片,是整个系统的控制核心;多片prom芯片,其数据线及控制线与所述反熔丝型fpga芯片连接;单片norflash芯片,其地址线、数据线及控制线与所述反熔丝型fpga芯片连接;多片处理器芯片,其加载配置管脚与所述反熔丝型fpga芯片连接。

需要说明的是,所述单片反熔丝型fpga芯片,用于存储管理fpga软件,上电后自动运行,实现遥控注数功能和对多处理器软件的加载控制;

所述多片prom芯片,具有高可靠性和不可重新编程的特点,用来存储所述多处理器芯片各自的原始安全软件;

所述单片norflash芯片,存储容量大并支持可重新编程,用来分区存储所述多片处理器芯片各自的在轨编程软件,减少了硬件成本和复杂度,且断电后在轨编程代码不丢失;

所述多片处理器芯片,通过所述单片反熔丝型fpga芯片中存储的管理fpga软件控制从所述多片prom芯片中加载原始安全软件或从所述单片norflash芯片的某一分区中加载对应处理器的在轨编程软件,每个处理器芯片实现各自的功能。

具体地,单片反熔丝型fpga芯片,本实例中的反熔丝型fpga芯片选择actel公司的ax2000-1cg624m,用于存储管理fpga软件,上电后自动运行,实现遥控注数功能和对多处理器软件的加载控制,是整个系统的控制核心;

多片处理器芯片,本实例中的处理器芯片选择xilinx公司的sram型fpga,具体型号规格为xqr4vsx55,每个fpga芯片实现各自的功能,每个配置软件的数据量为21.69mbit;

多片prom芯片,本实例中的prom芯片选择xilinx公司的xqr17v16cc44v,存储容量为16mbit,针对本实例中选择的xqr4vsx55处理器的配置软件数据量,每个处理器需配备2片prom芯片,用来存储各自的原始安全软件;

单片norflash芯片,本实例中的norflash芯片选择3dplus公司的3dfo256m16vs4269,此norflash的存储容量为256mbit,针对本实例中选择的xqr4vsx55处理器的配置软件数据量,考虑编码效率和存储效率,单片处理器软件实际占用的存储单元大小为34.7mbit,本实例中的单片norflash芯片可存储7片处理器的配置软件,减少了硬件成本和复杂度,且断电后在轨编程代码不丢失。

在本实例中较佳地,如图1所示,所述每个xqr4vsx55处理器芯片的7个加载配置管脚cclk、done、prog_b、rdwr_b、busy、cs_b、init_b均与反熔丝型fpga芯片ax2000-1cg624m相连。

在本实例中较佳地,如图1所示,所述每个prom芯片的数据线d0~d7及控制线oe、ce、clk、busy均与反熔丝型fpga芯片ax2000-1cg624m相连。

在本实例中较佳地,如图1所示,所述单片norflash芯片的地址线a0~a21、数据线d0~d15和控制线reset、oe、we、ce0~ce3、wp/acc0~wp/acc3、byte、ry/by均与反熔丝型fpga芯片ax2000-1cg624m相连。

以上结合附图1描述了根据本发明实施例的星载多处理器软件在轨编程系统。进一步地,本发明还公开了基于上述系统的设计方法,包括:

步骤一,系统上电后,管理fpga软件默认从prom芯片中加载各星载处理器芯片的原始安全软件,系统正常工作;

步骤二,若某个或某几个星载处理器软件需要进行在轨编程,在地面计算机上进行在轨编程程序设计;

步骤三,利用程序编译器生成需进行在轨编程的某个或某几个星载处理器软件的程序二进制代码,并对数据进行edac编码保护,编码方式为(8,4)汉明码,编码效率为2/3,即66.67%,即单个字节数据需要增加4bit监督位数据,生成各自的在轨编程上注代码;

步骤四,采用遥控注数的方式将不同星载处理器芯片的在轨编程上注代码通过反熔丝型fpga芯片写入同一片norflash芯片的对应分区,上注时采用页模式写入,每页128字节,单个软件上注数据包长度限制为240字节,分两页写入,每页有8字节冗余,即存储效率为120/128,即93.75%;

步骤五,上注成功后,通过遥控指令选择反熔丝型fpga芯片从norflash芯片的对应分区加载上注的在轨编程软件代码至对应的星载处理器芯片中,实现在轨编程。

在步骤二至步骤四的在轨编程程序设计、编码及软件上注过程中,各星载处理器芯片仍在运行原始安全软件,不影响系统的正常工作。

如需再次修改某个或某几个星载处理器芯片的软件程序,跳回步骤二,重新执行步骤二至步骤五。

如某个或某几个星载处理器芯片需返回原始安全软件,只需通过遥控指令选择反熔丝型fpga芯片从prom芯片中加载各星载处理器的原始安全软件即可。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

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