CN113271139B - 一种星载fpga软件在轨重构方法 - Google Patents
一种星载fpga软件在轨重构方法 Download PDFInfo
- Publication number
- CN113271139B CN113271139B CN202110484701.7A CN202110484701A CN113271139B CN 113271139 B CN113271139 B CN 113271139B CN 202110484701 A CN202110484701 A CN 202110484701A CN 113271139 B CN113271139 B CN 113271139B
- Authority
- CN
- China
- Prior art keywords
- satellite
- packet
- packets
- sub
- compression
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18513—Transmission in a satellite or space-based system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Radio Relay Systems (AREA)
Abstract
一种星载FPGA软件在轨重构方法,(1)生成重构差异数据包并存储;(2)对重构差异数据包进行压缩生成压缩包;(3)将最佳压缩参数及压缩包进行组包并添加解压信息,生成重构上注包;(4)地面将重构上注包按照飞行器上行链路特点分包注入到星上、校验并写入到上注存储区,直至所有分包上注完成;(5)星上处理器对上注存储区内的所有上注分包进行扫描,识别出所有的错误分包及未上注的分包,并将识别结果下传地面;(6)地面根据识别结果进行重注,直至所有重构上注分包校验通过;(7)星上处理器进行解压将原始BIT数据与解压出的数据按位异或,还原出重构原码并写入FPGA外部存储器,最后对FPGA进行复位重新加载BIT文件完成FPGA软件的在轨重构。
Description
技术领域
本发明涉及一种星载大容量FPGA软件在轨重构方法,用于对空间飞行器的FPGA软件实施在轨重构。
背景技术
在空间飞行器在轨服务期间,若星载FPGA软件在运行过程中出现问题或者需要实现新的功能时,需要对该软件进行故障修复或功能升级。目前对星载FPGA在轨重构的主要方法是将修改后的FPGA程序直接由地面注入到设备中,然后通过在轨维护程序加载修改后的FPGA程序,这种方法需要较大的内存来存储上注文件,而且由于注入的文件较大导致传输时间非常长,上注过程中存在失败的风险,一旦上注过程中发生传输错误或者飞行器能源供应不足导致设备断电,下次设备上电后需要再次重新上传所有数据包。
发明内容
本发明的技术解决问题:克服现有FPGA在轨重构技术不足,提供一种可以有效对星载FPGA软件进行高效率在轨重构的方法,该方法资源消耗少算法简单,比较适合资源受限的嵌入式系统,且可移植性好,有效提高了在轨飞行器的可靠性及可维护性。
本发明的技术解决方案:一种星载FPGA软件在轨重构方法,通过以下方式实现:
(1)对需要在轨重构的星载FPGA软件进行处理,生成重构差异数据包并存储;
(2)以不同的压缩参数对重构差异数据包进行压缩,最终以压缩率为关键指标选取最佳压缩参数生成压缩包;
(3)将最佳压缩参数及压缩包进行组包并添加解压信息,生成重构上注包;
(4)地面将重构上注包按照飞行器上行链路特点分包注入到星上,星上处理器收到一包分包就对其进行校验,并将通过校验的分包写入到上注存储区,直至所有分包上注完成;
(5)星上处理器对上注存储区内的所有上注分包进行扫描,识别出所有的错误分包及未上注的分包,并将识别结果下传地面;
(6)地面对(5)步骤校验识别到的所有错误分包及未上注的分包进行单独重新上注,重注完成后重复(5)过程直至所有重构上注分包校验通过;
(7)星上处理器读取上注的分包并提取压缩参数,使用该压缩参数对上注的压缩包进行解压,每解压出一包数据,读取星上存储在原始区中与其相同偏移位置及大小的原始BIT数据,将原始BIT数据与解压出的数据按位异或,还原出重构原码并写入FPGA外部存储器,重复上述过程直至所有分包解压完成,最后对FPGA进行复位重新加载BIT文件完成FPGA软件的在轨重构。
进一步的,步骤(1)将更新后的星载FPGA软件以增量编译方式生成 BIT文件;将所述BIT文件与在轨运行程序对应的FPGA BIT文件按位异或生成重构差异数据包。
进一步的,重构差异数据包存储在非易失存储器中。
进一步的,步骤(2)所述的将生成的重构差异数据包进行无损压缩,采用压缩率最大为判决条件选取最佳压缩块长度参数生成压缩包。
进一步的,步骤(2)中的压缩块长度参数按照2n步长增加的形式进行选取,n从0开始依次增大,最大值根据星上处理器的处理能力及资源确定。
进一步的,步骤(2)中的压缩块长度参数按照固定的步长依次进行增加,最大值根据星上处理器的处理能力及资源确定。
进一步的,步骤(4)中的上注分包支持按任意包顺序上注。
进一步的,步骤(5)中支持在星上设备断电再次加电后,继续上注未上注的数据包,已上注的数据包无需再次上注。
进一步的,步骤(4)分包过程中加入上注数据的包序号。
本发明适用于容量1M以上的星载FPGA软件在轨重构。
本发明与现有技术相比优点:
本方法通过选取最优的压缩参数对FPGA重构BIT文件进行压缩,减小了FPGA重构软件上注包大小,极大降低了对空间飞行器上行链路数据传输压力,同时该方法支持断电续传及支持以任意顺序分包序号上注,提高了上注效率,从而提高了其工程适用性。
(1)本发明采用压缩上注方式:本方法通过对修改后的FPGA BIT数据进行较高压缩率的压缩,大大减小了上注文件大小,也降低了上注文件传输时间,支持对FPGA功能进行全面更新;
(2)重构差异数据包通过自动化工具生成:重构差异数据对比及最优压缩参数通过工具自动生成,数据包生成算法与文件格式及平台无关,适用对任何嵌入式芯片运行的程序或需要上注的数据包进行处理;
(3)采用断电保存设计:重构差异数据采用FLASH、EEROM等非易失存储器中,即使软件运行平台断电,再次加电加电后已上注的文件仍然有效;
(4)采用断点续传设计:通过在分包过程中加入上注数据数据包序号,能够支持多次过境续传,不要求连续注入,非测控弧段可对平台断电,不受过境时间与测控弧段限制;
(5)支持以任意顺序分包上注设计:根据上注分包中的分包号,对上注分包的有效数据写入非易失存储器相应的偏移位置,因此支持上注分包按任意顺序上注;
(6)采用通用差异文件生成及压缩技术:该算法也在ARM、DSP等处理器芯片上进行验证,可支持所有类型的在轨数据上注;
(7)本方法不限定所使用的硬件平台,而是采用基于文件流的差异文件生成方法,支持所有类型的数据在轨上注。
附图说明
图1为本发明的系统框图。
图2为本发明的上注数据包处理流程图。
图3为本发明的FPGA程序重构流程图。
具体实施方式
下面结合附图1-3对本发明的具体实施方式进行进一步的详细描述。星载FPGA在轨重构方法用于对空间飞行器上的FPGA软件采用压缩上注的方式实施在轨重构,主要包含重构压缩数据包生成技术以及在轨解压重组技术两个部分组成。
本发明步骤如下:
(1)重构数据上注包生成:在确定需要对星载FPGA软件进行在轨重构后,将更新的星载FPGA软件以增量方式进行编译生成BIT文件,将新生成的BIT文件与在轨运行的程序对应的BIT文件做对比,生成重构差异文件。再通过不同的压缩块长度参数对重构差异文件进行压缩,其长度可按照 2n步长或者固定步长增加,最大长度需要根据星上处理器能力及资源合理选取。最后以压缩率最大为判决条件选取最佳压缩块长度参数进行压缩,并将压缩参数、压缩后的文件长度及校验信息组合生成最终重构数据上注包;
重构数据上注包生成是基于文件的对比及压缩算法,与文件格式及程序运行平台无关。
文件对比算法的基本思想为:分别从原始BIT文件及新生成的BIT文件中读取一个字节,将两个字节按位异或生成新的字节并写入文件,直至所有字节读取完。根据异或运算的规则可知两个相同的数字异或结果为0,而更新后的FPGA程序以增量方式编译,因此新生成的BIT文件多数内容与原始 BIT文件相同,最终生成的差异文件中大部分为0,在后续文件压缩过程中可有效提高压缩率。
表1重构数据上注包格式
字节序号 | 定义 | 备注 |
1-4 | 上注包帧头 | EB90EB90 |
5-8 | 上注包长度 | 整个上注包长度 |
9-12 | 压缩参数 | 压缩算法的参数 |
13-N | 压缩包 | 压缩后的数据包 |
N-N+4 | CRC校验 | 上述1-N字节的CRC-32校验结果 |
(2)重构数据包上行注入:重构数据通过星上的天地测控或者其他通信链路分包上行注入到星载设备存储器中。若在当前测控弧段不能将所有上注包上注到星上设备,可在下一弧段继续上注,直至所有数据包上注完成。所有上行注入包上注完成后,星上软件对存上注分包进行扫描校验,并将上注错误或者未上注的数据分包序号下传地面,地面根据分包序号对其进行重新上注,直至所有上注分包正确。
在星上设备断电再次加电后,继续上注未上注的数据包,已上注的数据包无需再次上注。
(3)在轨解压重组:所有上行注入包注入完成后可进行在轨解压重组,首先对上行数据包进行帧头及CRC校验确保上注包正确无误,然后从数据包中获取本次解压所需要的参数,并根据解压参数对压缩包进行解压缩还原成压缩前的数据包,再将解压后的数据包与在轨运行的程序对应的BIT文件进行异或,还原出最终需要烧录的BIT流文件并写入FPGA上注存储区中,最后执行从上注区加载指令即可完成本次重构。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (10)
1.一种星载FPGA软件在轨重构方法,其特征在于通过以下方式实现:
(1)对需要在轨重构的星载FPGA软件进行处理,生成重构差异数据包并存储;
(2)以不同的压缩参数对重构差异数据包进行压缩,最终以压缩率为关键指标选取最佳压缩参数生成压缩包;
(3)将最佳压缩参数及压缩包进行组包并添加解压信息,生成重构上注包;
(4)地面将重构上注包按照飞行器上行链路特点分包注入到星上,星上处理器收到一包分包就对其进行校验,并将通过校验的分包写入到上注存储区,直至所有分包上注完成;
(5)星上处理器对上注存储区内的所有上注分包进行扫描,识别出所有的错误分包及未上注的分包,并将识别结果下传地面;
(6)地面对步骤(5)校验识别到的所有错误分包及未上注的分包进行单独重新上注,重注完成后重复步骤(5)过程直至所有重构上注分包校验通过;
(7)星上处理器读取上注的分包并提取压缩参数,使用该压缩参数对上注的压缩包进行解压,每解压出一包数据,读取星上存储在原始区中与其相同偏移位置及大小的原始BIT数据,将原始BIT数据与解压出的数据按位异或,还原出重构原码并写入FPGA外部存储器,重复上述过程直至所有分包解压完成,最后对FPGA进行复位重新加载BIT文件完成FPGA软件的在轨重构。
2.根据权利要求1所述的星载FPGA软件在轨重构方法,其特征在于步骤(1)将更新后的星载FPGA软件以增量编译方式生成BIT文件;将所述BIT文件与在轨运行程序对应的FPGABIT文件按位异或生成重构差异数据包。
3.根据权利要求1所述的星载FPGA软件在轨重构方法,其特征在于:重构差异数据包存储在非易失存储器中。
4.根据权利要求1所述的星载FPGA软件在轨重构方法,其特征在于步骤(2)将生成的重构差异数据包进行无损压缩,采用压缩率最大为判决条件选取最佳压缩块长度参数生成压缩包。
5.根据权利要求4所述的星载FPGA软件在轨重构方法,其特征在于:压缩块长度参数按照2n步长增加的形式进行选取,n从0开始依次增大,最大值根据星上处理器的处理能力及资源确定。
6.根据权利要求4所述的星载FPGA软件在轨重构方法,其特征在于:压缩块长度参数按照固定的步长依次进行增加,最大值根据星上处理器的处理能力及资源确定。
7.根据权利要求1所述的星载FPGA软件在轨重构方法,其特征在于:步骤(4)中的上注分包支持按任意包顺序上注。
8.根据权利要求1所述的星载FPGA软件在轨重构方法,其中特征在于:步骤(5)中支持在星上设备断电再次加电后,继续上注未上注的数据包,已上注的数据包无需再次上注。
9.根据权利要求1所述的星载FPGA软件在轨重构方法,其特征在于:步骤(4)分包过程中加入上注数据的包序号。
10.根据权利要求1-9之一所述的星载FPGA软件在轨重构方法,其特征在于:适用于容量1M以上的星载FPGA软件在轨重构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110484701.7A CN113271139B (zh) | 2021-04-30 | 2021-04-30 | 一种星载fpga软件在轨重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110484701.7A CN113271139B (zh) | 2021-04-30 | 2021-04-30 | 一种星载fpga软件在轨重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113271139A CN113271139A (zh) | 2021-08-17 |
CN113271139B true CN113271139B (zh) | 2022-07-29 |
Family
ID=77229881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110484701.7A Active CN113271139B (zh) | 2021-04-30 | 2021-04-30 | 一种星载fpga软件在轨重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113271139B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867210B (zh) * | 2021-09-29 | 2024-04-05 | 中国科学院长春光学精密机械与物理研究所 | 多路星载嵌入式系统软件在轨重构控制方法 |
CN115085791B (zh) * | 2022-04-29 | 2024-03-22 | 航天科工空间工程发展有限公司 | 一种星上处理载荷软件在轨上注及重构方法 |
CN117667167B (zh) * | 2024-01-31 | 2024-05-07 | 兰州空间技术物理研究所 | 一种星载dsp软件在轨重构方法、装置、存储介质及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799502A (zh) * | 2012-06-28 | 2012-11-28 | 航天恒星科技有限公司 | 一种星载嵌入式软件在轨维护方法 |
CN111309668A (zh) * | 2020-01-23 | 2020-06-19 | 中国科学院微电子研究所 | 差异上注免擦写的fpga在轨重构实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096311B2 (en) * | 2002-09-30 | 2006-08-22 | Innopath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms |
-
2021
- 2021-04-30 CN CN202110484701.7A patent/CN113271139B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799502A (zh) * | 2012-06-28 | 2012-11-28 | 航天恒星科技有限公司 | 一种星载嵌入式软件在轨维护方法 |
CN111309668A (zh) * | 2020-01-23 | 2020-06-19 | 中国科学院微电子研究所 | 差异上注免擦写的fpga在轨重构实现方法 |
Non-Patent Citations (1)
Title |
---|
基于星地链路的FPGA在轨可重构设计;陈其聪等;《红外》;20180725(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113271139A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113271139B (zh) | 一种星载fpga软件在轨重构方法 | |
CN109783434B (zh) | 低代价高可靠的星载单机多片sram型fpga在轨重构系统及方法 | |
US8201054B2 (en) | Fault-tolerant method and apparatus for updating compressed read-only file systems | |
CN107957972B (zh) | 一种基于fpga的在轨重构系统及方法 | |
KR100535291B1 (ko) | 엔코딩 방법 및 메모리 장치 | |
KR101759658B1 (ko) | 메모리 장치 및 메모리 시스템 | |
CN102934093B (zh) | 用于改进固态驱动器的性能和/或可靠性的方法和系统 | |
CN107220097B (zh) | 一种大规模复杂结构软件的在轨烧写与重载方法 | |
CN108052355B (zh) | 星载载荷单元软件在轨重组方法 | |
EP2288991B1 (en) | Method of storing a data set in a distributed storage system, distributed storage system and computer program product for use with said method | |
US7669195B1 (en) | Electronic device network supporting compression and decompression in electronic devices and update generator | |
US8560918B1 (en) | Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system | |
Le Scouarnec | Exact scalar minimum storage coordinated regenerating codes | |
CN102110481A (zh) | 具有ecc电路的半导体存储系统及其控制方法 | |
CN112424747A (zh) | 具有反向数据的增量文件 | |
CN109614122B (zh) | 一种星载多处理器软件在轨编程系统及其设计方法 | |
JP3864337B2 (ja) | バージョンアップ方法 | |
WO2022146788A1 (en) | Indexing-based feedback codes and methods of use | |
US20180241503A1 (en) | Systems and methods for space-based and hybrid distributed data storage | |
CN108347306A (zh) | 分布式存储系统中类局部重构码编码及节点故障修复方法 | |
CN114741231B (zh) | 基于存储器的数据读写方法、装置、设备及存储介质 | |
US20180122494A1 (en) | Raid decoding architecture with reduced bandwidth | |
US7747911B1 (en) | Self verification of non-volatile memory | |
CN113849456A (zh) | 星载fpga重构方法 | |
CN113867210B (zh) | 多路星载嵌入式系统软件在轨重构控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |