CN110619012A - 一种导弹火控系统在线数据处理方法 - Google Patents
一种导弹火控系统在线数据处理方法 Download PDFInfo
- Publication number
- CN110619012A CN110619012A CN201910769816.3A CN201910769816A CN110619012A CN 110619012 A CN110619012 A CN 110619012A CN 201910769816 A CN201910769816 A CN 201910769816A CN 110619012 A CN110619012 A CN 110619012A
- Authority
- CN
- China
- Prior art keywords
- data
- fire control
- frame
- control system
- setting
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种导弹火控系统在线数据处理方法,可以实时、可靠、完整地处理所有数据,方法具有高的鲁棒性;本方法对硬件和软件环境要求低,成本低;即使在前端装置不带操作系统或所带操作系统仅能支持单线程程序的条件下亦可实现,方法相对简单;前端方法本质是基于时间片轮转驱动的单线程算法,即使存在多个火控任务时也能实时、准确、可靠地完成处理,后端方法即使在前端一次性发来海量高速数据或后端有图形操作或显示的情况下也能完整、可靠、及时地处理完所有数据。方法具有高的鲁棒性。
Description
技术领域
本发明属于导弹火控系统设计技术领域,具体涉及一种导弹火控系统在线数据处理方法。
背景技术
对于一套导弹火控系统来说,能够实时、准确、可靠、完整地在线处理导弹火控系统的各类数据是至关重要的。一般,鉴于火控系统操作人员安全,导弹火控系统一般采用前、后端分布式布局,前端装置执行各类火控任务,并将数据处理后通过与之相连的通信电缆(各种数据总线)发往后端火控台,火控台实时进行数据处理(解算、判断、显示及存储等)。
一般,导弹火控系统在设计时,为了能够实时执行火控任务并处理庞大的各类数据,前端和后端的数据处理较常用的处理方法:前端在基于x86架构的标准总线核心板上运行成熟的实时操作系统(VxWorks、QNX等),用其对应的开发环境来进行实时算法设计,从而保证实时性,在线数据处理算法设计一般均采用多任务(进程)+硬件中断的模式;后端数据处理的方法是:将前端发来的数据一个一个先存入一个缓冲区内,然后在一个多线程中对其逐一进行处理。
以上的导弹火控系统在线数据处理方法虽然能够基本完成所要求的任务,但存在以下弊端:
1)前端系统开发成本太高,一套实时系统(如VxWorks)及其对应的开发环境最少需要20万左右人民币,而且系统开发难度较大,学习成本较高,投入大;另外实时操作系统任务调度复杂,火控数据处理及时序控制复杂(火控模型解算、发射时序控制等),必然要使用多任务调度,相比单线程可靠性、同步性、时序控制精度较低;
2)后端在线数据处理方法健壮性一般,当大量高速数据(如点火电流数据、模型解算、时序信号、导航信息等)发来时或后端火控台有图形操作(如动画、视频图像显示)时,经常由于来不及处理而造成数据丢失或系统发生较大延迟(卡滞),甚至崩溃(意外退出或死机)。
发明内容
有鉴于此,本发明的目的是提供一种导弹火控系统在线数据处理方法,可以实时、可靠、完整地处理所有数据,方法具有高的鲁棒性。
一种导弹火控系统在线数据处理方法,包括前端处理过程和后端处理过程;
所述前端处理过程包括如下步骤:
第11步、接收、解析和预处理后端发来的任务,预处理包括相关标识、参数、时间片设置;
第12步、判断本任务硬件执行时间片是否已到:若到了则进入第13步,否则等待进入下一时间片;
第13步、驱动硬件执行任务;
第14步、判断本任务所有步骤是否均执行完毕:若没有执行完则进入第15步,否则进入第16步;
第15步、计算和设置本任务下一步硬件执行时间片;
第16步、进行标明本任务结束的标识设置、参数设置;
第17步、将本时间片内产生的所有数据分成多帧进行打包,并发往后端;
所述后端处理过程包括如下步骤:
第21步、接收前端发来的数据;
第22步、对数据包进行完整性检查,判断数据是否完整:若不完整说明前端一次性发来的数据并没有接收完,进入第21步继续接收数据,否则进入第23步;
第23步、根据实际的数据处理需求将数据包里的所有帧分别存入三个二级缓冲区中;
第24步、在所述三个二级缓冲区中,对数据采用边存储边处理的方式,处理完毕的数据帧移出所在二级缓冲区。
进一步的,所述数据包中还包括帧个数。
较佳的,所述数据包中每帧中包括帧头、ID、时标、3个通道、数值以及帧校验。
较佳的,所述二级缓冲区数据结构为一个首尾相接二维数组;二维数组的行数为接收到的所有帧个数,列数为每一个帧的长度;
所述步骤23包括如下步骤:
第230步、用m_db表示所述二维数组的行数;设置db_ip、db_cnt的初始值为1;
第231步、将某帧数据存入第db_ip行;
第232步、db_ip自增1,db_cnt自增1;
第233步、判断db_ip是否大于m_db:若是则将db_ip置1,随后准备写入下一帧数据;若不是则直接准备写入下一帧数据。
较佳的,所述步骤24包括如下步骤:
第241步、判断db_cnt是否大于0,若是则说明缓冲区中存在已经被写入但还未被处理的数据,进入第242步;若不是则返回第241步;
第242步、处理第db_op行数据;
第243步、db_op自增1,db_cnt自减1;
第244步、判断db_op是否大于m_db,若是则将db_op置1,返回第241步;若不是则直接返回第241步。
本发明具有如下有益效果:
1、本方法对硬件和软件环境要求低,成本低;即使在前端装置不带操作系统或所带操作系统仅能支持单线程程序的条件下亦可实现,方法相对简单;
2、前端方法本质是基于时间片轮转驱动的单线程算法,即使存在多个火控任务时也能实时、准确、可靠地完成处理,后端方法即使在前端一次性发来海量高速数据或后端有图形操作或显示的情况下也能完整、可靠、及时地处理完所有数据。方法具有高的鲁棒性。
附图说明
图1是本发明提供的一种导弹火控系统在线数据处理方法中前端处理流程图;
图2是本发明提供的一种导弹火控系统在线数据处理方法中后端处理流程图;
图3(a)是本发明第三步的具体实施方法流程图;
图3(b)是本发明的第四步的具体实施方法流程图;
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种导弹火控系统在线数据处理方法由前端处理过程和后端处理过程组成;前端处理过程是时间片轮转驱动火控任务硬件执行,在时间片末端将本时间片内产生的具有所述帧规格的所有数据按照所述数据包规格打包后发往后端;后端处理过程是:首先在数据接收的同时根据所述数据包及帧的规格进行数据完整性检查,如果不完整则继续接收数据,如果完整则根据实际数据处理需求将所有帧分别存入三个循环二级缓冲区中(对应显示、数据库、表格三种处理方式),同时在设计好的三个二级线程(其优先级可根据数据处理的实际需求设置)中以循环的方式分别处理三个缓冲区中的数据。
前端处理过程,在一个时间片内,有可能会执行(硬件执行)多个火控任务,一个任务在一个时间片内最多被执行一步,一个任务在某个时间片内是否被执行取决于该任务所设置的时间片。对于某一新的火控任务,前端方法包括如下步骤(如图1):
第一步、接收、解析、预处理后端发来的任务,预处理主要包括相关标识、参数、时间片设置;
第二步、判断本任务硬件执行时间片到?若到了则进入第三步,否则等待进入下一时间片;
第三步、驱动硬件执行任务;
第四步、判断本任务所有步骤是否均执行完?若没有执行完则进入第五步,否则进入第六步;
第五步、计算、设置本任务下一步硬件执行时间片;
第六步、进行标明本任务结束的标识设置、参数设置;
第七步、依据所述帧及数据包规格打包本时间片内产生的所有数据,并发往后端。
所述帧规格(如图1所示)由15个字节组成:帧头(2字节)、ID(1字节)、时标(4字节)、通道1(1字节)、通道2(1字节)、通道3(1字节)、数值(4字节)、帧校验(1字节)。其中帧头、ID、帧校验用于帧合法性检查;时标标明本帧所代表的硬件执行时刻所在的时间片,用于时序分析;通道1、通道2、通道3,各为1个字节,3个字节的位采用组合形式,用于表示点火通道、时序信号通道、导弹分离信号状态、弹上电路状态等的具体通道或结果(状态);数值用来表示具体数值(比如点火电流、火控解算值等)。
所述数据包规格如图1所示,由帧个数k及具体的k个帧组成。
基于前端方法后端方法包括如下步骤(如图2):
第一步、接收前端发来的数据;
第二步、依据所述的帧及数据包规格对收到的数据进行完整性检查,判断数据是否完整?若不完整说明前端一次性发来的数据并没有接收完,进入第一步继续接收数据,否则进入第三步;
第三步、根据实际的数据处理需求将数据包里的所有帧分别存入三个循环二级缓冲区中;
第四步、在三个二级线程(其优先级可根据数据处理的实际需求设置)中以循环的方式分别处理三个二级缓冲区中的数据。
所述循环二级缓冲区数据结构为:整体是一个二维数组(假设为Data[m][n]),该二维数组是先进先出的存储方式,该二维数组是首尾相接的。二维数组的行数为接收到的所有帧个数,列数为每一个帧的长度。
所述第三步及第四步是同时执行的,即边存入边处理;所述三个二级线程都是循环执行的,只要发现缓冲区中存在有未被处理的帧就逐一将其处理完。
第三步和第四步对于显示、数据库、表格三种数据处理方式来说是相似的。这里仅以数据库为例,第三步中将某一帧数据存入数据库循环二级缓冲区包括如图3(a)所示步骤,第四步中在数据库二级线程中以循环的方式处理缓冲区中的数据包括如图3(b)所示步骤。图3中变量说明如下:m_db为数据库循环二级缓冲区二维数组的行数,db_ip表示某帧数据将要被写入二维数组的第db_ip行,db_op表示二维数组第db_op行数据将被处理,db_cnt为缓冲区中已经被写入但还没有被及时处理的数据的行数;db_ip、db_op初值均为1,db_cnt初值为0。
图3(a)包括如下步骤:
第一步、将某帧数据存入第db_ip行;
第二步、db_ip自增1,db_cnt自增1;
第三步、判断db_ip是否大于m_db,若是则将db_ip置1(即首尾相接),随后准备写入下一帧数据;若不是则直接准备写入下一帧数据。
图3(b)包括如下步骤:
第一步、判断db_cnt是否大于0,若是则说明缓冲区中存在已经被写入但还未被处理的数据,进入第二步;若不是则返回第一步(即循环判断缓冲区中是否已存在有未被处理的数据,一旦有了就进入第二步进行处理);
第二步、处理第db_op行数据;
第三步、db_op自增1,db_cnt自减1;
第四步、判断db_op是否大于m_db,若是则将db_op置1(即首尾相接),返回第一步;若不是则直接返回第一步。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种导弹火控系统在线数据处理方法,其特征在于,包括前端处理过程和后端处理过程;
所述前端处理过程包括如下步骤:
第11步、接收、解析和预处理后端发来的任务,预处理包括相关标识、参数、时间片设置;
第12步、判断本任务硬件执行时间片是否已到:若到了则进入第13步,否则等待进入下一时间片;
第13步、驱动硬件执行任务;
第14步、判断本任务所有步骤是否均执行完毕:若没有执行完则进入第15步,否则进入第16步;
第15步、计算和设置本任务下一步硬件执行时间片;
第16步、进行标明本任务结束的标识设置、参数设置;
第17步、将本时间片内产生的所有数据分成多帧进行打包,并发往后端;
所述后端处理过程包括如下步骤:
第21步、接收前端发来的数据;
第22步、对数据包进行完整性检查,判断数据是否完整:若不完整说明前端一次性发来的数据并没有接收完,进入第21步继续接收数据,否则进入第23步;
第23步、根据实际的数据处理需求将数据包里的所有帧分别存入三个二级缓冲区中;
第24步、在所述三个二级缓冲区中,对数据采用边存储边处理的方式,处理完毕的数据帧移出所在二级缓冲区。
2.如权利要求1所述的一种导弹火控系统在线数据处理方法,其特征在于,所述数据包中还包括帧个数。
3.如权利要求2所述的一种导弹火控系统在线数据处理方法,其特征在于,所述数据包中每帧中包括帧头、ID、时标、3个通道、数值以及帧校验。
4.如权利要求1所述的一种导弹火控系统在线数据处理方法,其特征在于,所述二级缓冲区数据结构为一个首尾相接二维数组;二维数组的行数为接收到的所有帧个数,列数为每一个帧的长度;
所述步骤23包括如下步骤:
第230步、用m_db表示所述二维数组的行数;设置db_ip、db_cnt的初始值为1;
第231步、将某帧数据存入第db_ip行;
第232步、db_ip自增1,db_cnt自增1;
第233步、判断db_ip是否大于m_db:若是则将db_ip置1,随后准备写入下一帧数据;若不是则直接准备写入下一帧数据。
5.如权利要求4所述的一种导弹火控系统在线数据处理方法,其特征在于,所述步骤24包括如下步骤:
第241步、判断db_cnt是否大于0,若是则说明缓冲区中存在已经被写入但还未被处理的数据,进入第242步;若不是则返回第241步;
第242步、处理第db_op行数据;
第243步、db_op自增1,db_cnt自减1;
第244步、判断db_op是否大于m_db,若是则将db_op置1,返回第241步;若不是则直接返回第241步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910769816.3A CN110619012B (zh) | 2019-08-20 | 2019-08-20 | 一种导弹火控系统在线数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910769816.3A CN110619012B (zh) | 2019-08-20 | 2019-08-20 | 一种导弹火控系统在线数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110619012A true CN110619012A (zh) | 2019-12-27 |
CN110619012B CN110619012B (zh) | 2022-09-27 |
Family
ID=68922334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910769816.3A Active CN110619012B (zh) | 2019-08-20 | 2019-08-20 | 一种导弹火控系统在线数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110619012B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609690A (zh) * | 2021-08-09 | 2021-11-05 | 西安航天动力技术研究所 | 一种Vxworks下导弹击发时序设计方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098535A1 (en) * | 2002-11-19 | 2004-05-20 | Narad Charles E. | Method and apparatus for header splitting/splicing and automating recovery of transmit resources on a per-transmit granularity |
CN101510999A (zh) * | 2009-02-24 | 2009-08-19 | 山东大学 | 用于实时视频监控的客户端实现方法 |
CN102710758A (zh) * | 2012-05-22 | 2012-10-03 | 苏州云博信息技术有限公司 | 一种基于单片机系统的数据流断点续传方法 |
CN103124203A (zh) * | 2011-11-17 | 2013-05-29 | 京信通信系统(中国)有限公司 | 时分复用信道参数维护管理方法及装置 |
CN104486335A (zh) * | 2014-12-12 | 2015-04-01 | 北京控制工程研究所 | 一种高复杂度航天器gnc数据实时智能处理系统 |
CN105681134A (zh) * | 2016-03-04 | 2016-06-15 | 西安航天动力技术研究所 | 一种通用型多种串口通信协议检测识别方法 |
CN107679133A (zh) * | 2017-09-22 | 2018-02-09 | 电子科技大学 | 一种实用于海量实时pmu数据的挖掘方法 |
CN108055323A (zh) * | 2017-12-13 | 2018-05-18 | 中核控制系统工程有限公司 | 一种基于数据链路层的通讯协议 |
-
2019
- 2019-08-20 CN CN201910769816.3A patent/CN110619012B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098535A1 (en) * | 2002-11-19 | 2004-05-20 | Narad Charles E. | Method and apparatus for header splitting/splicing and automating recovery of transmit resources on a per-transmit granularity |
CN101510999A (zh) * | 2009-02-24 | 2009-08-19 | 山东大学 | 用于实时视频监控的客户端实现方法 |
CN103124203A (zh) * | 2011-11-17 | 2013-05-29 | 京信通信系统(中国)有限公司 | 时分复用信道参数维护管理方法及装置 |
CN102710758A (zh) * | 2012-05-22 | 2012-10-03 | 苏州云博信息技术有限公司 | 一种基于单片机系统的数据流断点续传方法 |
CN104486335A (zh) * | 2014-12-12 | 2015-04-01 | 北京控制工程研究所 | 一种高复杂度航天器gnc数据实时智能处理系统 |
CN105681134A (zh) * | 2016-03-04 | 2016-06-15 | 西安航天动力技术研究所 | 一种通用型多种串口通信协议检测识别方法 |
CN107679133A (zh) * | 2017-09-22 | 2018-02-09 | 电子科技大学 | 一种实用于海量实时pmu数据的挖掘方法 |
CN108055323A (zh) * | 2017-12-13 | 2018-05-18 | 中核控制系统工程有限公司 | 一种基于数据链路层的通讯协议 |
Non-Patent Citations (4)
Title |
---|
ALEXANDRA FEDOROVA ET AL.: "Improving Performance Isolation on Chip Multiprocessors via an Operating System Scheduler", 《16TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION TECHNIQUES (PACT 2007)》 * |
汤元斌: "多线程模拟进程时间片轮转调度算法研究", 《四川文理学院学报》 * |
白渚铨等: "基于LabWindows/CVI的数据处理软件设计", 《计算机应用与软件》 * |
翟正军 等: "基于AFDX的高速数据采集记录系统设计与实现", 《测控技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609690A (zh) * | 2021-08-09 | 2021-11-05 | 西安航天动力技术研究所 | 一种Vxworks下导弹击发时序设计方法 |
CN113609690B (zh) * | 2021-08-09 | 2023-07-14 | 西安航天动力技术研究所 | 一种Vxworks下导弹击发时序设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110619012B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5361353A (en) | System for parsing message units from an unstructured message stream of interleaved message units to form structured messages | |
US20090041047A1 (en) | Test device and a test method | |
CN1332314C (zh) | 分析图形控制器性能的系统 | |
US20060256879A1 (en) | Rapid I/O Traffic System | |
CN107241305B (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN102004711B (zh) | 一种基于fpga的单中断实时数据传输方法 | |
CN110825731B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN110619012B (zh) | 一种导弹火控系统在线数据处理方法 | |
US20220343047A1 (en) | Method and system for processing simulation data | |
US20090292518A1 (en) | Real time simulating method and system | |
CN114048520B (zh) | 跨芯片访问控制的检测系统 | |
US7325169B2 (en) | Apparatus and method for trace stream identification of multiple target processor events | |
US5473750A (en) | Three-dimensional computer graphic apparatus with designated processing order in pipeline processing | |
US20040170169A1 (en) | Apparatus and method for compression of the timing trace stream | |
CN112181679A (zh) | 火箭数据处理方法、装置及计算机存储介质、电子设备 | |
CN108401003B (zh) | 雷达数据的同步方法、装置、设备和计算机存储介质 | |
US20060282719A1 (en) | Unique Addressable Memory Data Path | |
CN115017150A (zh) | 一种高码率遥测数据处理方法 | |
US20060256877A1 (en) | Rapid I/O Compliant Message Mapper | |
CN113068454B (zh) | 一种快速反求1553b总线信号接口定义的方法 | |
CN101634939A (zh) | 一种快速寻址装置和方法 | |
CN113821450A (zh) | 一种执行计算机软件测试的集成化方法及系统 | |
US20060268714A1 (en) | Rapid I/O Compliant Congestion Control | |
US20060256878A1 (en) | Out of Order Message Completion Management | |
CN213780945U (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 |