CN104572213B - 一种星载控制计算机的重构方法 - Google Patents
一种星载控制计算机的重构方法 Download PDFInfo
- Publication number
- CN104572213B CN104572213B CN201510036911.4A CN201510036911A CN104572213B CN 104572213 B CN104572213 B CN 104572213B CN 201510036911 A CN201510036911 A CN 201510036911A CN 104572213 B CN104572213 B CN 104572213B
- Authority
- CN
- China
- Prior art keywords
- fpga
- module
- file
- computer
- dynamic module
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种星载控制计算机的重构方法,该方法的步骤包括:(1)、对计算机单元的FPGA进行系统划分;(2)、地面控制中心计算机单元的FPGA配置文件;(3)、地面控制中心发送所述FPGA配置文件到数管分系统;(4)、数管分系统将所述FPGA配置文件发送到整星总线上;(5)、计算机单元在当班工作状态下进行重构操作;该方法采用SRAM型FPGA替换原有星载计算机的中央处理器,并在原有星载计算机上设计重构控制电路和重构配置数据存储器与该SRAM型FPGA的配置接口连接,该SRAM型FPGA划分为可重构区和固定区,可以实现星载控制计算机完成在轨重构,使得星载计算机在轨期间能够在地面的控制下,使用上行注入的配置文件实时改变功能。
Description
技术领域
本发明属于星载计算机技术领域,特别涉及一种星载控制计算机的重构方法。
背景技术
现有星载计算机一旦设计完成,其硬件接口和功能就无法改变,在面对空间复杂环境时,缺乏灵活性,无法通过自主或地面干预的形式改变自身功能以适应变换的空间环形,无法满足今后长期和远距离空间活动尤其是航天器自主飞行控制的需要。
目前新一代航天器的星载计算机对变结构变功能的需求越来越迫切,急需一种能够在轨实现实时功能重构的星载计算机。
发明内容
本发明的目的在于克服现有技术的不足,提供一种星载控制计算的重构方法,该方法采用支持重构星载控制计算机实现,该方法可以实现星载控制计算机完成在轨重构,使得星载计算机在轨期间能够在地面的控制下,使用上行注入的配置文件实时改变计算功能。
本发明的上述目的通过下述技术方案予以实现:
一种星载控制计算机的重构方法,通过支持重构星载控制计算机实现,所述星载控制计算包括N个计算机单元,每个计算机单元包括SRAM型FPGA、重构控制器、重构配置数据存储器和总线接口,其中,所述N个计算机单元采用N机热备份的方式进行工作,并且每个计算机单元采用总线与整星数管分系统相连,N为正整数;
所述星载控制计算机重构的具体实现方法如下:
(1)、对N个计算机单元中的SRAM型FPGA进行系统划分,得到不需要重构的静态系统和需要重构的动态系统,并生成所述静态系统与动态系统的FPGA编程文件;
(2)、地面控制中心根据任务内容生成第n个计算机单元的FPGA配置文件;n=1,2,3,…,N;
(3)、地面控制中心通过上行注入链路发送所述FPGA配置文件到数管分系统;
(4)、数管分系统将所述FPGA配置文件发送到整星总线上;
(5)、第n个计算机单元在当班工作状态下进行如下重构操作:
(5a)、第n个计算机单元中FPGA的静态系统从总线接口读取所述FPGA配置文件,并存放在重构配置数据存储器内;然后发送控制命令到重构控制器;
(5b)、重构控制器接收到所述控制命令后,从重构配置数据存储器中读取FPGA配置文件,并对所述FPGA的动态系统进行重构操作。
在上述的支持星载控制计算机的重构方法中,在步骤(1)中对N个计算机单元中的SRAM型FPGA进行系统划分,得到不需要重构的静态系统和需要重构的动态系统,并生成所述静态系统与动态系统的FPGA编程文件的具体实现方法如下:(1a)、在FPGA上实现SoC,其中,将所述SoC中各个模块进行划分,将不需要重构的模块定义为静态模块,将需要重构的模块定义为动态模块,所有的静态模块组成静态系统,所有的动态模块组成动态系统;
(1b)、将所述动态系统中的动态模块进行分组,每组动态模块具有相同的对外接口,所述对外接口包括动态模块的对外输出接口及与静态模块之间的通信接口;
(1c)、将所述SoC中的静态模块与SoC中的顶层进行综合,并在顶层中保留动态模块的连接关系,产生SoC的网表文件,综合后动态模块以黑盒子的形式存在;
(1d)、将SoC中的动态模块进行综合,并去除动态模块中的IO PAD,产生动态模块的网表文件,每个动态模块产生一个网表文件;
(1e)、将步骤(1c)综合后的SoC的网表文件映射到FPGA内部的可编程空间1中,将步骤(1d)综合后的动态网表文件映射到FPGA内部的可编程空间2中,所述可编程空间2即为放置动态模块的可重构区域;
(1f)、将步骤(1c)综合后的SoC的网表文件与步骤(1d)中的一个动态模块的网表文件进行合并,之后对SoC进行布局布线,并使能刷新接口电路,生成FPGA的编程文件,所述FPGA的编程文件包括全局FPGA编程文件与该动态模块的编程文件;
(1g)、重复步骤(1f),完成SoC的网表文件与所有动态模块网表文件的合并,生成多个FPGA的编程文件。
在上述的支持星载控制计算机的重构方法中,在步骤(5b)中,对FPGA的动态模块进行重构操作的具体实现过程如下:
所述FPGA在运行过程中,在接收到更新动态模块的指令后,静态系统中的静态模块继续运行,动态系统中包含需要更新的动态模块的动态模块组停止工作,对需要更新的动态模块的编程文件进行更新,动态系统中其余的动态模块组继续工作。
在上述的支持星载控制计算机的重构方法中,在步骤(5b)中,重构控制器在从重构配置数据存储器中读取FPGA配置文件时,采用CRC6、CRC16、CRC32或累加和校验实现对所述FPGA配置文件中的配置数据的进行校验运算,如果所述校验运算结果符合设定值,则对所述FPGA的可重构区进行重构操作,如果所述校验运算结果不符合设定值,则不启动重构操作并发出警报。
在上述的支持星载控制计算机的重构方法中,N个计算机单元采用N机热备份的方式进行工作,即每个计算机单元按照设定的容错策略作为当班计算机,即所述计算机单元处于当班工作状态,进行数据接收、处理和输出。
在上述的支持星载控制计算机的重构方法中,在所述星载控制计算机中,每个计算机单元采用1553B总线与整星数管分系统相连。
本发明与现有技术相比具有如下有益效果:
(1)本发明采用SRAM型FPGA作为星载计算机的主控单元,该FPGA可以根据任务需要划分为动态系统和静态系统,其中,动态系统中动态模块的的配置文件可以根据地面任务需求进行实时更新,实现在轨重构,以满足不同功能需求;
(2)本发明采用的SRAM型FPGA,其静态系统的配置数据一直有效,因此可以确保在对可重构区进行重构操作时,不影响固定区的正常工作,即确保星载计算机在重构过程中保持正常工作状态;
(3)、本发明的星载控制计算机采用1553B总线与整星数管分系统相连,可以确保星载控制计算机可以实时接收由地面上行注入的可重构区域的配置文件,以实现该星载控制计算机完成在轨重构;
(4)本发明中星载控制计算机采用N机热备份的工作方式,并且在计算机单元处于当班状态时对其进行重构操作,可以确保星载控制计算机的高可靠性工作,并能通过对各计算机单元的在轨重构增强整机的灵活性。
附图说明
图1为本发明中星载控制计算机的组成框图;
图2为本发明进行FPGA系统划分的处理流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的描述:
本发明采用SRAM型FPGA替换原有星载计算机的中央处理器,并在原有星载计算机上设计重构控制电路和重构配置数据存储器与该SRAM型FPGA的配置接口连接。该SRAM型FPGA划分为可重构区和固定区,其中,可重构区的大小可以根据实际需要自行设定,最大为整个FPGA,最小为1个CLB。可以根据任务需求的大小分配。
如图1所示的星载控制计算机的组成框图,本发明的在轨重构方法所基于的星载控制计算机包括包括N个计算机单元,每个计算机单元包括SRAM型FPGA、重构控制器、重构配置数据存储器和总线接口,其中,所述N个计算机单元采用N机热备份的方式进行工作,即每个计算机单元按照设定的容错策略作为当班计算机,即所述计算机单元处于当班工作状态,进行数据接收、处理和输出。并且每个计算机单元采用1553B总线与整星数管分系统相连,N为正整数,在本实施例中N=3。
本发明的星载控制计算机重构的具体实现方法如下:
(1)、对N个计算机单元中的SRAM型FPGA进行系统划分,得到不需要重构的静态系统和需要重构的动态系统,并生成所述静态系统与动态系统的FPGA编程文件;其中,静态系统用于实现处理器和1553B总线控制器的功能,动态系统用于实现IO功能、浮点运算单元(FPU)等其它计算机所需的功能。
如图2所示的FPGA系统划分的处理流程图,以上进行系统划分的具体实现步骤如下:
(1a)、根据动态可重构系统实际应用的需要,确定片上系统SOC的结构,确定静态模块和重构模块之间的接口等,将SoC中各个模块进行划分,将不需要重构的模块定义为静态模块,将需要重构的模块定义为动态模块,所有的静态模块组成静态系统,所有的动态模块组成动态系统,该SoC在FPGA上实现。
其中,静态系统包括整数运算单元、浮点运算单元、存储控制器、AHB控制器、AHB/APB桥、中断控制器、计时器、输入输出接口、1553B总线控制器等。动态系统中包括m组动态模块。
本发明静态模块设计与动态模块设计:静态模块按照需求完成逻辑功能的设计。动态模块的设计包含两部分:一是逻辑功能的设计,它根据系统的需求而进行设计;二是接口的封装,共享同一部分重构区域的重构模块应具有相同的对外接口。
(1b)、将动态系统中的动态模块进行分组,分为m组,每组动态模块具有相同的对外接口,对外接口包括动态模块的对外输出接口及与静态模块之间的通信接口。
(1c)、将SoC中的静态模块与SoC中的顶层进行综合,并在顶层中保留动态模块的连接关系,产生SoC的网表文件,综合后动态模块以黑盒子的形式存在。
(1d)、将SoC中的动态模块进行综合,并去除动态模块中的IO PAD(集成电路的输入/输出端口),产生动态模块的网表文件,每个动态模块产生一个网表文件。
(1e)、使用PlanAhead工具将步骤(1c)综合后的SoC的网表文件映射到FPGA内部的可编程空间1中,使用PlanAhead工具将步骤(1d)综合后的动态网表文件映射到FPGA内部的可编程空间2中,可编程空间2即为放置动态模块的可重构区域。所有动态模块可以放置在一个可重构区域中。还可以将可编程空间2(即可重构区域)划分为n个区域,n组动态模块中每组动态模块放置在一个区域中,且n个区域彼此平铺,不能重叠。
本发明可重构区域的约束如下:(1)可重构区域所包含的资源应大于所有动态模块中所需资源最大的动态模块的资源,即若第j个动态模块所需资源最大,可重构区域所包含的资源应大于第j个动态模块的所需资源;(2)可重构区域必须是矩形,且不能经过中央列;(3)如果有多个可重构区域,彼此要平铺,不能重叠。
(1f)、将步骤(1c)综合后的SoC的网表文件逐一与步骤(1d)中动态模块的网表文件利用PlanAhead工具进行合并,首先与其中第j个动态模块的网表文件进行合并,之后对SoC进行布局布线,并使能刷新接口电路,生成FPGA的编程文件,FPGA的编程文件包括全局FPGA编程文件与所述动态模块的编程文件。上述刷新接口电路为SelectMap接口电路或者JTAG接口电路。
(1g)、重复步骤(1f),按照相同的方法完成SoC的网表文件与所有动态模块网表文件的合并,生成所有动态模块的FPGA的编程文件。
(2)、地面控制中心根据任务内容生成第n个计算机单元的FPGA配置文件;n=1,2,3,…,N;
(3)、地面控制中心通过上行注入链路发送所述FPGA配置文件到数管分系统;
(4)、数管分系统将所述FPGA配置文件发送到整星总线上;
(5)、第n个计算机单元在当班工作状态下进行如下重构操作:
(5a)、第n个计算机单元中FPGA的静态系统从总线接口读取所述FPGA配置文件,并存放在重构配置数据存储器内;然后发送控制命令到重构控制器;
(5b)、重构控制器接收到所述控制命令后,从重构配置数据存储器中读取FPGA配置文件,采用CRC6、CRC16、CRC32或累加和校验实现对所述FPGA配置文件中的配置数据的进行校验运算,如果所述校验运算结果符合设定值,则对所述FPGA的可重构区进行重构操作,如果所述校验运算结果不符合设定值,则不启动重构操作并发出警报。
其中,该步骤中对FPGA的动态模块进行重构操作的具体实现过程如下:
所述FPGA在运行过程中,在接收到更新动态模块的指令后,静态系统中的静态模块继续运行,动态系统中包含需要更新的动态模块的动态模块组停止工作,对需要更新的动态模块的编程文件进行更新,动态系统中其余的动态模块组继续工作。
以上所述,仅为本发明一个具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (5)
1.一种星载控制计算机的重构方法,其特征在于:通过支持重构的星载控制计算机实现,所述星载控制计算包括N个计算机单元,每个计算机单元包括SRAM型FPGA、重构控制器、重构配置数据存储器和总线接口,其中,所述N个计算机单元采用N机热备份的方式进行工作,并且每个计算机单元采用总线与整星数管分系统相连,其中,N为正整数;
所述星载控制计算机重构的具体实现方法如下:
(1)、对N个计算机单元中的SRAM型FPGA进行系统划分,得到不需要重构的静态系统和需要重构的动态系统,并生成所述静态系统与动态系统的FPGA编程文件,具体实现方法如下:
(1a)、在FPGA上实现SoC,其中,将所述SoC中各个模块进行划分,将不需要重构的模块定义为静态模块,将需要重构的模块定义为动态模块,所有的静态模块组成静态系统,所有的动态模块组成动态系统;
(1b)、将所述动态系统中的动态模块进行分组,每组动态模块具有相同的对外接口,所述对外接口包括动态模块的对外输出接口及与静态模块之间的通信接口;
(1c)、将所述SoC中的静态模块与SoC中的顶层进行综合,并在顶层中保留动态模块的连接关系,产生SoC的网表文件,综合后动态模块以黑盒子的形式存在;
(1d)、将SoC中的动态模块进行综合,并去除动态模块中的IO PAD,产生动态模块的网表文件,每个动态模块产生一个网表文件;
(1e)、将步骤(1c)综合后的SoC的网表文件映射到FPGA内部的可编程空间1中,将步骤(1d)综合后的动态网表文件映射到FPGA内部的可编程空间2中,所述可编程空间2即为放置动态模块的可重构区域;
(1f)、将步骤(1c)综合后的SoC的网表文件与步骤(1d)中的一个动态模块的网表文件进行合并,之后对SoC进行布局布线,并使能刷新接口电路,生成FPGA的编程文件,所述FPGA的编程文件包括全局FPGA编程文件与该动态模块的编程文件;
(1g)、重复步骤(1f),完成SoC的网表文件与所有动态模块网表文件的合并,生成多个FPGA的编程文件;
(2)、地面控制中心根据任务内容生成第n个计算机单元的FPGA配置文件;n=1,2,3,…,N;
(3)、地面控制中心通过上行注入链路发送所述FPGA配置文件到数管分系统;
(4)、数管分系统将所述FPGA配置文件发送到整星总线上;
(5)、第n个计算机单元在当班工作状态下进行如下重构操作:
(5a)、第n个计算机单元中FPGA的静态系统从总线接口读取所述FPGA配置文件,并存放在重构配置数据存储器内;然后发送控制命令到重构控制器;
(5b)、重构控制器接收到所述控制命令后,从重构配置数据存储器中读取FPGA配置文件,并对所述FPGA的动态系统进行重构操作。
2.根据权利要求1所述一种星载控制计算机的重构方法,其特征在于:在步骤(5b)中,对FPGA的动态模块进行重构操作的具体实现过程如下:
所述FPGA在运行过程中,在接收到更新动态模块的指令后,静态系统中的静态模块继续运行,动态系统中包含需要更新的动态模块的动态模块组停止工作,对需要更新的动态模块的编程文件进行更新,动态系统中其余的动态模块组继续工作。
3.根据权利要求1所述一种星载控制计算机的重构方法,其特征在于:在步骤(5b)中,重构控制器在从重构配置数据存储器中读取FPGA配置文件时,采用CRC6、CRC16、CRC32或累加和校验实现对所述FPGA配置文件中的配置数据的进行校验运算,如果所述校验运算结果符合设定值,则对所述FPGA的可重构区进行重构操作,如果所述校验运算结果不符合设定值,则不启动重构操作并发出警报。
4.根据权利要求1所述一种星载控制计算机的重构方法,其特征在于:N个计算机单元采用N机热备份的方式进行工作,即每个计算机单元按照设定的容错策略作为当班计算机,即所述计算机单元处于当班工作状态,进行数据接收、处理和输出。
5.根据权利要求1所述一种星载控制计算机的重构方法,其特征在于:在所述星载控制计算机中,每个计算机单元采用1553B总线与整星数管分系统相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510036911.4A CN104572213B (zh) | 2015-01-23 | 2015-01-23 | 一种星载控制计算机的重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510036911.4A CN104572213B (zh) | 2015-01-23 | 2015-01-23 | 一种星载控制计算机的重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572213A CN104572213A (zh) | 2015-04-29 |
CN104572213B true CN104572213B (zh) | 2017-11-07 |
Family
ID=53088371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510036911.4A Active CN104572213B (zh) | 2015-01-23 | 2015-01-23 | 一种星载控制计算机的重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572213B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959215B (zh) * | 2016-06-23 | 2019-02-26 | 中国电子科技集团公司第五十四研究所 | 一种通信网关硬件可重构的方法 |
CN106558337A (zh) * | 2016-10-26 | 2017-04-05 | 国芯科技(北京)有限公司 | 一种sram存储电路及存储空间的重构方法 |
CN107391189B (zh) * | 2017-07-17 | 2020-10-27 | 上海卫星工程研究所 | 星载软件的在轨编程方法 |
CN108647091B (zh) * | 2018-04-27 | 2021-03-26 | 北京空间飞行器总体设计部 | 一种基于任务自适应分配的星载计算机动态重构方法及系统 |
CN110398921A (zh) * | 2019-07-24 | 2019-11-01 | 理工雷科电子(西安)有限公司 | 一种基于fpga控制的多任务动态重构处理系统和方法 |
CN110989417B (zh) * | 2019-10-29 | 2023-02-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 适应fpga局部重构的周期检测系统 |
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构系统及实现方法 |
CN112291237A (zh) * | 2020-10-28 | 2021-01-29 | 山东超越数控电子股份有限公司 | 一种基于国产fpga实现软件定义的可重构对称加密方法 |
CN112800712A (zh) * | 2021-02-01 | 2021-05-14 | 上海利正卫星应用技术有限公司 | 一种商业卫星控制处理器芯片的设计方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064695A (zh) * | 2011-10-21 | 2013-04-24 | 上海湾流仪器技术有限公司 | 现场可编程门阵列的动态加载系统及其加载方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005073866A2 (en) * | 2004-01-21 | 2005-08-11 | Charles Stark Draper Laboratory, Inc. | Systems and methods for reconfigurable computing |
-
2015
- 2015-01-23 CN CN201510036911.4A patent/CN104572213B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064695A (zh) * | 2011-10-21 | 2013-04-24 | 上海湾流仪器技术有限公司 | 现场可编程门阵列的动态加载系统及其加载方法 |
Non-Patent Citations (2)
Title |
---|
FPGA动态部分重构实现方法;周盛雨等;《万方:中国空间科学学会空间探测专业委员会第21届学术会议论文集》;20090424;第531-535页 * |
星载双热备份计算机系统设计;李利军;《万方学术论文》;20110328;第56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104572213A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572213B (zh) | 一种星载控制计算机的重构方法 | |
CN105045672B (zh) | 一种基于sram fpga的多级容错加固卫星信息处理系统 | |
CN101493809B (zh) | 一种基于fpga的多核心星载计算机 | |
CN103607466B (zh) | 一种基于云计算的广域多级分布式并行电网分析方法 | |
CN102750606A (zh) | 一种电网调度云系统 | |
Gan et al. | Accelerating solvers for global atmospheric equations through mixed-precision data flow engine | |
CN110989417B (zh) | 适应fpga局部重构的周期检测系统 | |
CN104484309B (zh) | 一种支持部分可重构的航天用SoC的实现方法 | |
CN108780342A (zh) | 用于使用处理器中的核的热裕量的系统、方法和设备 | |
CN103869700A (zh) | 卫星执行机构在线重构的半物理平台以及控制方法 | |
US20160239278A1 (en) | Generating a schedule of instructions based on a processor memory tree | |
Baig et al. | An island-style-routing compatible fault-tolerant FPGA architecture with self-repairing capabilities | |
Iturbe et al. | A roadmap for autonomous fault-tolerant systems | |
CN103699399A (zh) | 一种使可部分配置的fpga芯片系统具有高可靠性的方法 | |
CN104850530A (zh) | 一种立方星星载计算机 | |
US20140181491A1 (en) | Field-programmable module for interface bridging and input/output expansion | |
ES2412004T3 (es) | Método y producto de software para gestionar intercambio de datos en un sistema de seguridad crítico muy dinámico | |
CN108459989B (zh) | 一种非结构网格气象数值模式计算系统 | |
CN107908905A (zh) | 一种通过bim进行施工模拟的装置 | |
Isakovic et al. | A Mixed-Criticality Integration in Cyber-Physical Systems: A Heterogeneous Time-Triggered Architecture on a Hybrid SoC Platform | |
CN104599318A (zh) | 一种植物三维模型网格无缝融合的方法及系统 | |
Hallmans et al. | A method and industrial case: Replacement of an FPGA component in a legacy control system | |
CN107908867A (zh) | 一种三模冗余电路的版图设计方法 | |
CN102508711A (zh) | 面向服务的可重构片上多核计算平台及其重构方法 | |
Time-Triggered | A Mixed-Criticality Integration in Cyber-Physical Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |