一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种Vxworks下导弹击发时序设计方法与流程

2021-11-05 21:40:00 来源:中国专利 TAG:

一种vxworks下导弹击发时序设计方法
技术领域
1.本发明涉及导弹击发时序设计技术领域,具体涉及一种vxworks下导弹击发时序设计方法。


背景技术:

2.目前,我国各军种的各型导弹的发射基本都是通过导弹击发时序来实现的,也就是说导弹发射时射手按下发控装置操控终端上的发射按钮后发控装置并不是立即进行导弹发动机的点火,而是按照事先设定好的时间序列先后自动执行诸如导航对准、发射诸元装订、惯导装订、控制电池激活、导航启动、舵机电池激活、转电、发射发动机点火等等一系列动作来完成的,即在一个较短时间内的特定的时刻执行特定的动作。这一系列动作称为导弹击发时序。
3.导弹击发时序实质上是一个混合信号序列,这些信号可分为以下几类:点火/解锁信号(比如弹上各个热电池点火、导弹解锁、发动机点火等)、开关量输出信号(比如转电,模拟电气分离等)、数字量信号(数字通信,常用的有rs422、can、1553b等)。
4.导弹击发时序直接关系到导弹发射是否成功,有着非常高的准确性和可靠性要求。通常在导弹击发时序里要进行弹上各热电池激活、导弹解锁、发动机点火等各种火工品点火事件,这些事件都是不可逆的,另外在导弹击发时序中要进行发射诸元装订、导航启动等这些弹地数字通信,由于击发时序是不可逆的所以击发时序中的数字通信通常采用错误重发多帧确认的方式进行,即指令若在规定的超时时间内收不到正确的返回信息则自动重发指令,如果达到最大重发次数仍然得不到正确的返回信息则才判定导弹此功能故障并立即停止导弹击发时序。以上这些事件的建立或结果判定都需要一定的时间,这就要求击发时序中各个时序节点(时序中各事件开始执行时刻)之间的时间间隔一定要严格按照设计值进行,否则有可能引起击发时序的错乱。因此导弹击发时序有非常严格的实时性要求,即时间准确性要求很高(导弹击发时序时间精度通常要求误差不大于1ms)。
5.目前,各型导弹击发时序在设计时为了满足时间精度要求,通常采用的设计方法是:直接对发控装置的嵌入式控制器(比如arm、dsp、fpga等)编程实现,即裸跑程序方式,或者是在linux、qnx、vxworks等实时操作系统下通过系统延时接口实现。
6.上述的这种导弹击发时序设计方法虽然基本可以满足导弹击发时序时间误差不大于1ms的精度要求,但也存在以下弊端:
7.a、通用性较差。目前的方法不管是嵌入式控制器裸跑设计还是linux、vxworks下通过系统延时接口设计,都是将被要求的击发时序的各时序节点、时序脉宽(即信号宽度)、信号类型等参数写入程序代码中,这种方法虽然可以实现所要求的功能,但若击发时序稍有变化则需重新修改发控装置代码,重新调试编译,甚至若时序信号类型或通道有变化则还需重新设计发控装置硬件,产品可靠性低且工作量大,不利于产品通用化设计。
8.b、导弹击发时序时间准确性普遍不是很高。仅通过调用系统延时接口实现定时,并没有设计特有的方法来对导弹击发时序的时间准确性进行控制和加强,方法过于简单,
虽然一般情况下也能满足1ms的时间精度要求,但当发控软件较为复杂(例如包含火控模型解算时)或者整个导弹系统对发控装置实时性有更高要求时则显得捉襟见肘;另外通过程序裸跑的方式虽然可以满足实时性要求,但程序开发难度较大,工作量较大,且当发控软件功能要求较多时较难以实现。


技术实现要素:

9.有鉴于此,本发明提出了一种vxworks下导弹击发时序设计方法,能够支持各型导弹,击发时序可配置,具有较强通用性、可扩展性,并且导弹击发时序时间精度比较高。
10.为实现上述目的,本发明的技术方案为:
11.一种vxworks下导弹击发时序设计方法,包括如下步骤:
12.步骤1,将配置的导弹击发时序数据设计为通用格式;配置硬件辅助定时器并开启定时中断程序;
13.步骤2,控制箱收到导弹击发指令后对指令中的导弹击发时序数据进行合法性检查,若合法则进入步骤3,否则结束导弹击发时序;
14.步骤3,检查导弹击发时序中第i个时序节点的时序类型是否为数字量,若是则进入步骤5,否则进入步骤4;其中,1≤i≤n,i初始值为1,n为击发时序路数;
15.步骤4,检查第i路时序的时序类型是否为模拟量脉宽输出,若是则进入步骤6,否则进入步骤7;
16.步骤5,执行第i路数字量时序,进入步骤8;
17.步骤6,执行第i路模拟量脉宽输出时序,进入步骤8;
18.步骤7,执行第i路开关量脉宽输出时序;
19.步骤8,利用i加1对i更新,得到当前i,判断当前i≤n是否成立,若是则进入步骤9,否则结束导弹击发时序;
20.步骤9,获得vxworks下设计的当前第i路导弹击发时序二进制信号灯,获得信号灯后返回步骤3。
21.其中,所述步骤1中,通过操作操控终端进行导弹击发前先进行导弹击发时序配置,进行导弹击发时配置的击发时序数据按照设定格式包含在击发指令中发给发控装置控制箱进行击发时序执行,并将其按一定格式保存在ini文件中。
22.其中,所述导弹击发时序数据划分为时序总属性及时序节点属性;
23.其中,时序总属性划分为:
24.击发时序数据标识,2字节;
25.击发时序路数,1字节;
26.击发时序总字节数,1字节;
27.击发时序数据校验码,1字节;
28.时序节点属性划分为:
29.时序类型:包括0、1和2,其中,0:数字量;1:模拟量脉宽输出;2:开关量脉宽输出;
30.时序节点值:2字节,单位ms,第1路时序节点值默认为0ms;
31.时序通道号:1字节;
32.时序脉宽:2字节,单位ms;
33.模拟量脉宽输出电压值:2字节;
34.数字量最大重发次数:1字节。
35.其中,在所述ini文件中,初始化ini文件中的节,将时序总属性和时序节点属性分别写入到ini文件中的节中;将时序总属性所划分内容分别写入ini文件中时序总属性节中的项目中;将时序节点属性所划分内容分别写入ini文件中相应时序节点属性节中的项目中。
36.其中,获得导弹击发时序二进制信号灯时,采用vxworks下阻塞进制。
37.其中,所述步骤1中,配置硬件辅助定时器并开启定时中断程序包括如下步骤:
38.s101、判断击发时序时间计数器值sxtcount是否大于0,若是则进入步骤s102,否则结束;
39.s102、sxtcount减1;
40.s103、判断sxtcount≤0是否成立,若是则进入s104,否则结束;
41.s104、将sxtcount赋值0;
42.s105、释放导弹击发时序二进制信号灯。
43.其中,所述步骤2中,导弹击发时序数据合法性检查方法,包括如下步骤:
44.s201、检查时序总属性:分别检查击发时序数据标识、击发时序路数n≥1且n≤10、击发时序总字节数以及击发时序数据校验码是否均正确;若是则进入步骤s202,否则判定击发时序数据不合法,结束导弹击发时序;
45.s202、检查导弹击发时序中第i路时序的时序节点属性:时序类型为0、1、2三者之一、时序节点值为大于0且不大于6000的整数、时序通道号在该时序类型的通道号范围内、时序脉宽值为大于0且不大于2000的整数、输出电源电压

0.5v≤模拟量脉宽输出电压值≤输出电源电压 0.5v以及1≤数字量最大重发次数≤3是否均正确;若均正确则进入s203,否则判定击发时序数据不合法,结束导弹击发时序;
46.s203、当n≥2时,检查第i路时序与第i

1路时序之间的时间差,若第i

