基于fpga的嵌入式立方星星务计算机及其重构方法

文档序号:6547719阅读:582来源:国知局
基于fpga的嵌入式立方星星务计算机及其重构方法
【专利摘要】本发明提供了一种基于FPGA的嵌入式立方星星务计算机,包括处理芯片,所述处理芯片集成有FPGA硬核、FPGA逻辑单元以及CPU内核;所述FPGA硬核用于与外围电路以及立方星的各分系统进行通信;所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地时间校时;所述CPU内核用于对立方星进行整星控制算法实现、整星数据管理、姿控算法实现、控制命令分发以及载荷数据管理。本发明使用灵活、性能优化且集成度高、成本低、可靠性高。
【专利说明】基于FPGA的嵌入式立方星星务计算机及其重构方法

【技术领域】
[0001] 本发明涉及航空航天以及电子科学【技术领域】,具体的说,是一种基于FPGA的嵌入 式立方星星务计算机及其启动方法以及在轨重构方法。

【背景技术】
[0002] 随着近年来航空航天以及电子科学技术的快速发展,低成本、低重量、高功能密度 的微纳卫星已经广泛应用于对地观测、电子侦察、通信、导航、空间科学探测、空间探测和新 技术试验等众多领域,并且已成为空间系统的重要组成部分。而立方星则是一种特殊的微 纳卫星,于1999年由斯坦福大学的Bob Twiggs提出。立方星是边长为10cm的立方体,其消 耗的功率在几瓦的范围,重量约为广2kg。根据任务的需求,立方星可扩展为2单元(1单元 是一边长为l〇cm的立方体)、3单元甚至是6单元。与传统的大型卫星相比,立方星研制成 本低,研制周期短,易于扩展且搭载和分离方式灵活。目前,国际范围内统计得到的立方星 数目已经超过200颗。
[0003] 由于立方星的结构相对大卫星较为简单,因此立方星的星务计算机(On-Board Computer,简称0BC)模块通常以基于中央处理器(Central Processing Unit,简称CPU)芯 片的单片机结合一定的外围电路实现实时星上数据处理(〇n-Board Data Handling,简称 0BDH)与控制。然而,传统的指令系统式CPU在处理指令时,以读出-执行的串行方式执行 读出指令,并采用中断的形式响应外部请求;这种处理方式控制与运算能力强,但是时序控 制较弱,处理复杂的组合逻辑能力较弱;在指令周期较长、并发事件多且中断频繁时,往往 会因处理负担过重导致单片机处理能力下降。随着航天电子集成度的逐步提高与航天任务 的日益复杂,单块单片机芯片已经很难胜任航天任务的需求。
[0004] 现场可编程门阵列(Field-Programmable-Gate-Arrays,简称FPGA),其内部逻辑 阵列主要由逻辑单元和D触发器(D-flip-flop)构成,上电工作时由逻辑单元并行地执行 配置功能,因此不需要以中断的方式作出响应,故FPGA对复杂的组合逻辑有着较强的处理 能力,时序能力强;另外,FPGA的1/0数目远比CPU芯片要多,同时其并行的处理指令方式 对多1/0的控制有独到的优势,而CPU采用中断方式对多个1/0进行管理时,其处理能力往 往受到特别明显的影响。FPGA适用于以下场合:接口的管理(特别是高速接口的管理),不 同传输速率、不同协议之间的耦合与桥接、硬件层的数据处理,例如:奇偶校验、CRC校验、 EDAC校验等。但是通常FPGA的控制能力与运算能力较弱。
[0005] 丹麦的GomSpace公司研发的NanoMind A712系列星务计算机,采用Atmel公司 提供的基于ARM7 CPU的单片机芯片作为核心处理器,辅以一定的外围电路,实现了较为 简单的立方星星务功能。该系列星务计算机的印刷电路板(Printed Circuit board,简称 PCB)中,除了基于ARM7的单片机外,还集成了外扩静态随机存储器(Static Random Access Memory,简称SRAM)、磁强计、Flash存储单元等ASIC芯片,通过PC104接口以及其他一些外 围接口,实现与立方星其他分系统之间的通信与控制,且成本较低(约为4500欧元)。但是其 功能与结构相对简单,无法实现较高速的数据传输和复杂的控制功能,而且可用接口较少, 无法对卫星其余分系统提供足够的接口支持,通常需要外接GomSpace公司提供的NanoHub 接口模块以弥补其接口不足的缺点。另外,其采用单片CPU芯片实现星务管理,计算和处理 能力较弱。
[0006] 荷兰的ISIS公司代理的Andrews Model 160高性能立方星星载计算机,采用 Xilinx公司提供的Virtex-4 FPGA为核心处理芯片,集成双处理器,且设有单粒子效应防护 措施和看门狗电路,能够自检错误并予以修正。Andrews Model 160兼容PC104接口,处理能 力和数据存储能力都非常强,集成度较高,是一款高性能的立方星星务计算机设计。其缺点 在于:Andrews Model 160的价格非常昂贵(77, 500美元),而且其以高功耗的SRAM型FPGA 为核心开展设计,功耗非常大,同时SRAM型FPGA的配置单元对空间单粒子效应非常敏感, 较易发生单粒子翻转(Single-Event-Upset,简称SEU)事件,即使采取软件上的抗福射加 固措施也需从外部EEPR0M进行重新加载,导致系统功能的暂时丢失。另外,该款星务计算 机对中国禁运,因此,国内无法使用之开展高性能的星务计算机设计。


