CN111381982A - 一种适用于火星探测的三计算机数据交互与表决方法 - Google Patents
一种适用于火星探测的三计算机数据交互与表决方法 Download PDFInfo
- Publication number
- CN111381982A CN111381982A CN202010144763.9A CN202010144763A CN111381982A CN 111381982 A CN111381982 A CN 111381982A CN 202010144763 A CN202010144763 A CN 202010144763A CN 111381982 A CN111381982 A CN 111381982A
- Authority
- CN
- China
- Prior art keywords
- voting
- computer
- information
- satellite
- borne
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种适用于火星探测的三计算机数据交互与表决方法,本发明在星载计算机系统内部单独设置硬件共享内存,各个计算机直接通过CPU芯片与共享内存之间的IO接口访问内存地址获取其他计算机提供的交互信息和写入本机的交互信息;每次写本机的交互信息时同时,按字节依次写入内存三个地址,每次读取其他计算机的交互信息时,按字节从内存三个地址依次读取交互信息,读数结束后再进行3取2的表决,确定最终的交互信息;计算机软件读取到其他计算机软件发送的交互信息后,与本机的信息再进行3取2的表决,按照表决结果更新本机的控制信息,最终完成信息交互,统一三计算机的控制软件运行状态。
Description
技术领域
本发明涉及一种适用于火星探测的三计算机数据交互与表决方法,属于火星探测的星载计算机系统管理技术,特别是一种三计算机数据交互方法。
背景技术
我国将于2020年发射火星探测器,火星探测过程中要求:星载计算机系统的三计算机之间需频繁可靠、快速的交互大量控制信息,已长期保证三计算机运行状态一致,若有权当班机发生故障,星载计算机系统需自主平稳地切换计算机,切换前后控制软件功能维持连续运行。
现有的近地卫星型号一般通过以下两种方式进行计算机交互信息交互:1、有权机和无权机通过1553B总线交互信息,2、有权机和无权机通过通过串口422通道交互信息。此两种信息交互数据交互的速度受硬件接口限制,1553B总线最大不能超过2Mbps,串口422最大不能超过114.2Kbps,而且数据交互涉及的硬件芯片抗单粒子效应较弱,易出现错误数据,可靠性不高。不适合火星探测的高可靠性、快速数据交互要求。因此有必要设计一种适用于火星探测的三计算机数据交互与表决方法,使星载计算机系统内的计算机之间可以可靠、快速的交互信息。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提出了一种适用于火星探测的三计算机数据交互与表决方法,保证三计算机的控制软件运行状态一致,使星载计算机系统内的计算机之间可以可靠、快速的交互信息。
本发明的技术方案是:
一种适用于火星探测的三计算机数据交互与表决方法,包括步骤如下:
1)在火星探测器上设置3台星载计算机,将当前正在执行任务的计算机作为主份计算机,其余计算机作为备份计算机;同一时刻有且仅有一台主份计算机;
2)在每台星载计算机内部单独设置硬件内存作为共享内存,所述共享内存用于使星载计算机之间交互信息,将此共享内存的物理地址空间划分为三等分的物理地址空间,每台星载计算机均可以读取三台星载计算机的所有物理地址空间,但每台星载计算机只能改写本机对应的物理地址空间;
3)将星载计算机每个控制周期需要执行的任务划分为五类子任务,所述五类子任务按执行顺序,依次为:数据采集子任务、数据计算子任务、控制输出子任务、表决信息输出子任务、启动表决子任务;所述数据采集子任务需要三台星载计算机在同一时刻开始运行;
所述启动表决子任务需要三台星载计算机在同一时刻开始运行;
所述数据计算子任务、控制输出子任务、表决信息输出子任务不要求三台星载计算机在同一时刻开始运行。
在每台计算机执行完数据采集子任务后,将数据采集子任务采集得到的数据作为交互信息;
4)各台星载计算机直接通过CPU芯片与共享内存之间的IO接口访问共享内存,读取其他星载计算机提供的交互信息并写入本机的交互信息并作为数据计算子任务的输入信息;
步骤4)所述写入本机的方法,具体为:将需要写入本机的交互信息按字节分别写入本机共享内存的三个物理地址空间;
步骤4)所述读取其他星载计算机提供的交互信息的方法,具体为:
a、每次读取其他星载计算机的交互信息时,按字节分别从三台星载计算机共享内存的三个物理地址空间中读取交互信息,每台星载计算机均有三个物理地址空间,每台星载计算机对应提供三份交互信息;
b、将来自同一台星载计算机的三份交互信息进行初级3取2的表决,获得初级表决结果;
c、重复步骤b三次,获得每台星载计算机对应的初级表决结果,将每台星载计算机对应的初级表决结果进行终极3取2的表决,获得终极表决结果,按照终极表决结果更新本机;将终极表决结果作为数据计算子任务的输入信息。
步骤b所述初级3取2的表决的方法,具体为:
判断由同一星载计算机共享内存的三个物理地址空间读取到的交互信息是否有两份交互信息的数据一致,若有两份交互信息的数据一致,则使用两份数据相同的交互信息作为初级表决结果,若三个物理地址空间读取到的交互信息的数据均不一致,则任意选取一份交互信息作为该台星载计算机的初级表决结果。
步骤c所述终极3取2的表决的方法,具体为:
判断三台星载计算机初级表决结果是否有两份初级表决结果的数据一致,若有两份初级表决结果的数据一致,则使用两份数据相同的初级表决结果作为终级表决结果,若三份初级表决结果的数据均不一致,则任意选取一份初级表决结果的数据作为终极表决结果。
步骤3)所述划分五类子任务的方法,具体为:
将采集火星探测器上安装的敏感器原始数据的任务,划分为数据采集子任务;所述敏感器包括:加速度计、陀螺仪、星敏感器、模拟太阳角计;
将根据敏感器原始数据,解算火星探测器的加速度、角速度、姿态信息的任务,划分为数据计算子任务;
将根据火星探测器的加速度、角速度、姿态信息计算出动量轮转速、喷气脉宽的控制信息,并将控制信息发送给动量轮、推进系统执行的任务,划分为控制输出子任务;
将从火星探测器星载计算机内存中选取若干关键信息,作为表决信息,并将这些表决信息发送给表决器的任务,划分为表决信息输出子任务;
将向表决器发送启动表决的任务,划分为启动表决子任务。
本发明与现有技术相比的有益效果是:
1)本发明在计算机内部单独设置硬件内存作为共享内存,与计算机运行使用的内存隔离开,既保证了交互数据与运行数据相互隔离,互不干扰;又使交互数据时简单快捷,无需通讯协议即可快速交互数据;同时交互数据的速度快,远高于通过1553B总线或串口422交互的速度。
2)本发明对交互的数据进行2次三取二表决,既避免空间环境的单粒子效应,也避免某台计算机故障导致其交互数据出错,最终影响三机运行状态;
附图说明
图1为本发明一实施例星载计算机系统的A机数据交互读写示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步详细的描述。
针对火星探测的特点,火星探测过程中要求,星载计算机系统的三计算机的控制软件之间需频繁可靠、快速的交互大量控制信息,需要长期保证三计算机的控制软件运行状态一致的任务要求,本发明提供一种适用于火星探测的三计算机数据交互与表决方法,主要包括以下内容:
第一步:在星载计算机系统内部单独设置硬件共享内存,将此共享内存划分为三等分物理地址空间,每个计算机可以读取所有物理地址空间,但只能改写本计算机对应的物理地址空间;
第二步:各个计算机直接通过CPU芯片与共享内存之间的IO接口访问内存地址获取其他计算机提供的交互信息和写入本机的交互信息;
第三步:每次写本机的交互信息时同时,按字节依次写入内存三个地址,每次读取其他计算机的交互信息时,按字节从内存三个地址依次读取交互信息,读数结束后再进行3取2的表决,确定最终的交互信息;
第四步:计算机软件读取到其他计算机软件发送的交互信息后,与本机的信息再进行3取2的表决,按照表决结果更新本机的控制信息,最终完成信息交互,统一三计算机的控制软件运行状态。
一种适用于火星探测的三计算机数据交互与表决方法,包括步骤如下:
1)在火星探测器上设置3台星载计算机,将当前正在执行任务的计算机作为主份计算机,其余计算机作为备份计算机;同一时刻有且仅有一台主份计算机;
2)在每台星载计算机内部单独设置硬件内存作为共享内存,所述共享内存用于使星载计算机之间交互信息,将此共享内存的物理地址空间划分为三等分的物理地址空间,每台星载计算机均可以读取三台星载计算机的所有物理地址空间,但每台星载计算机只能改写本机对应的物理地址空间;
3)将星载计算机每个控制周期需要执行的任务划分为五类子任务,所述五类子任务按执行顺序,依次为:数据采集子任务、数据计算子任务、控制输出子任务、表决信息输出子任务、启动表决子任务;所述数据采集子任务需要三台星载计算机在同一时刻开始运行;
所述启动表决子任务需要三台星载计算机在同一时刻开始运行;
所述数据计算子任务、控制输出子任务、表决信息输出子任务不要求三台星载计算机在同一时刻开始运行。
在每台计算机执行完数据采集子任务后,将数据采集子任务采集得到的数据作为交互信息;
4)各台星载计算机直接通过CPU芯片与共享内存之间的IO接口访问共享内存,读取其他星载计算机提供的交互信息并写入本机的交互信息并作为数据计算子任务的输入信息;
步骤4)所述写入本机的方法,具体为:将需要写入本机的交互信息按字节分别写入本机共享内存的三个物理地址空间;
步骤4)所述读取其他星载计算机提供的交互信息的方法,具体为:
a、每次读取其他星载计算机的交互信息时,按字节分别从三台星载计算机共享内存的三个物理地址空间中读取交互信息,每台星载计算机均有三个物理地址空间,每台星载计算机对应提供三份交互信息;
b、将来自同一台星载计算机的三份交互信息进行初级3取2的表决,获得初级表决结果;
c、重复步骤b三次,获得每台星载计算机对应的初级表决结果,将每台星载计算机对应的初级表决结果进行终极3取2的表决,获得终极表决结果,按照终极表决结果更新本机;将终极表决结果作为数据计算子任务的输入信息。
步骤b所述初级3取2的表决的方法,具体为:
判断由同一星载计算机共享内存的三个物理地址空间读取到的交互信息是否有两份交互信息的数据一致,若有两份交互信息的数据一致,则使用两份数据相同的交互信息作为初级表决结果,若三个物理地址空间读取到的交互信息的数据均不一致,则任意选取一份交互信息作为该台星载计算机的初级表决结果。
步骤c所述终极3取2的表决的方法,具体为:
判断三台星载计算机初级表决结果是否有两份初级表决结果的数据一致,若有两份初级表决结果的数据一致,则使用两份数据相同的初级表决结果作为终级表决结果,若三份初级表决结果的数据均不一致,则任意选取一份初级表决结果的数据作为终极表决结果。
步骤3)所述划分五类子任务的方法,具体为:
将采集火星探测器上安装的敏感器原始数据的任务,划分为数据采集子任务;所述敏感器包括:加速度计、陀螺仪、星敏感器、模拟太阳角计等;
将根据敏感器原始数据,解算火星探测器的加速度、角速度、姿态信息的任务,划分为数据计算子任务;
将根据火星探测器的加速度、角速度、姿态信息计算出动量轮转速、喷气脉宽的控制信息,并将这些控制信息发送给动量轮、推进系统执行的任务,划分为控制输出子任务;
将从火星探测器星载计算机内存中选取若干关键信息,作为表决信息,并将这些表决信息发送给表决器的任务,划分为表决信息输出子任务;
将向表决器发送启动表决的任务,划分为启动表决子任务。
实施例
第一步:在星载计算机系统内部设置共享内存,此共享内存共8K×16bit,并可以根据交互信息的增多而不断扩容。将此共享内存划分为三等分物理地址空间,每个计算机可以读取所有内存空间,但只能改写本计算机对应的物理地址空间;
第二步:计算机使用底层指令集,通过CPU芯片与共享内存之间的IO接口访问内存地址获取其他计算机提供的交互信息和写入本机的交互信息。CPU每1ms访问700个IO,每个IO16位,码速率约为11.4Mbps。此速率远超1553B总线的2Mbps和串口422的114.2Kbps,可以满足火星探测过程中要求,星载计算机系统的三计算机的控制软件之间交互信息的速率要求;
第三步:第一步中每个计算机对应的物理地址空间,再平等分为三份。计算机每次写数时同时写入本计算机对应的物理地址空间的三个地方,计算机每次读取其他计算机的交互信息时,从被读计算机对应的物理地址空间的三个地方同时读取交互信息,读数结束后再进行3取2的表决,确定最终的交互信息,由此防止单粒子效应造成数据错误;
第四步:计算机软件读取到其他计算机软件发送的交互信息后,与本机的信息再进行3取2的表决,按照表决结果更新本机的控制信息,最终完成信息交互,统一三计算机的控制软件运行状态。
以星载计算机系统的A机的为例,数据交互的实施方式如图1所示。
本发明说明书中未作详细描述的内容属本领域专业技术人员的公知技术。
Claims (4)
1.一种适用于火星探测的三计算机数据交互与表决方法,其特征在于,包括步骤如下:
1)在火星探测器上设置3台星载计算机,将当前正在执行任务的计算机作为主份计算机,其余计算机作为备份计算机;同一时刻有且仅有一台主份计算机;
2)在每台星载计算机内部单独设置硬件内存作为共享内存,所述共享内存用于使星载计算机之间交互信息,将此共享内存的物理地址空间划分为三等分的物理地址空间,每台星载计算机均可以读取三台星载计算机的所有物理地址空间,但每台星载计算机只能改写本机对应的物理地址空间;
3)将星载计算机每个控制周期需要执行的任务划分为五类子任务,所述五类子任务按执行顺序,依次为:数据采集子任务、数据计算子任务、控制输出子任务、表决信息输出子任务、启动表决子任务;所述数据采集子任务需要三台星载计算机在同一时刻开始运行;
所述启动表决子任务需要三台星载计算机在同一时刻开始运行;
在每台计算机执行完数据采集子任务后,将数据采集子任务采集得到的数据作为交互信息;
4)各台星载计算机通过CPU芯片与共享内存之间的IO接口访问共享内存,读取其他星载计算机提供的交互信息并写入本机的交互信息并作为数据计算子任务的输入信息;
步骤4)所述写入本机的方法,具体为:将需要写入本机的交互信息按字节分别写入本机共享内存的三个物理地址空间;
步骤4)所述读取其他星载计算机提供的交互信息的方法,具体为:
a、每次读取其他星载计算机的交互信息时,按字节分别从三台星载计算机共享内存的三个物理地址空间中读取交互信息,每台星载计算机均有三个物理地址空间,每台星载计算机对应提供三份交互信息;
b、将来自同一台星载计算机的三份交互信息进行初级3取2的表决,获得初级表决结果;
c、重复步骤b三次,获得每台星载计算机对应的初级表决结果,将每台星载计算机对应的初级表决结果进行终极3取2的表决,获得终极表决结果,按照终极表决结果更新本机;将终极表决结果作为数据计算子任务的输入信息。
2.根据权利要求1所述的一种适用于火星探测的三计算机数据交互与表决方法,其特征在于,步骤b所述初级3取2的表决的方法,具体为:
判断由同一星载计算机共享内存的三个物理地址空间读取到的交互信息是否有两份交互信息的数据一致,若有两份交互信息的数据一致,则使用两份数据相同的交互信息作为初级表决结果,若三个物理地址空间读取到的交互信息的数据均不一致,则任意选取一份交互信息作为该台星载计算机的初级表决结果。
3.根据权利要求1所述的一种适用于火星探测的三计算机数据交互与表决方法,其特征在于,步骤c所述终极3取2的表决的方法,具体为:
判断三台星载计算机初级表决结果是否有两份初级表决结果的数据一致,若有两份初级表决结果的数据一致,则使用两份数据相同的初级表决结果作为终级表决结果,若三份初级表决结果的数据均不一致,则任意选取一份初级表决结果的数据作为终极表决结果。
4.根据权利要求1~3任意之一所述的一种适用于火星探测的三计算机数据交互与表决方法,其特征在于,步骤3)所述划分五类子任务的方法,具体为:
将采集火星探测器上安装的敏感器原始数据的任务,划分为数据采集子任务;所述敏感器包括:加速度计、陀螺仪、星敏感器、模拟太阳角计;
将根据敏感器原始数据,解算火星探测器的加速度、角速度、姿态信息的任务,划分为数据计算子任务;
将根据火星探测器的加速度、角速度、姿态信息计算出动量轮转速、喷气脉宽的控制信息,并将控制信息发送给动量轮、推进系统执行的任务,划分为控制输出子任务;
将从火星探测器星载计算机内存中选取若干关键信息,作为表决信息,并将这些表决信息发送给表决器的任务,划分为表决信息输出子任务;
将向表决器发送启动表决的任务,划分为启动表决子任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010144763.9A CN111381982B (zh) | 2020-03-04 | 2020-03-04 | 一种适用于火星探测的三计算机数据交互与表决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010144763.9A CN111381982B (zh) | 2020-03-04 | 2020-03-04 | 一种适用于火星探测的三计算机数据交互与表决方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111381982A true CN111381982A (zh) | 2020-07-07 |
CN111381982B CN111381982B (zh) | 2023-05-09 |
Family
ID=71215224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010144763.9A Active CN111381982B (zh) | 2020-03-04 | 2020-03-04 | 一种适用于火星探测的三计算机数据交互与表决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111381982B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112278328A (zh) * | 2020-10-28 | 2021-01-29 | 北京和德宇航技术有限公司 | 卫星姿控软件防护方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1146423A2 (en) * | 2000-04-11 | 2001-10-17 | The Boeing Company | Voted processing system |
WO2012167094A1 (en) * | 2011-06-01 | 2012-12-06 | Security First Corp. | Systems and methods for secure distributed storage |
CN104850530A (zh) * | 2015-05-21 | 2015-08-19 | 西北工业大学 | 一种立方星星载计算机 |
CN109189600A (zh) * | 2018-08-17 | 2019-01-11 | 四川航天系统工程研究所 | 一种基于多模冗余嵌入式软件的计算机系统及设计方法 |
-
2020
- 2020-03-04 CN CN202010144763.9A patent/CN111381982B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1146423A2 (en) * | 2000-04-11 | 2001-10-17 | The Boeing Company | Voted processing system |
WO2012167094A1 (en) * | 2011-06-01 | 2012-12-06 | Security First Corp. | Systems and methods for secure distributed storage |
CN104850530A (zh) * | 2015-05-21 | 2015-08-19 | 西北工业大学 | 一种立方星星载计算机 |
CN109189600A (zh) * | 2018-08-17 | 2019-01-11 | 四川航天系统工程研究所 | 一种基于多模冗余嵌入式软件的计算机系统及设计方法 |
Non-Patent Citations (2)
Title |
---|
孙兆伟;刘源;徐国栋;叶东;: "小卫星/小运载可重构多核计算机设计" * |
徐帷;武海雷;卢山;刘付成;: "大椭圆轨道卫星交会高轨目标的高精度视线跟踪控制" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112278328A (zh) * | 2020-10-28 | 2021-01-29 | 北京和德宇航技术有限公司 | 卫星姿控软件防护方法、装置、设备及存储介质 |
CN112278328B (zh) * | 2020-10-28 | 2021-07-06 | 北京和德宇航技术有限公司 | 卫星姿控软件防护方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111381982B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625401B (zh) | 基于集群文件系统的数据备份方法、装置及可读存储介质 | |
CN101256502B (zh) | 模拟多处理器系统的系统和方法 | |
CN105556478B (zh) | 用于保护虚拟机数据的系统和方法 | |
US7647443B1 (en) | Implementing I/O locks in storage systems with reduced memory and performance costs | |
US8250283B1 (en) | Write-distribute command for RAID mirroring | |
CN102057358B (zh) | 用于对卷的改变进行跟踪的系统与方法 | |
CN102567146B (zh) | 一种实现日志备份的方法及其装置、智能卡 | |
KR102236419B1 (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
CN102597951B (zh) | 一般目的使用的内部处理单元的存储器 | |
CN101008928A (zh) | 用于跟踪命令次序依赖性的方法和设备 | |
CN105074671A (zh) | 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统 | |
CN105511881A (zh) | 一种通用机载交互数据的管理方法 | |
CN105653411A (zh) | 支持局部永久故障恢复的多核处理器芯片可重构系统 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN112131741A (zh) | 一种实时双内核单机半实物仿真架构及仿真方法 | |
CN105446841A (zh) | 缓存一致性测试方法 | |
CN101458655B (zh) | 内存管理方法、系统及内存控制装置 | |
CN111381982A (zh) | 一种适用于火星探测的三计算机数据交互与表决方法 | |
CN102141955B (zh) | 一种基于Linux的内核日志系统及实现方法 | |
US20210081238A1 (en) | Exception analysis for data storage devices | |
CN113687779B (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
US20100257298A1 (en) | Single Point, Device Driven Data Transmission for a Real Time Application | |
CN102096607B (zh) | 微处理器及其除错方法 | |
CN114860380A (zh) | 数据同步的方法、装置、电子设备及计算机可读存储介质 | |
US10740002B1 (en) | System status log |
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 |