1路时序的时序类型为数字量,则判断时间差是否大于第i

1路时序的超时时间
×
数字量最大重发次数,若第i

1路时序的时序类型为模拟量脉宽输出或开关量脉宽输出,则判断时间差是否大于第i

1路时序的时序脉宽;若是则进入s204,否则判定击发时序数据不合法,结束导弹击发时序;
47.s204、i加1,判断i≤n是否成立,若是则返回s202,否则判定导弹击发时序数据合法。
48.其中,所述步骤5中,执行第i路数字量时序的具体方法,包括如下步骤:
49.s501、从第i路时序通道号的通道发送数字量;发送次数加1;
50.s502、sxtcount赋值为第i路时序数字量超时时间;
51.s503、判断是否获得导弹击发时序二进制信号灯;若获得则进入s504;
52.s504、判断是否收到了正确的返回信息;若是则进入s506,否则进入s505;
53.s505、判断发送次数是否小于最大重发次数;若是则返回第s501步,否则停止导弹击发时序;
54.s506、判断i<n,是否成立;若是则进入s507,否则直接进入所述步骤8;
55.s507、将第i 1路时序的时序节点值

第i路时序的时序节点值

第i路时序的超时
时间
×
发送次数的结果赋值给sxtcount;进入所述步骤8。
56.其中,所述步骤6中,执行第i路模拟量脉宽输出时序的具体方法,包括如下步骤,:
57.s601、从第i路时序通道号的通道进行模拟量脉宽输出;
58.s602、sxtcount赋值为第i路时序的时序脉宽值;
59.s603、判断是否获得导弹击发时序二进制信号灯;若获得则进入s604;
60.s604、停止从第i路时序通道号的通道进行模拟量脉宽输出;
61.s605、判断i<n是否成立,若是则进入s606,否则直接进入所述步骤8;
62.s606、将第i 1路时序的时序节点值

第i路时序的时序节点值

第i路时序的时序脉宽值的结果赋值给sxtcount;进入所述步骤8。
63.其中,所述步骤7中执行第i路开关量脉宽输出时序的具体方法,包括如下步骤:
64.s701、从第i路时序通道号的通道进行开关量脉宽输出;
65.s702、sxtcount赋值为第i路时序的时序脉宽值;
66.s703、判断是否获得导弹击发时序二进制信号灯;若获得则进入s704;
67.s704、停止从第i路时序通道号的通道进行开关量脉宽输出;
68.s705、判断i<n是否成立,若是则进入s706,否则直接进入所述步骤8;
69.s706、将第i 1路时序的时序节点值

第i路时序的时序节点值