【发明内容】

[0007] 本发明的目的在于,提供一种基于FPGA的嵌入式立方星星务计算机及其重构方 法,其能够结合FPGA的并行处理能力与CPU的控制运算能力,使FPGA与CPU的优点互补, 充分释放CPU的控制能力,最优化星务系统的性能。
[0008] 为实现上述目的,本发明提供了一种基于FPGA的嵌入式立方星星务计算机,包括 处理芯片,所述处理芯片集成有FPGA硬核、FPGA逻辑单元以及CPU内核;所述FPGA硬核用 于与外围电路以及立方星的各分系统进行通信;所述FPGA逻辑单元用于对所述外围电路 进行控制,同时对立方星的星务本地时间校时;所述CPU内核用于对立方星进行整星控制 算法实现、整星数据管理、姿控算法实现、控制命令分发以及载荷数据管理。
[0009] 为实现上述目的,本发明还提供了一种基于FPGA的嵌入式立方星星务计算机的 启动方法,包括以下步骤:(1)在星务计算机上电工作时,判断所述星务计算机的电源分系 统的电池剩余电量是否小于预设阈值,若小于则执行步骤(2),否则执行步骤(3); (2)进入 安全模式,所述星务计算机中与通讯分系统进行通信的部分开始工作;(3)进入开机模式, 从所述星务计算机的非易失性存储单元中读出运行代码,对自身的运行程序和外围设备驱 动进行初始化,初始化完成后执行步骤(4); (4)进入工作模式,所述工作模式包括姿态调整 模式、载荷模式、通信模式以及总线模式的至少其中之一,其中,所述姿态调整模式用于实 时调整卫星的在轨姿态,所述载荷模式用于实现对载荷分系统的控制与数据交互,所述通 信模式用于实现星地或者星间通信的控制,所述总线模式用于实现总线级的数据交互。 [0010] 为实现上述目的,本发明还提供了一种基于FPGA的嵌入式立方星星务计算机在 轨重构方法,包括以下步骤:(A)地面端生成同时包含FPGA逻辑单元和CPU内核软件代码 的配置文件;(B)将配置文件上传至立方星的通信终端;(C)通信终端利用UART总线与星 务计算机进行数据交互,将配置文件发送至星务计算机;(D)控制UART硬核接收配置文件, 并通过SPI硬核将配置文件存储至外部闪速存储器;(E)将配置文件中的配置信息一一读 出,写入处理芯片内部的非易失性存储单元;(F)将所述处理芯片重新加载配置信息完成 在轨重构。
[0011] 本发明的优点在于: 1) 使用灵活:本发明中处理芯片所采用的FPGA的可用I/O数目多达数百,且不同区域 的I/O可设置不同的供电电压,从而适应不同电平标准的信号需求;而在现有立方星任务 的星务模块中,使用专用的ASIC CPU单片机实现星务管理功能,虽然其可通过编写单片机 代码实现功能上的灵活性,且控制能力较强,但是在实际应用时单片机芯片的I/O有限,在 I/O数目需求较大时往往难以满足需求; 2) 性能优化且集成度高:本发明集FPGA逻辑单元和CPU内核的功能于一体,在应用时 可根据实际需求进行嵌入式设计,分别编写FPGA逻辑代码和CPU软件,根据各自处理能力 的优缺点进行任务分工,使得系统的性能最优化,而且FPGA和CPU集成于一块芯片,可大大 提高电路的集成度;而现有单片机芯片采用串行执行指令的处理方式,处理并发事件时性 能较差,在并发事件发生频繁时,单片机芯片的处理能力和灵活性往往受到较大的限制; 3) 成本低:本发明所述处理芯片可以采用Microsemi公司提供的Flash型 SmartFusion2 FPGA,单片工业级的Smartfusion2 FPGA的价格约为1000?2000兀,与单片机 芯片的价格相当,甚至要低,而且其灵活性大,可满足不同任务的需求,可降低二次开发成 本; 4) 可靠性高:通过对FPGA逻辑单元和CPU内核软件采取抗辐射加固措施,可保证系统 在空间环境中受到高能粒子轰击发生单粒子事件时,仍然能够保证系统的可靠性。

