CN104049687B - 基于fpga的嵌入式立方星星务计算机及其重构方法 - Google Patents
基于fpga的嵌入式立方星星务计算机及其重构方法 Download PDFInfo
- Publication number
- CN104049687B CN104049687B CN201410227118.8A CN201410227118A CN104049687B CN 104049687 B CN104049687 B CN 104049687B CN 201410227118 A CN201410227118 A CN 201410227118A CN 104049687 B CN104049687 B CN 104049687B
- Authority
- CN
- China
- Prior art keywords
- star
- cube
- fpga
- house keeping
- stones
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 239000004575 stone Substances 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000002093 peripheral effect Effects 0.000 claims abstract description 23
- 238000013523 data management Methods 0.000 claims abstract description 9
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 6
- LMDZBCPBFSXMTL-UHFFFAOYSA-N 1-ethyl-3-(3-dimethylaminopropyl)carbodiimide Chemical compound CCN=C=NCCCN(C)C LMDZBCPBFSXMTL-UHFFFAOYSA-N 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 15
- 230000003993 interaction Effects 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 5
- 230000005611 electricity Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 241001269238 Data Species 0.000 claims description 2
- 240000002853 Nelumbo nucifera Species 0.000 claims description 2
- 235000006508 Nelumbo nucifera Nutrition 0.000 claims description 2
- 235000006510 Nelumbo pentapetala Nutrition 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 16
- 239000002245 particle Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 230000005855 radiation Effects 0.000 description 5
- 238000005510 radiation hardening Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- ABEXEQSGABRUHS-UHFFFAOYSA-N 16-methylheptadecyl 16-methylheptadecanoate Chemical compound CC(C)CCCCCCCCCCCCCCCOC(=O)CCCCCCCCCCCCCCC(C)C ABEXEQSGABRUHS-UHFFFAOYSA-N 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 235000018734 Sambucus australis Nutrition 0.000 description 1
- 244000180577 Sambucus australis Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005417 image-selected in vivo spectroscopy Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012739 integrated shape imaging system Methods 0.000 description 1
- OGFXBIXJCWAUCH-UHFFFAOYSA-N meso-secoisolariciresinol Natural products C1=2C=C(O)C(OC)=CC=2CC(CO)C(CO)C1C1=CC=C(O)C(OC)=C1 OGFXBIXJCWAUCH-UHFFFAOYSA-N 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Logic Circuits (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种基于FPGA的嵌入式立方星星务计算机,包括处理芯片,所述处理芯片集成有FPGA硬核、FPGA逻辑单元以及CPU内核;所述FPGA硬核用于与外围电路以及立方星的各分系统进行通信;所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地时间校时;所述CPU内核用于对立方星进行整星控制算法实现、整星数据管理、姿控算法实现、控制命令分发以及载荷数据管理。本发明使用灵活、性能优化且集成度高、成本低、可靠性高。
Description
技术领域
本发明涉及航空航天以及电子科学技术领域,具体的说,是一种基于FPGA的嵌入式立方星星务计算机及其启动方法以及在轨重构方法。
背景技术
随着近年来航空航天以及电子科学技术的快速发展,低成本、低重量、高功能密度的微纳卫星已经广泛应用于对地观测、电子侦察、通信、导航、空间科学探测、空间探测和新技术试验等众多领域,并且已成为空间系统的重要组成部分。而立方星则是一种特殊的微纳卫星,于1999年由斯坦福大学的Bob Twiggs提出。立方星是边长为10cm的立方体,其消耗的功率在几瓦的范围,重量约为1~2kg。根据任务的需求,立方星可扩展为2单元(1单元是一边长为10cm的立方体)、3单元甚至是6单元。与传统的大型卫星相比,立方星研制成本低,研制周期短,易于扩展且搭载和分离方式灵活。目前,国际范围内统计得到的立方星数目已经超过200颗。
由于立方星的结构相对大卫星较为简单,因此立方星的星务计算机(On-BoardComputer,简称OBC)模块通常以基于中央处理器(Central Processing Unit,简称CPU)芯片的单片机结合一定的外围电路实现实时星上数据处理(On-Board Data Handling,简称OBDH)与控制。然而,传统的指令系统式CPU在处理指令时,以读出-执行的串行方式执行读出指令,并采用中断的形式响应外部请求;这种处理方式控制与运算能力强,但是时序控制较弱,处理复杂的组合逻辑能力较弱;在指令周期较长、并发事件多且中断频繁时,往往会因处理负担过重导致单片机处理能力下降。随着航天电子集成度的逐步提高与航天任务的日益复杂,单块单片机芯片已经很难胜任航天任务的需求。
现场可编程门阵列(Field-Programmable-Gate-Arrays,简称FPGA),其内部逻辑阵列主要由逻辑单元和D触发器(D-flip-flop)构成,上电工作时由逻辑单元并行地执行配置功能,因此不需要以中断的方式作出响应,故FPGA对复杂的组合逻辑有着较强的处理能力,时序能力强;另外,FPGA的I/O数目远比CPU芯片要多,同时其并行的处理指令方式对多I/O的控制有独到的优势,而CPU采用中断方式对多个I/O进行管理时,其处理能力往往受到特别明显的影响。FPGA适用于以下场合:接口的管理(特别是高速接口的管理),不同传输速率、不同协议之间的耦合与桥接、硬件层的数据处理,例如:奇偶校验、CRC校验、EDAC校验等。但是通常FPGA的控制能力与运算能力较弱。
丹麦的GomSpace公司研发的NanoMind A712系列星务计算机,采用Atmel公司提供的基于ARM7 CPU的单片机芯片作为核心处理器,辅以一定的外围电路,实现了较为简单的立方星星务功能。该系列星务计算机的印刷电路板(Printed Circuit board,简称PCB)中,除了基于ARM7的单片机外,还集成了外扩静态随机存储器(Static Random AccessMemory,简称SRAM)、磁强计、Flash存储单元等ASIC芯片,通过PC104接口以及其他一些外围接口,实现与立方星其他分系统之间的通信与控制,且成本较低(约为4500欧元)。但是其功能与结构相对简单,无法实现较高速的数据传输和复杂的控制功能,而且可用接口较少,无法对卫星其余分系统提供足够的接口支持,通常需要外接GomSpace公司提供的NanoHub接口模块以弥补其接口不足的缺点。另外,其采用单片CPU芯片实现星务管理,计算和处理能力较弱。
荷兰的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)事件,即使采取软件上的抗辐射加固措施也需从外部EEPROM进行重新加载,导致系统功能的暂时丢失。另外,该款星务计算机对中国禁运,因此,国内无法使用之开展高性能的星务计算机设计。
发明内容
本发明的目的在于,提供一种基于FPGA的嵌入式立方星星务计算机及其重构方法,其能够结合FPGA的并行处理能力与CPU的控制运算能力,使FPGA与CPU的优点互补,充分释放CPU的控制能力,最优化星务系统的性能。
为实现上述目的,本发明提供了一种基于FPGA的嵌入式立方星星务计算机,包括处理芯片,所述处理芯片集成有FPGA硬核、FPGA逻辑单元以及CPU内核;所述FPGA硬核用于与外围电路以及立方星的各分系统进行通信;所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地时间校时;所述CPU内核用于对立方星进行整星控制算法实现、整星数据管理、姿控算法实现、控制命令分发以及载荷数据管理。
为实现上述目的,本发明还提供了一种基于FPGA的嵌入式立方星星务计算机的启动方法,包括以下步骤:(1)在星务计算机上电工作时,判断所述星务计算机的电源分系统的电池剩余电量是否小于预设阈值,若小于则执行步骤(2),否则执行步骤(3);(2)进入安全模式,所述星务计算机中与通讯分系统进行通信的部分开始工作;(3)进入开机模式,从所述星务计算机的非易失性存储单元中读出运行代码,对自身的运行程序和外围设备驱动进行初始化,初始化完成后执行步骤(4);(4)进入工作模式,所述工作模式包括姿态调整模式、载荷模式、通信模式以及总线模式的至少其中之一,其中,所述姿态调整模式用于实时调整卫星的在轨姿态,所述载荷模式用于实现对载荷分系统的控制与数据交互,所述通信模式用于实现星地或者星间通信的控制,所述总线模式用于实现总线级的数据交互。
为实现上述目的,本发明还提供了一种基于FPGA的嵌入式立方星星务计算机在轨重构方法,包括以下步骤:(A)地面端生成同时包含FPGA逻辑单元和CPU内核软件代码的配置文件;(B)将配置文件上传至立方星的通信终端;(C)通信终端利用UART总线与星务计算机进行数据交互,将配置文件发送至星务计算机;(D)控制UART硬核接收配置文件,并通过SPI硬核将配置文件存储至外部闪速存储器;(E)将配置文件中的配置信息一一读出,写入处理芯片内部的非易失性存储单元;(F)将所述处理芯片重新加载配置信息完成在轨重构。
本发明的优点在于:
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内核软件采取抗辐射加固措施,可保证系统在空间环境中受到高能粒子轰击发生单粒子事件时,仍然能够保证系统的可靠性。
附图说明
图1,本发明所述的基于FPGA的嵌入式立方星星务计算机的架构图。
图2,本发明所述对FPGA逻辑单元加固示意图;
图3,本发明所述对SRAM进行EDAC校验流程图;
图4,本发明所述的基于FPGA的嵌入式立方星星务计算机的启动方法流程图;
图5,本发明所述的基于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 通用异步收发器
CAN:Control Area Network 控制器局域网串行通讯
I2C bus:Inter Integrated Circuits bus 双向二线制串行通信总线
Flash Memory:闪速存储器。
具体实施方式
下面结合附图对本发明提供的基于FPGA的嵌入式立方星星务计算机及其重构方法的具体实施方式做详细说明。
参见图1,本发明所述的基于FPGA的嵌入式立方星星务计算机的架构图,包括处理芯片10,所述处理芯片10集成有FPGA硬核、FPGA逻辑单元以及CPU内核11;也即所述星务计算机以FPGA为核心处理芯片。所述FPGA硬核用于与外围电路以及立方星的各分系统进行通信;所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地时间校时;所述CPU内核11用于对立方星进行整星控制算法实现、整星数据管理、姿控算法实现、控制命令分发以及载荷数据管理。其中,硬核 (Hard IP Core)在FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计。本发明中,FPGA逻辑单元和CPU内核结合,实现立方星的整星控制与数据管理,FPGA与CPU的优点互补,充分释放CPU的控制能力,最优化系统的性能。
在本发明中,所述CPU内核可以采用ARM Cortex-M3处理器内核。所述处理芯片可以采用Microsemi公司提供的Flash型SmartFusion2 FPGA,利用其I/O数目多和集成ARMCortex-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系列),可以达到相同的目的。
在本发明中,所述处理芯片和所述外围电路集成在一块尺寸小于10*10cm2的印刷电路板中,大大提高电路的集成度。
图中APB@AHB中APB(Advanced Peripheral Bus,片上外设总线)主要用于慢速片上外设与ARM核的通讯;AHB(Advanced High performance Bus,高性能总线)主要用于系统高性能、高时钟速率模块间通信。
所述处理芯片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。
所述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用于对立方星星务软件给出固定的时间拍,使星务软件按照固定的时序执行星务功能。
所述闪速存储器21用于存储星务代码,也即存储所述CPU内核11的软件代码以及所述FPGA逻辑单元的配置代码。所述幅度数字转换器22用于实时对立方星上各系统的模拟量进行采集,以反馈立方星在当前时刻的工作状态;16路ADC对星上反馈实时工作状态的模拟量进行采集,与其相连的两通道的温度传感器23则为星务系统提供温度的实时监测模拟量。所述静态随机存储器24用于存储立方星姿控分系统的运行代码与实时数据,以供所述CPU内核11调用;所述静态随机存储器24采用4MBytes的SRAM为姿控分系统提供软件代码和数据的存储空间。所述SD卡25用于存储立方星载荷分系统的实时数据,以等待发送至地面端;所述CAN收发器26用于提供CAN总线驱动和接收功能,保证CAN总线的数据传输和接收能力。另,本发明所述的星务计算机与其余分系统的通信则通过PC104插座27实现。
本发明中,还包括采用看门狗设计对系统进行加固措施。因此,所述外围电路进一步包括硬件看门狗28,所述硬件看门狗28用于对立方星星务系统进行监测,在立方星软件系统跑飞时及时输出复位信号使软件系统恢复至初始状态。星务系统运行时,硬件看门狗28自身的计数器进行累加,处理芯片10需定时发送清零信号给硬件看门狗28,若处理芯片10内系统跑飞而未能及时发送看门狗清零信号,则硬件看门狗28强制对处理芯片10进行复位。本发明中的看门狗设计还可以包括处理芯片10内部的软件看门狗,例如FPGA逻辑单元和CPU内核11可以互相作为软件看门狗,在一方受到外界干扰而跑飞时,由另一方对之进行复位操作,而不需经由硬件看门狗28对双方同时进行复位,以提高星务系统的可靠性。结合硬件看门狗28则可以进一步提高整星的可靠性。
本发明基于FPGA的嵌入式立方星星务计算机主要适用于近地轨道等辐射较低的应用场合,由于星上硬件大部分基于工业级甚至商业级芯片,辅以冗余、重构、看门狗等抗辐射加固措施,对FPGA逻辑单元和CPU内核做单粒子抗辐射加固,提高对空间单粒子辐射的免疫力以提高系统可靠性。抗辐射加固措施包括:对FPGA逻辑单元的关键部分做三模冗余,对输入输出做单粒子瞬态脉冲滤波,对交互的数据做CRC校验;对CPU内核的软件代码存储的SRAM做EDAC校验,对软件代码设置软件陷阱以处理因单粒子效应产生的中断,以及前述的设置软件看门狗以在系统跑飞时及时进行复位。
参见图2,本发明所述对FPGA逻辑单元加固示意图。本发明所述的星务计算机进一步包括三模冗余模块201以及滤波电路202,用于对所述FPGA逻辑单元进行单粒子抗辐射加固。所述三模冗余模块201用于对所述FPGA逻辑单元进行三倍模块的冗余,并采用三选二的机制得到输出结果;三倍模块的冗余可以对于逻辑的关键部位进行。所述滤波电路202用于对所述FPGA逻辑单元的输入输出做单粒子瞬态脉冲滤波;即将输入信号一分二,对其中一路作延时,在检测到这两路信号同时较之前状态发生改变时,才翻转输出的状态,以滤除因空间单粒子辐射引起的FPGA逻辑单元毛刺噪声。本发明中,对于所有FPGA的输出I/O都进行单粒子瞬态脉冲滤除操作。在对本发明进行单粒子抗辐射加固时,使用多个器件进行冗余设计而不在FPGA逻辑单元进行设计,二者可实现相同的目的。在对本发明进行单粒子抗辐射加固时,使用多个器件进行冗余设计而不在FPGA逻辑单元进行设计,二者可实现相同的目的。
本发明所述的星务计算机进一步包括CRC校验模块(图中未示出),所述CRC校验模块用于对立方星上交互的数据进行CRC校验;例如对对立方星上UART、I2C、CAN和SPI总线上交互的数据进行CRC校验。在实施上,所述CRC校验模块可以通过软件程序实现,或对所述FPGA逻辑单元进行编程实现。对于立方星上接收的数据由CRC校验算法进行检测,只有通过CRC校验的数据才是有效数据;对于立方星上发送的数据,则事先进行CRC编码,编码后数据位与校验位共同发送。
本发明所述的星务计算机进一步包括EDAC校验模块(图中未示出),所述EDAC校验模块用于在运行代码和实时数据存入所述静态随机存储器24前进行EDAC编码,以及在从所述静态随机存储器24读出数据时进行EDAC检验。在实施上,所述EDAC校验模块可以通过软件程序实现,或对所述FPGA逻辑单元进行编程实现。本发明中,星务计算机在上电后,运行代码和实时数据存储于SRAM中,为保证星务系统运行的可靠性,加入纠一检二的EDAC校验以进行加固。
参见图3,本发明所述对SRAM进行EDAC校验流程图。在数据存入SRAM之前,都对之进行EDAC编码。从SRAM读出数据时,首先进行EDAC检验算法,如果未发现有错误的数据位,则直接读出数据;若发现有一位错误位,则纠正该错误位后读出数据,并将纠正后的数据写回到存储该数据的原始地址;若发现有两位以上的错误位,则产生单粒子翻转错误中断,使CPU内核重新进行加载。
另外,本发明中所述FPGA逻辑单元可通过编写VHDL硬件代码,实现对外扩SRAM的控制和EDAC校验、16路ADC的控制、硬件看门狗和SD卡的管理,同时对星务本地时间进行校时。FPGA可重复配置的逻辑单元和I/O管脚,不仅可提供较大的设计灵活性,还可提供扩展UART总线、I2C总线、CAN总线以及SPI总线通道数的能力。
本发明还提供了一种星务计算机的工作方法,适用于本发明所述的基于FPGA的嵌入式立方星星务计算机。
参考图4,本发明所述的基于FPGA的嵌入式立方星星务计算机的启动方法流程图。所述方法包括以下步骤:在星务计算机上电工作时(S40),判断所述星务计算机的电源分系统的电池剩余电量是否小于预设阈值(S41),若小于则执行步骤S42,否则执行步骤S43。S42:进入安全模式,所述星务计算机中与通讯分系统进行通信的部分开始工作;也即电量不足则进入安全模式,直至电池容量足够后切换至开机模式。S43:进入开机模式,从所述星务计算机的存储单元中读出运行代码,对自身的运行程序和外围设备驱动进行初始化,初始化完成(S44)后执行步骤S45。S45:进入工作模式,所述工作模式包括姿态调整模式、载荷模式、通信模式以及总线模式的至少其中之一;其中,所述姿态调整模式用于实时调整卫星的在轨姿态,所述载荷模式用于实现对载荷分系统的控制与数据交互,所述通信模式用于实现星地或者星间通信的控制,所述总线模式用于实现总线级的数据交互;上述模式可通过编写相应的软件代码和FPGA逻辑得以实现。在立方星进入工作模式后,还可以进一步判断所述电源分系统的电池剩余电量是否小于所述预设阈值(S46),若小于则执行步骤S42;也即,进入工作模式后若发现电源系统的电池的电量不足,则进入安全模式,等待电量充足后再退出安全模式。
本发明利用Flash型FPGA的可重配置的特性,可以进行星务计算机的在轨重构,以提高立方星的在轨应用灵活性和可靠性。本发明所述的星务计算机对于FPGA逻辑单元和CPU内核设置重新配置功能,在需要重构时从外围电路的闪速存储器中读取配置信息进行重新加载。
参考图5,本发明所述的基于FPGA的嵌入式立方星星务计算机在轨重构方法流程图,所述星务计算机在轨重构方法,采用本发明所述的基于FPGA的嵌入式立方星星务计算机。所述重构方法包括以下步骤:1)地面端生成同时包含FPGA逻辑单元和CPU内核软件代码的配置文件;2)将配置文件上传至立方星的通信终端;3)通信终端利用UART总线与星务计算机进行数据交互,将配置文件发送至星务计算机;4)控制UART硬核接收配置文件,并通过SPI硬核将配置文件存储至外部闪速存储器;5)将配置文件中的配置信息一一读出,写入处理芯片内部的非易失性存储单元;6)将所述处理芯片重新加载配置信息完成在轨重构。由于FPGA中的存储单元不止一种,只有非易失性存储单元是用于存储配置信息的。
本发明所述的基于FPGA的嵌入式立方星星务计算机的处理芯片上电工作时,会自动从其内部的非易失性存储单元中读取配置信息,对FPGA逻辑单元和CPU内核进行初始化,片外的闪速存储器用于存储备份的配置数据。
采用Microsemi公司提供的Flash型SmartFusion2 FPGA需要更新配置信息对星务模块进行重新配置时,需按照以下流程进行:
1)在地面端运行Smartfusion2编译综合软件Libero SOC 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芯片的在轨重新配置。
其中,上述重构流程是利用FPGA芯片内部集成的CPU内核完成上述功能的控制,在其他实施方式中也可利用高可靠的外部控制器芯片实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于FPGA的嵌入式立方星星务计算机,其特征在于,包括处理芯片,所述处理芯片集成有FPGA硬核、FPGA逻辑单元以及CPU内核;
所述FPGA硬核用于与外围电路以及立方星的各分系统进行通信;
所述FPGA逻辑单元用于对所述外围电路进行控制,同时对立方星的星务本地时间校时;
所述CPU内核用于对立方星进行整星控制算法实现、整星数据管理、姿控算法实现、控制命令分发以及载荷数据管理;
所述FPGA硬核包括I2C硬核、UART硬核、SPI硬核、CAN硬核以及计时器硬核,所述外围电路包括闪速存储器、幅度数字转换器、静态随机存储器、SD卡以及CAN收发器;
所述I2C硬核用于实现立方星星务系统I2C总线数据收发以及与各分系统通信;所述UART硬核用于实现立方星星务系统与各分系统之间的点对点数据传输;所述SPI硬核用于与所述闪速存储器以及所述SD卡进行通信;所述CAN硬核用于实现立方星星务系统CAN总线数据收发以及与各分系统通信;所述计时器硬核用于对立方星星务软件给出固定的时间拍;所述闪速存储器用于存储所述CPU内核的软件代码以及所述FPGA逻辑单元的配置代码;所述幅度数字转换器用于实时对立方星上各系统的模拟量进行采集,以反馈立方星在当前时刻的工作状态;所述静态随机存储器用于存储立方星姿控分系统的运行代码与实时数据,以供所述CPU内核调用;所述SD卡用于存储立方星载荷分系统的实时数据,以等待发送至地面端;所述CAN收发器用于提供CAN总线驱动和接收功能;
所述星务计算机进一步包括三模冗余模块以及滤波电路;所述三模冗余模块,用于对所述FPGA逻辑单元进行三倍模块的冗余,并采用三选二的机制得到输出结果;所述滤波电路,用于对所述FPGA逻辑单元的输入输出做单粒子瞬态脉冲滤波。
2.根据权利要求1所述的嵌入式立方星星务计算机,其特征在于,所述外围电路进一步包括硬件看门狗,所述硬件看门狗用于对立方星星务系统进行监测,在立方星软件系统跑飞时及时输出复位信号使软件系统恢复至初始状态。
3.根据权利要求1或2所述的嵌入式立方星星务计算机,其特征在于,所述FPGA逻辑单元和所述CPU内核互为软件看门狗。
4.根据权利要求1所述的嵌入式立方星星务计算机,其特征在于,所述星务计算机进一步包括CRC校验模块,所述CRC校验模块用于对立方星上交互的数据进行CRC校验。
5.根据权利要求1所述的嵌入式立方星星务计算机,其特征在于,所述星务计算机进一步包括EDAC校验模块,所述EDAC校验模块用于在运行代码和实时数据存入所述静态随机存储器前进行EDAC编码,以及在从所述静态随机存储器读出数据时进行EDAC检验。
6.一种基于FPGA的嵌入式立方星星务计算机的启动方法,应用于如权利要求1所述的基于FPGA的嵌入式立方星星务计算机,其特征在于,包括以下步骤:
(1)在星务计算机上电工作时,判断所述星务计算机的电源分系统的电池剩余电量是否小于预设阈值,若小于则执行步骤(2),否则执行步骤(3);
(2)进入安全模式,所述星务计算机中与通讯分系统进行通信的部分开始工作;
(3)进入开机模式,从所述星务计算机的非易失性存储单元中读出运行代码,对自身的运行程序和外围设备驱动进行初始化,初始化完成后执行步骤(4);
(4)进入工作模式,所述工作模式包括姿态调整模式、载荷模式、通信模式以及总线模式的至少其中之一,其中,所述姿态调整模式用于实时调整卫星的在轨姿态,所述载荷模式用于实现对载荷分系统的控制与数据交互,所述通信模式用于实现星地或者星间通信的控制,所述总线模式用于实现总线级的数据交互。
7.根据权利要求6所述的星务计算机的启动方法,其特征在于,步骤(4)进一步包括,判断所述电源分系统的电池剩余电量是否小于所述预设阈值,若小于则执行步骤(2)。
8.一种基于FPGA的嵌入式立方星星务计算机在轨重构方法,应用于如权利要求1所述的基于FPGA的嵌入式立方星星务计算机,其特征在于,包括以下步骤:
(A)地面端生成同时包含FPGA逻辑单元和CPU内核软件代码的配置文件;
(B)将配置文件上传至立方星的通信终端;
(C)通信终端利用UART总线与星务计算机进行数据交互,将配置文件发送至星务计算机;
(D)控制UART硬核接收配置文件,并通过SPI硬核将配置文件存储至外部闪速存储器;
(E)将配置文件中的配置信息一一读出,写入处理芯片内部的非易失性存储单元;
(F)将所述处理芯片重新加载配置信息完成在轨重构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410227118.8A CN104049687B (zh) | 2014-05-27 | 2014-05-27 | 基于fpga的嵌入式立方星星务计算机及其重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410227118.8A CN104049687B (zh) | 2014-05-27 | 2014-05-27 | 基于fpga的嵌入式立方星星务计算机及其重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104049687A CN104049687A (zh) | 2014-09-17 |
CN104049687B true CN104049687B (zh) | 2017-12-22 |
Family
ID=51502677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410227118.8A Expired - Fee Related CN104049687B (zh) | 2014-05-27 | 2014-05-27 | 基于fpga的嵌入式立方星星务计算机及其重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104049687B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105093244A (zh) * | 2014-11-10 | 2015-11-25 | 航天恒星科技有限公司 | 一种gnss实时定轨系统和定轨方法 |
CN104503259A (zh) * | 2014-11-27 | 2015-04-08 | 北京电子工程总体研究所 | 发控系统用通用可编程飞行器模拟器系统 |
CN105243046A (zh) * | 2015-10-30 | 2016-01-13 | 上海斐讯数据通信技术有限公司 | Sd卡的处理系统、sd卡的存储方法及读取方法 |
CN105426336A (zh) * | 2015-11-09 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 数据处理系统、数据读取输出方法 |
CN105549464A (zh) * | 2015-12-10 | 2016-05-04 | 中国电子科技集团公司第三十二研究所 | 面向中高轨卫星有效载荷的管控系统 |
CN106557346B (zh) * | 2016-11-24 | 2019-09-24 | 中国科学院国家空间科学中心 | 一种抗单粒子翻转的星载数据处理系统及方法 |
CN107291005A (zh) * | 2017-06-08 | 2017-10-24 | 中国电子科技集团公司第三十二研究所 | 面向中高轨卫星有效载荷的管控系统及方法 |
CN108100308B (zh) * | 2017-12-07 | 2021-01-05 | 西北工业大学 | 一种可重构单板皮卫星系统 |
CN108427584B (zh) * | 2018-03-19 | 2021-07-30 | 清华大学 | 快速启动的具有并行计算核的芯片及该芯片的配置方法 |
CN108763146A (zh) * | 2018-04-24 | 2018-11-06 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于常加电工作模式的高可靠星上计算机 |
CN108832990B (zh) * | 2018-06-08 | 2021-03-16 | 上海微小卫星工程中心 | 一种针对实时通信设备的空间单粒子效应即时恢复方法 |
CN109388608A (zh) * | 2018-08-22 | 2019-02-26 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于多核处理器的星载计算机 |
CN109799515A (zh) * | 2018-12-17 | 2019-05-24 | 上海航天电子有限公司 | 遥控终端及其在轨重构方法 |
CN110287142B (zh) * | 2018-12-29 | 2023-05-26 | 中国科学院软件研究所 | 多功能星载超算装置及卫星 |
CN110333881B (zh) * | 2019-03-22 | 2022-09-16 | 中国电子科技集团公司第五十四研究所 | 一种基于星载fpga处理的载荷类设备软件在轨重构方法 |
CN110441592B (zh) * | 2019-09-17 | 2024-05-07 | 贵州电网有限责任公司 | 一种gis用电子式互感器采集单元的采样预警系统和方法 |
CN110929465A (zh) * | 2019-11-19 | 2020-03-27 | 深圳航天东方红海特卫星有限公司 | 一种基于fpga工业器件可重构的可靠性设计系统与方法 |
CN111176548B (zh) * | 2019-12-02 | 2023-08-08 | 北京时代民芯科技有限公司 | 一种基于SiP的一体化星载计算机系统 |
CN111309477B (zh) * | 2020-02-13 | 2023-04-21 | 中国科学院微小卫星创新研究院 | 卫星在轨数据处理系统及方法 |
CN113672551B (zh) * | 2020-05-14 | 2024-05-14 | 广东高云半导体科技股份有限公司 | 通用处理系统及通用处理方法 |
CN111856991B (zh) * | 2020-06-22 | 2021-11-16 | 北京遥测技术研究所 | 对单粒子翻转具备五级防护的信号处理系统和处理方法 |
CN112230955B (zh) * | 2020-10-14 | 2023-03-21 | 西安微电子技术研究所 | 基于双核ARM SoC计算机FPGA重构系统及操作方法 |
CN112445748A (zh) * | 2020-10-29 | 2021-03-05 | 北京时代民芯科技有限公司 | 一种面向微纳卫星的国产可控高可靠星务计算机 |
CN112800712A (zh) * | 2021-02-01 | 2021-05-14 | 上海利正卫星应用技术有限公司 | 一种商业卫星控制处理器芯片的设计方法 |
CN113391920A (zh) * | 2021-06-11 | 2021-09-14 | 上海创景信息科技有限公司 | 一种智能化调度管理多种目标cpu的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346784B1 (en) * | 2002-08-29 | 2008-03-18 | Xilinx, Inc. | Integrated circuit device programming with partial power |
JP4223037B2 (ja) * | 2005-12-26 | 2009-02-12 | シャープ株式会社 | 画像処理装置 |
-
2014
- 2014-05-27 CN CN201410227118.8A patent/CN104049687B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104049687A (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104049687B (zh) | 基于fpga的嵌入式立方星星务计算机及其重构方法 | |
CN104239090B (zh) | 一种基于fpga的卫星星务计算机在轨重构系统及方法 | |
CN102650962B (zh) | 一种基于fpga的软核容错星载计算机 | |
CN105045672B (zh) | 一种基于sram fpga的多级容错加固卫星信息处理系统 | |
CN100570572C (zh) | 微小卫星星载计算机数据存储用的差错检测和纠错系统 | |
CN103325411B (zh) | 一种用于fpga的抗单粒子翻转加固系统及其方法 | |
CN103500125B (zh) | 一种基于fpga的抗辐射的数据处理系统及方法 | |
CN106484581B (zh) | 空间辐射环境下可编程soc器件单粒子翻转检测系统及方法 | |
CN104620217A (zh) | 从非易失性逻辑阵列唤醒恢复的具有受限电源域的处理设备 | |
CN105549901B (zh) | 星载综合化海量数据存储与回放设备 | |
CN103198868A (zh) | 一种用于单粒子翻转的故障模拟系统及分析方法 | |
CN106896372A (zh) | 一种单板星载综合电子系统 | |
CN106249840A (zh) | 节能非易失性微处理器 | |
CN107112994A (zh) | 用于集成电路的电源管理系统 | |
CN104850530A (zh) | 一种立方星星载计算机 | |
Shaila et al. | Functional Verification of SPI Protocol using UVM based on AMBA Architecture for Flash Memory Applications | |
Fuchs et al. | A fault-tolerant MPSoC for CubeSats | |
CN202677396U (zh) | 一种基于空间搜索技术的异构容错电路设计系统 | |
Huq et al. | AI-OBC: Conceptual Design of a Deep Neural Network based Next Generation Onboard Computing Architecture for Satellite Systems | |
Nguyen et al. | Reconfiguration Control Networks for FPGA-based TMR systems with modular error recovery | |
CN105426274B (zh) | 一种容软错误的粗粒度可重构阵列 | |
Cui et al. | Mitigating single event upset method for Zynq MPSoC | |
Li et al. | A SPI FLASH-based FPGA dynamic reconfiguration method | |
Guareschi et al. | A configurable test bed platform for test and validation of payloads for nanosatellites | |
CN102799734A (zh) | 一种基于空间搜索技术的异构容错电路设计系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Chen Wenwen Inventor after: Wu Shufan Inventor after: Chen Wen Inventor after: Li Zhao Inventor after: Kang Baopeng Inventor before: Qin Xi Inventor before: Wu Shufan Inventor before: Chen Wen |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171222 |