第i路时序的时序脉宽值的结果赋值给sxtcount;进入所述步骤8。
70.有益效果:
71.a、通用性强,支持各型导弹击发时序设计,是一种vxworks下的通用设计方法。击发时序可配置(包括时序节点个数),若击发时序各时序节点、脉宽、信号类型或通道等参数有变化只需在操控终端上重新配置即可,发控装置的各组成软件代码不需任何改动或编译,可较大幅提高发控软件的可靠性、安全性,提高工作效率;击发时序节点个数也可增减,具有良好可扩展性;
72.b、导弹击发时序时间精度更高,在硬实时系统vxworks下设计一定的方法来对击发时序的时间准确性进行控制和加强,方法设计的导弹击发时序时间误差不大于0.2ms,保证了导弹发射时击发时序的准确性、可靠性;另外方法能够对配置的导弹击发时序进行合法性检查,对于不合理的导弹击发时序不予执行,提高了导弹发射安全性。
附图说明
73.图1是本发明vxworks下导弹击发时序设计方法的流程图;
74.图2是本发明中配置导弹击发时序示意图;
75.图3是本发明中辅助定时器定时中断(t=0.1ms)程序的设计方法流程图;
76.图4是本发明中步骤5的展开的流程图;
77.图5是本发明中步骤6的展开的流程图;
78.图6是本发明中步骤7的展开的流程图。
具体实施方式
79.下面结合附图并举实施例,对本发明进行详细描述。
80.本发明提供了一种vxworks下导弹击发时序设计方法,流程图如图1所示,包括如
下步骤:
81.步骤1,将配置的导弹击发时序数据设计为通用格式;配置硬件辅助定时器并开启定时中断程序;
82.具体地,本实施例中,射手通过操作操控终端进行导弹击发前先进行导弹击发时序配置,射手进行导弹击发时配置的击发时序数据按照设定格式包含在击发指令中发给发控装置控制箱进行击发时序执行,并将其按一定格式保存在ini文件中。具体如图2所示,导弹击发时序数据划分为时序总属性及时序节点属性。
83.其中,时序总属性划分为:
84.①
击发时序数据标识(2字节);
85.②
击发时序路数(1字节);
86.③
击发时序总字节数(1字节);
87.④
击发时序数据校验码(1字节)。
88.时序节点属性划分为:
89.①
时序类型:1字节,包括0、1和2,其中,0:数字量(与弹上进行的串行通信、can通信、1553b通信均归此类);1:模拟量脉宽输出(弹上热电池激活、导弹解锁以及导弹发动机点火等均归此类);2:开关量脉宽输出(模拟分离以及转电均归此类);
90.②
时序节点值:2字节,单位ms,第1路时序节点值默认为0ms;
91.③
时序通道号:1字节;
92.④
时序脉宽(时序类型为数字量时为超时时间):2字节,单位ms;
93.⑤
模拟量脉宽输出电压值:2字节;
94.⑥
数字量最大重发次数:1字节。
95.导弹击发时,将导弹击发时序数据按照如图2所示的字节流包含在导弹击发指令中。
96.在所述ini文件中,初始化ini文件中的节,将时序总属性和时序节点属性分别写入到ini文件中的节中。将时序总属性所划分内容分别写入ini文件中时序总属性节中的项目中;将时序节点属性所划分内容分别写入ini文件中相应时序节点属性节中的项目中。
97.控制箱软件在vxworks下使用cpu上的辅助定时器,将辅助定时器时钟频率设定为10000,设计并开启辅助定时器的定时中断程序;
98.其中,辅助定时器定时中断(t=0.1ms)程序的设计方法如图3所示,包括如下步骤:
99.s101、判断击发时序时间计数器值sxtcount(初值为0)是否大于0,若是则进入步骤s102,否则结束;
100.s102、sxtcount减1;
101.s103、判断sxtcount≤0是否成立,若是则进入s104,否则结束;
102.s104、将sxtcount赋值0;
103.s105、释放导弹击发时序二进制信号灯。
104.步骤2,控制箱收到导弹击发指令后对指令中的导弹击发时序数据进行合法性检查,若合法则进入步骤3,否则结束导弹击发时序;
105.步骤3,检查导弹击发时序中第i个时序节点的时序类型是否为数字量,若是则进
入步骤5,否则进入步骤4;其中,1≤i≤n,i初始值为1,n为击发时序路数;
106.步骤4,检查第i路时序的时序类型是否为模拟量脉宽输出,若是则进入步骤6,否则进入步骤7;
107.步骤5,执行第i路数字量时序,进入步骤8;
108.步骤6,执行第i路模拟量脉宽输出时序,进入步骤8;
109.步骤7,执行第i路开关量脉宽输出时序;
110.步骤8,利用i加1对i更新,得到当前i,判断当前i≤n是否成立,若是则进入步骤9,否则结束导弹击发时序;
111.步骤9,获得vxworks下设计的当前第i路导弹击发时序二进制信号灯,获得信号灯后返回步骤3。
112.进一步地,所述步骤2中,导弹击发时序数据合法性检查方法如下:
113.s201、检查时序总属性:分别检查击发时序数据标识、击发时序路数n≥1且n≤10(导弹击发时序默认最多10个时序节点)、击发时序总字节数以及击发时序数据校验码是否均正确;若是则进入步骤s202,否则判定击发时序数据不合法,结束导弹击发时序;
114.s202、检查导弹击发时序中第i(1≤i≤n)路时序的时序节点属性:时序类型为0(数字量)、1(模拟量脉宽输出)、2(数字量脉宽输出)三者之一、时序节点值为>0且≤6000的整数(导弹击发时序时长默认不超过6000ms,第1路时序默认为0ms)、时序通道号在该时序类型的通道号范围内、时序脉宽值(当时序类型为数字量时表示超时时间)为>0且≤2000的整数(时序脉宽或数字量超时时间值默认不超过2000ms)、模拟量脉宽输出电压值为≤(输出电源电压 0.5v)且≥(输出电源电压

0.5v)以及数字量最大重发次数≥1且≤3的整数(导弹击发时序中数字量最大重发次数默认不超过3次)是否均正确;若均正确则进入s203,否则判定击发时序数据不合法,结束导弹击发时序;
115.s203、当n≥2时,检查第i(n≥i≥2)路时序与第i