【专利附图】

【附图说明】
[0012] 图1,本发明所述的基于FPGA的嵌入式立方星星务计算机的架构图。
[0013] 图2,本发明所述对FPGA逻辑单元加固示意图; 图3,本发明所述对SRAM进行EDAC校验流程图; 图4,本发明所述的基于FPGA的嵌入式立方星星务计算机的启动方法流程图; 图5,本发明所述的基于FPGA的嵌入式立方星星务计算机在轨重构方法流程图。
[0014] 缩略语和关键术语定义: OBC :0n_Board Computer 星务计算机 OBDH :0n_Board Data Handling 星上数据处理 ADC :Amplitude-Digital_Convertor 幅度数字转换器 FPGA :Field-Programmable-Gate-A;rrays 现场可编程门阵列 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 通用异步收发器 CAN :Control Area Network控制器局域网串行通讯 I2C bus :Inter Integrated Circuits bus 双向二线制串行通信总线 Flash Memory :闪速存储器。

【具体实施方式】
[0015] 下面结合附图对本发明提供的基于FPGA的嵌入式立方星星务计算机及其重构方 法的【具体实施方式】做详细说明。
[0016] 参见图1,本发明所述的基于FPGA的嵌入式立方星星务计算机的架构图,包括处 理芯片10,所述处理芯片10集成有FPGA硬核、FPGA逻辑单元以及CPU内核11 ;也即所述 星务计算机以FPGA为核心处理芯片。所述FPGA硬核用于与外围电路以及立方星的各分系 统进行通信;所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地 时间校时;所述(PU内核11用于对立方星进行整星控制算法实现、整星数据管理、姿控算法 实现、控制命令分发以及载荷数据管理。其中,硬核(Hard IP Core)在FPGA设计中指布局 和工艺固定、经过前端和后端验证的设计。本发明中,FPGA逻辑单元和CPU内核结合,实现 立方星的整星控制与数据管理,FPGA与CPU的优点互补,充分释放CPU的控制能力,最优化 系统的性能。
[0017] 在本发明中,所述CPU内核可以采用ARM Cortex-M3处理器内核。所述处理芯 片可以采用Microsemi公司提供的Flash型SmartFusion2 FPGA,利用其I/O数目多和集 成ARM Cortex-M3处理器内核的优点,可以结合FPGA的并行处理能力与CPU的控制运算 能力,使FPGA与CPU的优点互补,充分释放CPU的控制能力,最优化星务系统的性能。同 时,CPU与FPGA集成于同一款ASIC器件上,提高了星务系统集成度与功能密度。另外,利 用Flash型FPGA的低功耗、可重复编程、抗空间辐射能力较强与安全性高的优势,可提供 一种低功耗、低成本、设计灵活性较强且集成度高的立方星星务计算机。在Flash型FPGA Smartfusion2_M2S050T中实现了嵌入式立方星星务计算机模块;利用Smartfusion2的ARM Cortex-M3、I2C、SPI、CAN、UART、计数器等内核,结合FPGA的逻辑单元,辅以一定的外围电 路的同时加以抗辐射加固设计,完成了嵌入式立方星星务计算机的系统设计。在实现如本 发明所述的基于FPGA的嵌入式立方星星务计算机的功能时,使用其他型号集成ARM CPU内 核的Flash型FPGA (如Fusion系列和Smart Fusion系列),可以达到相同的目的。
[0018] 在本发明中,所述处理芯片和所述外围电路集成在一块尺寸小于10*10cm2的印刷 电路板中,大大提高电路的集成度。
[0019] 图中ΑΡΒ0ΑΗΒ中APB (Advanced Peripheral Bus,片上外设总线)主要用于慢速片 上外设与ARM核的通讯;AHB (Advanced High performance Bus,高性能总线)主要用于系统 高性能、高时钟速率模块间通信。
[0020] 所述处理芯片10的FPGA硬核包括I2C硬核12、UART硬核13、SPI硬核14、CAN硬 核15和计时器硬核16。调用处理芯片10中的FPGA硬核以及CPU内核11进行嵌入式星务 设计辅助功能扩展,完成CPU内核11的C语言星务软件代码设计以及基于可编程逻辑单元 进行的FPGA硬件代码设计,以减小对外围电路的需求。本发明中,所述外围电路包括闪速 存储器21、幅度数字转换器22、静态随机存储器24、SD卡25以及CAN收发器26。
[0021] 所述I2C硬核12用于实现立方星星务系统I2C总线数据收发以及与各分系统通 信;各分系统可以通过I2C总线以及I2C硬核12接收星务系统分发的指令以及返回信息。 所述UART硬核13用于实现立方星星务系统与各分系统之间的点对点数据传输,以适应数 据量较大的传输需求。所述SPI硬核14用于与所述闪速存储器21以及所述SD卡25进行 通信;所述SPI硬核14还为星务系统提供了外围设备扩展能力。所述CAN硬核15的功能与 所述I2C硬核12类似,用于实现立方星星务系统CAN总线数据收发以及与各分系统通信; 但是所述CAN硬核15的CAN总线传输数据率要远比I2C总线高,集成CAN硬核15可拓展 立方星星务系统的总线能力。所述计时器硬核16用于对立方星星务软件给出固定的时间 拍,使星务软件按照固定的时序执行星务功能。
[0022] 所述闪速存储器21用于存储星务代码,也即存储所述CPU内核11的软件代码以 及所述FPGA逻辑单元的配置代码。所述幅度数字转换器22用于实时对立方星上各系统的 模拟量进行采集,以反馈立方星在当前时刻的工作状态;16路ADC对星上反馈实时工作状 态的模拟量进行采集,与其相连的两通道的温度传感器23则为星务系统提供温度的实时 监测模拟量。所述静态随机存储器24用于存储立方星姿控分系统的运行代码与实时数据, 以供所述CPU内核11调用;所述静态随机存储器24采用4MBytes的SRAM为姿控分系统提 供软件代码和数据的存储空间。所述SD卡25用于存储立方星载荷分系统的实时数据,以 等待发送至地面端;所述CAN收发器26用于提供CAN总线驱动和接收功能,保证CAN总线 的数据传输和接收能力。另,本发明所述的星务计算机与其余分系统的通信则通过PC104 插座27实现。
[0023] 本发明中,还包括采用看门狗设计对系统进行加固措施。因此,所述外围电路进一 步包括硬件看门狗28,所述硬件看门狗28用于对立方星星务系统进行监测,在立方星软件 系统跑飞时及时输出复位信号使软件系统恢复至初始状态。星务系统运行时,硬件看门狗 28自身的计数器进行累加,处理芯片10需定时发送清零信号给硬件看门狗28,若处理芯片 10内系统跑飞而未能及时发送看门狗清零信号,则硬件看门狗28强制对处理芯片10进行 复位。本发明中的看门狗设计还可以包括处理芯片10内部的软件看门狗,例如FPGA逻辑 单元和CPU内核11可以互相作为软件看门狗,在一方受到外界干扰而跑飞时,由另一方对 之进行复位操作,而不需经由硬件看门狗28对双方同时进行复位,以提高星务系统的可靠 性。结合硬件看门狗28则可以进一步提高整星的可靠性。
[0024] 本发明基于FPGA的嵌入式立方星星务计算机主要适用于近地轨道等辐射较低的 应用场合,由于星上硬件大部分基于工业级甚至商业级芯片,辅以冗余、重构、看门狗等抗 辐射加固措施,对FPGA逻辑单元和CPU内核做单粒子抗辐射加固,提高对空间单粒子辐射 的免疫力以提高系统可靠性。抗辐射加固措施包括:对FPGA逻辑单元的关键部分做三模冗 余,对输入输出做单粒子瞬态脉冲滤波,对交互的数据做CRC校验;对CPU内核的软件代码 存储的SRAM做EDAC校验,对软件代码设置软件陷阱以处理因单粒子效应产生的中断,以及 前述的设置软件看门狗以在系统跑飞时及时进行复位。 参见图2,本发明所述对FPGA逻辑单元加固示意图。本发明所述的星务计算机进一步 包括三模冗余模块201以及滤波电路202,用于对所述FPGA逻辑单元进行单粒子抗辐射加 固。所述三模冗余模块201用于对所述FPGA逻辑单元进行三倍模块的冗余,并采用三选二 的机制得到输出结果;三倍模块的冗余可以对于逻辑的关键部位进行。所述滤波电路202 用于对所述FPGA逻辑单元的输入输出做单粒子瞬态脉冲滤波;即将输入信号一分二,对其 中一路作延时,在检测到这两路信号同时较之前状态发生改变时,才翻转输出的状态,以滤 除因空间单粒子辐射引起的FPGA逻辑单元毛刺噪声。本发明中,对于所有FPGA的输出1/ 〇都进行单粒子瞬态脉冲滤除操作。在对本发明进行单粒子抗辐射加固时,使用多个器件进 行冗余设计而不在FPGA逻辑单元进行设计,二者可实现相同的目的。在对本发明进行单粒 子抗辐射加固时,使用多个器件进行冗余设计而不在FPGA逻辑单元进行设计,二者可实现 相同的目的。
[0025] 本发明所述的星务计算机进一步包括CRC校验模块(图中未示出),所述CRC校验 模块用于对立方星上交互的数据进行CRC校验;例如对对立方星上UART、I2C、CAN和SPI总 线上交互的数据进行CRC校验。在实施上,所述CRC校验模块可以通过软件程序实现,或对 所述FPGA逻辑单元进行编程实现。对于立方星上接收的数据由CRC校验算法进行检测,只 有通过CRC校验的数据才是有效数据;对于立方星上发送的数据,则事先进行CRC编码,编 码后数据位与校验位共同发送。
[0026] 本发明所述的星务计算机进一步包括EDAC校验模块(图中未示出),所述EDAC校 验模块用于在运行代码和实时数据存入所述静态随机存储器24前进行EDAC编码,以及在 从所述静态随机存储器24读出数据时进行EDAC检验。在实施上,所述EDAC校验模块可以 通过软件程序实现,或对所述FPGA逻辑单元进行编程实现。本发明中,星务计算机在上电 后,运行代码和实时数据存储于SRAM中,为保证星务系统运行的可靠性,加入纠一检二的 EDAC校验以进行加固。
[0027] 参见图3,本发明所述对SRAM进行EDAC校验流程图。在数据存入SRAM之前,都对 之进行EDAC编码。从SRAM读出数据时,首先进行EDAC检验算法,如果未发现有错误的数 据位,则直接读出数据;若发现有一位错误位,则纠正该错误位后读出数据,并将纠正后的 数据写回到存储该数据的原始地址;若发现有两位以上的错误位,则产生单粒子翻转错误 中断,使CPU内核重新进行加载。
[0028] 另外,本发明中所述FPGA逻辑单元可通过编写VHDL硬件代码,实现对外扩SRAM 的控制和EDAC校验、16路ADC的控制、硬件看门狗和SD卡的管理,同时对星务本地时间进 行校时。FPGA可重复配置的逻辑单元和I/O管脚,不仅可提供较大的设计灵活性,还可提供 扩展UART总线、I2C总线、CAN总线以及SPI总线通道数的能力。
[0029] 本发明还提供了一种星务计算机的工作方法,适用于本发明所述的基于FPGA的 嵌入式立方星星务计算机。
[0030] 参考图4,本发明所述的基于FPGA的嵌入式立方星星务计算机的启动方法流程 图。所述方法包括以下步骤:在星务计算机上电工作时(S40),判断所述星务计算机的电 源分系统的电池剩余电量是否小于预设阈值(S41),若小于则执行步骤S42,否则执行步骤 S43。S42 :进入安全模式,所述星务计算机中与通讯分系统进行通信的部分开始工作;也即 电量不足则进入安全模式,直至电池容量足够后切换至开机模式。S43 :进入开机模式,从 所述星务计算机的存储单元中读出运行代码,对自身的运行程序和外围设备驱动进行初始 化,初始化完成(S44)后执行步骤S45。S45 :进入工作模式,所述工作模式包括姿态调整模 式、载荷模式、通信模式以及总线模式的至少其中之一;其中,所述姿态调整模式用于实时 调整卫星的在轨姿态,所述载荷模式用于实现对载荷分系统的控制与数据交互,所述通信 模式用于实现星地或者星间通信的控制,所述总线模式用于实现总线级的数据交互;上述 模式可通过编写相应的软件代码和FPGA逻辑得以实现。在立方星进入工作模式后,还可以 进一步判断所述电源分系统的电池剩余电量是否小于所述预设阈值(S46),若小于则执行 步骤S42;也即,进入工作模式后若发现电源系统的电池的电量不足,则进入安全模式,等 待电量充足后再退出安全模式。
[0031] 本发明利用Flash型FPGA的可重配置的特性,可以进行星务计算机的在轨重构, 以提高立方星的在轨应用灵活性和可靠性。本发明所述的星务计算机对于FPGA逻辑单元 和CPU内核设置重新配置功能,在需要重构时从外围电路的闪速存储器中读取配置信息进 行重新加载。
[0032] 参考图5,本发明所述的基于FPGA的嵌入式立方星星务计算机在轨重构方法流程 图,所述星务计算机在轨重构方法,采用本发明所述的基于FPGA的嵌入式立方星星务计算 机。所述重构方法包括以下步骤:1)地面端生成同时包含FPGA逻辑单元和CPU内核软件代 码的配置文件;2)将配置文件上传至立方星的通信终端;3)通信终端利用UART总线与星务 计算机进行数据交互,将配置文件发送至星务计算机;4)控制UART硬核接收配置文件,并 通过SPI硬核将配置文件存储至外部闪速存储器;5)将配置文件中的配置信息一一读出, 写入处理芯片内部的非易失性存储单元;6)将所述处理芯片重新加载配置信息完成在轨重 构。由于FPGA中的存储单元不止一种,只有非易失性存储单元是用于存储配置信息的。
[0033] 本发明所述的基于FPGA的嵌入式立方星星务计算机的处理芯片上电工作时,会 自动从其内部的非易失性存储单元中读取配置信息,对FPGA逻辑单元和CPU内核进行初始 化,片外的闪速存储器用于存储备份的配置数据。
[0034] 采用Microsemi公司提供的Flash型SmartFusion2 FPGA需要更新配置信息对星 务模块进行重新配置时,需按照以下流程进行: 1) 在地面端运行Smartfusion2编译综合软件Libero S0C 11. 2,在该综合软件中分别 对FPGA逻辑单元和ARM CPU的软件代码进行重新设计,之后生成包含FPGA逻辑单元和CPU 内核软件设计代码的配置文件; 2) 通过地面站与立方星进行通信,将配置文件上传至立方星的通信终端; 3) 通信终端利用UART总线与本发明所述的星务计算机进行数据交互,将配置文件发 送至星务计算机; 4) 星务计算机的FPGA芯片中的ARM Cortex-M3 CPU内核控制UART硬核接收配置文件, 并通过SPI硬核以及SPI总线将配置文件存储至片外的闪速存储器; 5) CPU内核通过SPI总线控制更新配置文件后的闪速存储器,将配置信息一一读出,写 入FPGA芯片内部的非易失性存储单元中; 6) 待CPU内核对片外闪速存储器和片内非易失性存储单元读写操作全部完成后,将 FPGA芯片重新加载配置信息,即完成星务计算机的FPGA芯片的在轨重新配置。
[0035] 其中,上述重构流程是利用FPGA芯片内部集成的CPU内核完成上述功能的控制, 在其他实施方式中也可利用高可靠的外部控制器芯片实现。
[0036] 以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人 员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为 本发明的保护范围。
【权利要求】
1. 一种基于FPGA的嵌入式立方星星务计算机,其特征在于,包括处理芯片,所述处理 芯片集成有FPGA硬核、FPGA逻辑单元以及CPU内核; 所述FPGA硬核用于与外围电路以及立方星的各分系统进行通信; 所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地时间校 时; 所述CPU内核用于对立方星进行整星控制算法实现、整星数据管理、姿控算法实现、控 制命令分发以及载荷数据管理。
2. 根据权利要求1所述的嵌入式立方星星务计算机,其特征在于,所述FPGA硬核包括 I2C硬核、UART硬核、SPI硬核、CAN硬核以及计时器硬核,所述外围电路包括闪速存储器、 幅度数字转换器、静态随机存储器、SD卡以及CAN收发器; 所述I2C硬核用于实现立方星星务系统I2C总线数据收发以及与各分系统通信;所 述UART硬核用于实现立方星星务系统与各分系统之间的点对点数据传输;所述SPI硬核 用于与所述闪速存储器以及所述SD卡进行通信;所述CAN硬核用于实现立方星星务系统 CAN总线数据收发以及与各分系统通信;所述计时器硬核用于对立方星星务软件给出固定 的时间拍; 所述闪速存储器用于存储所述CPU内核的软件代码以及所述FPGA逻辑单元的配置代 码;所述幅度数字转换器用于实时对立方星上各系统的模拟量进行采集,以反馈立方星在 当前时刻的工作状态;所述静态随机存储器用于存储立方星姿控分系统的运行代码与实 时数据,以供所述CPU内核调用;所述SD卡用于存储立方星载荷分系统的实时数据,以等 待发送至地面端;所述CAN收发器用于提供CAN总线驱动和接收功能。
3. 根据权利要求2所述的嵌入式立方星星务计算机,其特征在于,所述外围电路进一 步包括硬件看门狗,所述硬件看门狗用于对立方星星务系统进行监测,在立方星软件系统 跑飞时及时输出复位信号使软件系统恢复至初始状态。
4. 根据权利要求1或3所述的嵌入式立方星星务计算机,其特征在于,所述FPGA逻辑 单元和所述CPU内核互为软件看门狗。
5. 根据权利要求1或2所述的嵌入式立方星星务计算机,其特征在于,所述星务计算 机进一步包括三模冗余模块以及滤波电路;所述三模冗余模块,用于对所述FPGA逻辑单 元进行三倍模块的冗余,并采用三选二的机制得到输出结果;所述滤波电路,用于对所述 FPGA逻辑单元的输入输出做单粒子瞬态脉冲滤波。
6. 根据权利要求1或2所述的嵌入式立方星星务计算机,其特征在于,所述星务计算机 进一步包括CRC校验模块,所述CRC校验模块用于对立方星上交互的数据进行CRC校验。
7. 根据权利要求2所述的嵌入式立方星星务计算机,其特征在于,所述星务计算机进 一步包括EDAC校验模块,所述EDAC校验模块用于在运行代码和实时数据存入所述静态随 机存储器前进行EDAC编码,以及在从所述静态随机存储器读出数据时进行EDAC检验。
8. -种基于FPGA的嵌入式立方星星务计算机的启动方法,其特征在于,包括以下步 骤: (1) 在星务计算机上电工作时,判断所述星务计算机的电源分系统的电池剩余电量是 否小于预设阈值,若小于则执行步骤(2),否则执行步骤(3); (2) 进入安全模式,所述星务计算机中与通讯分系统进行通信的部分开始工作; (3) 进入开机模式,从所述星务计算机的非易失性存储单元中读出运行代码,对自身的 运行程序和外围设备驱动进行初始化,初始化完成后执行步骤(4); (4) 进入工作模式,所述工作模式包括姿态调整模式、载荷模式、通信模式以及总线模 式的至少其中之一,其中,所述姿态调整模式用于实时调整卫星的在轨姿态,所述载荷模式 用于实现对载荷分系统的控制与数据交互,所述通信模式用于实现星地或者星间通信的控 制,所述总线模式用于实现总线级的数据交互。
9. 根据权利要求8所述的星务计算机的启动方法,其特征在于,步骤(4)进一步包括, 判断所述电源分系统的电池剩余电量是否小于所述预设阈值,若小于则执行步骤(2)。
10. -种基于FPGA的嵌入式立方星星务计算机在轨重构方法,其特征在于,包括以下 步骤: (A) 地面端生成同时包含FPGA逻辑单元和CPU内核软件代码的配置文件; (B) 将配置文件上传至立方星的通信终端; (C) 通信终端利用UART总线与星务计算机进行数据交互,将配置文件发送至星务计算 机; (D) 控制UART硬核接收配置文件,并通过SPI硬核将配置文件存储至外部闪速存储 器; (E) 将配置文件中的配置信息一一读出,写入处理芯片内部的非易失性存储单元; (F) 将所述处理芯片重新加载配置信息完成在轨重构。
【文档编号】G06F1/16GK104049687SQ201410227118
【公开日】2014年9月17日 申请日期:2014年5月27日 优先权日:2014年5月27日
【发明者】秦熙, 吴树范, 陈雯 申请人:上海微小卫星工程中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1