发明内容
本发明的目的在于,提供一种基于FPGA的卫星星务计算机在轨重构系统及方法,其能够提供两种在轨重构的方案,并结合单粒子事件抗辐射加固措施,可使本发明在低轨道任务中灵活应用,并保证了重构过程的可靠性。
为实现上述目的,本发明提供了一种基于FPGA的卫星星务计算机在轨重构系统,包括, 一内部集成CPU内核的星务FPGA芯片,用于实现星务功能;一控制FPGA芯片,用于接收通过卫星的一通信模块上传的在轨重构所需配置文件并转存至一SPI闪存单元中,并对所述星务FPGA芯片的在轨重构进行控制,其中,所述在轨重构所需配置文件包括JTAG配置模式所需的配置文件或SPI配置模式所需的配置文件;所述SPI闪存单元,用于存储所述在轨重构所需配置文件;其中,在运行JTAG配置模式实现在轨重构时,由所述控制FPGA芯片从所述SPI闪存单元中读出JTAG配置模式所需的配置文件,向所述星务FPGA芯片发送配置数据,以完成重新配置;在运行SPI配置模式实现在轨重构时,所述控制FPGA芯片通知所述星务FPGA芯片启动SPI配置模式,并由所述星务FPGA芯片从所述SPI闪存单元中读取SPI配置模式所需的配置文件,以完成重新配置。
为实现上述目的,本发明还提供了一种基于FPGA的卫星星务计算机在轨重构方法,包括以下步骤:(1)控制FPGA芯片接收地面端上传的在轨重构所需配置文件;(2)所述控制FPGA芯片根据所述在轨重构所需配置文件判断配置模式采用JTAG配置模式或SPI配置模式,若采用JTAG配置模式则执行步骤(3),若采用SPI配置模式则执行步骤(4);(3)所述控制FPGA芯片将所述在轨重构所需配置文件存入第一SPI闪速存储器,并采用JTAG配置模式对星务FPGA芯片重新配置完成在轨重构;(4)所述控制FPGA芯片将所述在轨重构所需配置文件存入第二SPI闪速存储器,并采用SPI配置模式对星务FPGA芯片重新配置完成在轨重构。
本发明的优点在于:
1)使用灵活:可根据星务的实际运行情况,灵活选用两种不同的配置方法(JTAG配置模式或SPI配置模式)进行星务计算机的在轨重构;可分别对星务计算机中的FPGA逻辑单元和/或CPU内核软件进行重新配置;控制FPGA芯片和星务FPGA芯片的选型灵活性、I/O分配灵活,用户可根据需求选择功能适合的FPGA器件,分别作为控制FPGA芯片和星务FPGA芯片,同时控制FPGA芯片的I/O分配灵活可选;星务FPGA芯片的功能在重新配置后可灵活实现各种功能,满足不同任务的需求;
2)可靠性高:控制FPGA芯片采用高可靠且经过在轨验证的flash型或者反熔丝型FPGA,同时对其逻辑单元采用多种抗辐射加固措施,保证了整个重新配置过程的安全可靠;
3)成本低:星务FPGA芯片采用工业级flash型FPGA,其成本不到2000元,控制FPGA芯片采用高等级的flash型或者反熔丝型FPGA,成本大约为几万元,相比于现有高等级大容量的SRAM型FPGA往往成本达几十万元而言,本发明成本极低;
4)功耗低:本发明中功耗的主要来源是大容量星务FPGA芯片的功耗,星务FPGA芯片采用flash型器件,其功耗远比现有SRAM型FPGA低,选用的控制FPGA芯片也是低功耗器件,因此整体功耗低。
附图说明
图1,本发明所述的基于FPGA的卫星星务计算机在轨重构系统的架构图;
图2,本发明所述对FPGA逻辑单元加固示意图;
图3,本发明所述对SRAM进行EDAC校验流程图;
图4,本发明所述的基于FPGA的卫星星务计算机在轨重构系统的启动方法流程图;
图5,本发明所述的基于FPGA的卫星星务计算机在轨重构系统在轨重构方法流程图;
图6,本发明一实施例所述的基于FPGA的卫星星务计算机在轨重构方法流程图。
缩略语和关键术语定义:
OBC:On-Board Computer 星务计算机
OBDH:On-Board Data Handling 星上数据处理
ADC:Amplitude-Digital-Convertor 幅度数字转换器
FPGA:Field-Programmable-Gate-Arrays 现场可编程门阵列
CPU:Central Processing Unit 中央处理器
SEU: Single-Event-Upset 单粒子翻转
SRAM: Static Random Access Memory 静态随机存储器
PCB: Printed Circuit board 印刷电路板
SPI:Serial Peripheral Interface 外围串行接口
UART:Universal Asynchronous Receiver & Transmitter 通用异步收发器
E2PROM:Electrically Erasable Programmable Read-Only Memory 电可擦可编程只读存储器
ASIC:Application Specific Integrated Circuit 专用集成电路
JTAG:Joint Test Action Group 联合测试行为组织
CRC:Cyclic Redundancy check 循环冗余校验码
I/O:Input and Output 输入输出端口。
具体实施方式
下面结合附图对本发明提供的基于FPGA的卫星星务计算机在轨重构系统及方法的具体实施方式做详细说明。
首先结合附图给出本发明所述基于FPGA的卫星星务计算机在轨重构系统的实施方式。
参见图1,本发明所述的基于FPGA的卫星星务计算机在轨重构系统的架构图。所述星务计算机在轨重构系统包括一星务FPGA芯片12、一控制FPGA芯片14以及一SPI闪存单元。所述星务FPGA芯片12用于实现星务功能,其内部集成CPU内核。所述控制FPGA芯片14用于接收通过卫星的一通信模块11上传的在轨重构所需配置文件并转存至所述SPI闪存单元中,并对所述星务FPGA芯片12的在轨重构进行控制。所述SPI闪存单元用于存储所述在轨重构所需配置文件。其中,所述在轨重构所需配置文件包括JTAG配置模式所需的配置文件或SPI配置模式所需的配置文件。在运行JTAG配置模式实现在轨重构时,由所述控制FPGA芯片14从所述SPI闪存单元中读出JTAG配置模式所需的配置文件,向所述星务FPGA芯片12发送配置数据,以完成重新配置;在运行SPI配置模式实现在轨重构时,所述控制FPGA芯片14通知所述星务FPGA芯片12启动SPI配置模式,并由所述星务FPGA芯片12从所述SPI闪存单元中读取SPI配置模式所需的配置文件,以完成重新配置。也即提供两种在轨重构的方案,可使本发明在低轨道任务中灵活应用。其中,JTAG(Joint Test Action Group;联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。
本发明中可在轨重构纳星星务计算机的硬件包括两块核心处理芯片:用于实现星务功能的星务FPGA芯片12,以及用于实现在轨重构的控制FPGA芯片14。作为优选的实施方式,本发明中,星务FPGA芯片12可以为Microsemi公司提供的大容量且集成了ARM CPU内核的flash型FPGA Smartfusion2;控制FPGA芯片14可以是经过在轨验证的高可靠的军工级flash型或者反熔丝型FPGA ProASIC3 A3P1000;同时设计有两片SPI 闪速存储器,用于分别存储JTAG配置模式和SPI配置模式所需的配置文件。星务计算机中还包括其他一些实现星务功能的外围电路15,这些外围电路与重新配置过程并不相关。上述的星务计算机所包括的器件都集成在一块印刷电路板(PCB)中,大大提高电路的集成度。
在实现本发明所述的微纳卫星星务计算机的可在轨重构功能时,使用其他型号集成ARM CPU内核的Flash型FPGA(如Fusion系列或Smartfusion系列)作为星务FPGA芯片,可以达到相同的目的。
本发明提供一种可靠性高、设计灵活性高、低功耗且低成本的星务可在轨重构方案。本发明在提供星务计算机在轨可重构功能的同时,还保证了星务功能的高可靠性。对星务FPGA芯片12进行在轨重构的逻辑算法全部由控制FPGA芯片14实现,这部分逻辑在卫星发射后不再变更(但是在设计时仍然可以根据实际需求灵活修改)。星务FPGA芯片12在进行配置后,配置信息是存储在FPGA内部的非易失性存储单元上,这种存储单元的结构对空间高能粒子引起SEU事件的免疫力较高,卫星在轨寿命中几乎不会发生配置存储单元的翻转事例,因此不需要针对FPGA的非易失性存储单元设计重新加载功能。其中,配置文件的上传、校验与存储管理,以及重新配置的控制都在单片控制FPGA芯片14中实现。
本发明中,对星务计算机的在轨重构有两种不同的方案:一种是外部控制FPGA芯片通过JTAG配置模式对星务计算机进行重新配置;另一种是采用SPI配置模式进行重新配置。所述在轨重构所需配置文件包括星务FPGA芯片12中FPGA逻辑单元的配置信息和/或星务FPGA芯片12中CPU内核的软件代码;也即星务FPGA芯片12中FPGA逻辑单元和内部集成的ARM CPU的运行代码都可以通过以上两种方案进行重新配置。
星务FPGA芯片12的在轨重构文件通过卫星的通信模块11上传,由控制FPGA芯片14存储至星务计算机中集成的SPI闪存单元中。在实际应用时,可根据星务计算机的实际运行情况选择重新配置途径:在星务FPGA芯片12运行正常时,如需要更新配置信息,则可选择由SPI配置模式进行重新配置;在运行星务FPGA芯片12的JTAG配置模式时,由控制FPGA芯片14自存储器中读出配置信息,按照JTAG配置模式的配置时序,依次向星务FPGA芯片12的配置JTAG I/O发送配置数据,以完成重新配置。在星务FPGA芯片12运行出现错误或其他无法自行完成配置的情况时,则可选择以JTAG配置模式由控制FPGA芯片14完成重新配置的全程控制(使用Smartfusion2内部集成的ARM Cortex-M3 CPU也可以对在轨重构过程进行管理);在以SPI配置模式实现在轨重构功能时,控制FPGA芯片14通知星务FPGA芯片12启动SPI配置模式,并由星务FPGA芯片12自行从SPI闪存单元中读取配置信息,自发完成配置功能。
本发明中,进一步对重新配置进行控制的控制FPGA芯片14中的FPGA逻辑单元和输入输出I/O做单粒子抗辐射加固设计,通过对FPGA逻辑的关键部分做三模冗余,对输入输出I/O设计单粒子瞬态脉冲滤波电路,提高对空间单粒子辐射的免疫力保证在轨重构过程的可靠性。通过对从地面接收到的配置数据进行CRC校验,保证配置信息的正确性。
参见图2,本发明所述对控制FPGA芯片进行单粒子辐射加固电路示意图。本发明所述控制FPGA芯片14应选取高可靠的flash型或者反熔丝型FPGA,同时对其中的逻辑单元和输入输出I/O做抗单粒子辐射加固设计,以保证整个星务重新配置过程的安全性和可靠性。所述的控制FPGA芯片14进一步包括三模冗余模块201以及滤波电路202。所述三模冗余模块201用于对所述控制FPGA芯片14的FPGA逻辑单元进行三倍模块的冗余,并采用三选二的机制得到输出结果;三倍模块的冗余可以对于逻辑的关键部位进行。所述滤波电路202用于对所述控制FPGA芯片14的所有输入输出I/O做单粒子瞬态脉冲滤波;即将输入信号一分二,对其中一路作延时,在检测到这两路信号同时较之前状态发生改变时,才翻转输出的状态,以滤除因空间单粒子辐射引起的逻辑单元毛刺噪声。在对本发明进行单粒子抗辐射加固时,使用多个器件进行冗余设计而不在所述控制FPGA芯片14内部的逻辑单元进行设计,二者可实现相同的目的。
本发明中,控制FPGA芯片14中采用的抗辐射加固措施还包括对在轨重构所需配置文件的配置数据的CRC校验。所述控制FPGA芯片14进一步包括CRC校验模块(图中未示出),所述CRC校验模块用于对所述控制FPGA芯片14接收的在轨重构所需配置文件的配置数据进行CRC校验。具体为:在轨重构所需配置文件在由地面端发送时都需事先进行CRC编码,每字节配置数据中都插入单个字节的CRC校验码;控制FPGA芯片14在接收到包含配置数据的在轨重构所需配置文件时,所述CRC校验模块都根据CRC校验码对前一字节数据进行校验,若发现CRC校验错误则放弃当前的配置文件,还可以进一步通知地面端重新发送数据。
继续参考图1,所述SPI闪存单元用于存储所述在轨重构所需配置文件。作为优选的实施方式,所述SPI闪存单元包括一第一SPI 闪速存储器16以及一第二SPI 闪速存储器18。所述第一SPI 闪速存储器16用于存储JTAG配置模式所需的配置文件,其采用SPI总线与所述控制FPGA芯片14进行通信;所述第二SPI 闪速存储器18用于存储SPI配置模式所需的配置文件其通过一多路选择器19分别与所述控制FPGA芯片14和所述星务FPGA芯片12相连。以下结合图3-4对所述SPI闪存单元各SPI 闪速存储器的接口设计进行详细描述。
参考图3,本发明所述第一SPI 闪速存储器接口示意图。第一SPI 闪速存储器16用于存储JTAG配置模式的配置文件,其只需要与控制FPGA芯片14进行数据交互,因此只将第一SPI 闪速存储器16的I/O与控制FPGA芯片14相连。
参考图4,本发明所述第二SPI 闪速存储器接口示意图。第二SPI 闪速存储器18用于存储SPI配置模式的配置文件。在写入配置文件时,其需要与控制FPGA芯片14进行数据交互;而在执行SPI配置过程中,则需与星务FPGA芯片12进行数据交互。对第二SPI 闪速存储器18的接口设计加入多通道的多路选择器19,多路选择器19将第二SPI 闪速存储器18的I/O的输入输出信号分为两路,分别连向星务FPGA芯片12和控制FPGA芯片14的SPI接口。多路选择器19的控制信号和使能信号则由控制FPGA芯片14输出。在需要向第二SPI 闪速存储器18中写入配置数据时,控制FPGA芯片14使能多通道的多路选择器19,并使其连通控制FPGA芯片14与第二SPI 闪速存储器18的SPI接口,由控制FPGA芯片14作为主机向第二SPI 闪速存储器18中写入配置文件;在需要星务FPGA芯片12进入SPI配置模式时,控制FPGA芯片14则控制多路选择器19连通星务FPGA12的SPI配置接口与第二SPI 闪速存储器18的接口,由星务FPGA芯片12自发从第二SPI 闪速存储器18中读出配置信息完成对自身的配置。
本发明在微纳卫星星务计算机中实现了一种高可靠性、低成本、低功耗且设计灵活的在轨可重构方法,可在空间任务等具有一定辐射的场合应用;提供两种可重复配置的方案,并结合单粒子事件抗辐射加固措施,可使本发明在低轨道任务中灵活应用,并保证了重新配置过程的可靠性。
接下来结合附图给出本发明所述的基于FPGA的卫星星务计算机在轨重构方法的实施方式。
参考图5,本发明所述的基于FPGA的卫星星务计算机在轨重构方法流程图。所述方法包括以下步骤:S52:控制FPGA芯片接收地面端上传的在轨重构所需配置文件;S54:所述控制FPGA芯片根据所述在轨重构所需配置文件判断配置模式采用JTAG配置模式或SPI配置模式,若采用JTAG配置模式则执行步骤S56,若采用SPI配置模式则执行步骤S58;S56:所述控制FPGA芯片将所述在轨重构所需配置文件存入第一SPI闪速存储器,并采用JTAG配置模式对星务FPGA芯片重新配置完成在轨重构;S58:所述控制FPGA芯片将所述在轨重构所需配置文件存入第二SPI闪速存储器,并采用SPI配置模式对星务FPGA芯片重新配置完成在轨重构。以下结合附图对上述步骤进行详细说明。
S52:控制FPGA芯片接收地面端上传的在轨重构所需配置文件。
本发明中,对卫星星务计算机进行在轨重构前,需自地面端将在轨重构所需配置文件上传至卫星。通信模块从地面端接收星务FPGA芯片的在轨重构文件,并通过UART总线传输至星务计算机。星务计算机中由控制FPGA芯片负责接收星务FPGA芯片的配置文件,并将之通过SPI总线转存至SPI 闪存单元中。
本发明进一步对从地面接收到的配置数据进行CRC校验,保证配置信息的正确性。作为优选的实施方式,步骤S52之后进一步包括S53:所述控制FPGA芯片对所述在轨重构所需配置文件的配置数据进行CRC校验,若校验正确则执行步骤S54,如果校验错误则放弃当前操作进入待命状态。
S54:所述控制FPGA芯片根据所述在轨重构所需配置文件判断配置模式采用JTAG配置模式或SPI配置模式,若采用JTAG配置模式则执行步骤S56,若采用SPI配置模式则执行步骤S58。
进行星务FPGA芯片的在轨重构时,由控制FPGA芯片执行在轨重构的控制。上传的配置文件可以只包括星务FPGA芯片中FPGA逻辑单元的配置信息或者星务FPGA芯片中集成的ARM CPU的软件代码,也可以两者都包括。
S56:所述控制FPGA芯片将所述在轨重构所需配置文件存入第一SPI闪速存储器,并采用JTAG配置模式对星务FPGA芯片重新配置完成在轨重构。
若需通过JTAG接口进行在轨重构,配置文件则存储在第一SPI 闪速存储器中;并开始对星务FPGA芯片重新配置,由控制FPGA芯片通过SPI总线从第一SPI 闪速存储器中读取配置文件,并按照JTAG配置时序逐位向星务FPGA芯片的JTAG接口写入配置数据,写入结束后完成在轨重构。
S58:所述控制FPGA芯片将所述在轨重构所需配置文件存入第二SPI闪速存储器,并采用SPI配置模式对星务FPGA芯片重新配置完成在轨重构。
若需通过SPI配置模式进行在轨重构,所述控制FPGA芯片控制配置文件则存储在第二SPI 闪速存储器中,并控制所述第二SPI闪速存储器的I/O指向所述星务FPGA芯片的SPI接口;之后所述星务FPGA芯片启动SPI配置模式从所述第二SPI闪速存储器读出配置文件完成在轨重构。也即,在该模式中,星务FPGA芯片的FLASH_GOLDEN_N输入端口拉低,开始星务FPGA芯片的SPI配置模式,星务FPGA芯片自行从第二SPI闪速存储器中读出配置文件并完成对自身的重新配置;在配置过程中,星务FPGA芯片会根据文件的内容自行判断配置对象,并将对应的配置信息写入其内部FPGA逻辑单元或ARM CPU的软件代码存储单元中。
以下结合附图给出本发明所述的基于FPGA的卫星星务计算机在轨重构方法的一实施例。参考图6,本实施例所述的基于FPGA的卫星星务计算机在轨重构方法流程图。
在需要对星务计算机进行重新配置时,需按以下步骤进行:
S61:由地面端上传星务计算机配置文件,由卫星的通信模块接收配置文件;
S62:若通信模块成功接收配置文件则将之发送给星务计算机,进入步骤S63,如果不成功则返回步骤S61;
S63:星务计算机中由控制FPGA芯片接收配置文件并进行CRC校验,如果发现CRC错误则返回步骤S61,如果CRC校验正确则进入步骤S64;
S64:判断在轨重构方式:若为JTAG配置模式,则进入步骤S65;若为SPI配置模式,则进入步骤S67;
S65:控制FPGA芯片将配置文件写入SPI flash1,并开始JTAG配置模式,进入步骤S66;
S66:控制FPGA芯片从第一SPI 闪速存储器中读出配置信息,并按照JTAG配置的时序将配置数据逐位写入星务FPGA芯片直至配置完成;
S67:控制FPGA芯片将配置文件写入SPI flash2,并开始SPI配置模式,进入步骤S68;
S68:控制FPGA芯片将星务FPGA芯片的FLASH_GOLDEN_N端口拉低,星务FPGA芯片自行从SPI flash2中读出配置文件并完成对自身的配置。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。