1路时序之间的时间差(即第i路时序的时序节点值

第i

1路时序的时序节点值),若第i

1路时序的时序类型为数字量,则判断时间差是否大于第i

1路时序的超时时间
×
数字量最大重发次数,若第i

1路时序的时序类型为模拟量脉宽输出或开关量脉宽输出,则判断时间差是否大于第i

1路时序的时序脉宽;若是则进入s204,否则判定击发时序数据不合法,结束导弹击发时序;
116.s204、i加1,判断i≤n是否成立,若是则返回s202,否则判定导弹击发时序数据合法。
117.进一步地,所述步骤5中执行第i路数字量时序的具体方法为如图4所示,包括如下步骤:
118.s501、从第i路时序通道号的通道发送数字量;发送次数加1(发送次数初始值为0);
119.s502、sxtcount赋值为第i路时序数字量超时时间;
120.s503、判断是否获得导弹击发时序二进制信号灯;若获得则进入s504;
121.s504、判断是否收到了正确的返回信息;若是则进入s506,否则进入s505;
122.s505、判断发送次数是否小于最大重发次数;若是则返回第s501步,否则停止导弹击发时序;
123.s506、判断i<n,是否成立;若是则进入s507,否则直接进入所述步骤8;
124.s507、将第i 1路时序的时序节点值

第i路时序的时序节点值

第i路时序的超时时间
×
发送次数的结果赋值给sxtcount;进入所述步骤8。
125.进一步地,所述步骤6中执行第i路模拟量脉宽输出时序的具体方法如图5所示,包括如下步骤,:
126.s601、从第i路时序通道号的通道进行模拟量脉宽输出;
127.s602、sxtcount赋值为第i路时序的时序脉宽值;
128.s603、判断是否获得导弹击发时序二进制信号灯;若获得则进入s604;
129.s604、停止从第i路时序通道号的通道进行模拟量脉宽输出;
130.s605、判断i<n是否成立,若是则进入s606,否则直接进入所述步骤8;
131.s606、将第i 1路时序的时序节点值

第i路时序的时序节点值

第i路时序的时序脉宽值的结果赋值给sxtcount;进入所述步骤8。
132.进一步地,所述步骤7中执行第i路开关量脉宽输出时序的具体方法如图6所示,包括如下步骤:
133.s701、从第i路时序通道号的通道进行开关量脉宽输出;
134.s702、sxtcount赋值为第i路时序的时序脉宽值;
135.s703、判断是否获得导弹击发时序二进制信号灯;若获得则进入s704;
136.s704、停止从第i路时序通道号的通道进行开关量脉宽输出;
137.s705、判断i<n是否成立,若是则进入s706,否则直接进入所述步骤8;
138.s706、将第i 1路时序的时序节点值

第i路时序的时序节点值

第i路时序的时序脉宽值的结果赋值给sxtcount;进入所述步骤8。
139.其中,获得导弹击发时序二进制信号灯时,采用vxworks下阻塞进制,在等待获取二进制信号灯期间不占用cpu。
140.综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献