基于Vxworks的数字航路仿真仪设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Vxworks的数字航路仿真仪设计
舒立鹏;王妍;宁延平;王峰
【摘要】在高炮火控系统的研制中,采用目标航路仿真仪来检测火控系统的功能和性能,可以有效缩短研制周期,降低研制成本.通过对火控系统检验原理的详细介绍,提出了目标航路仿真仪的设计要求.在此基础上,设计了一种基于实时操作系统Vxworks的数字航路仿真仪,阐述了该航路仿真仪的工作原理,并详细论述了其软硬件设计方案.该数字航路仿真仪实现了在无真实目标条件下的火控系统静态检查及调试,有利于及时发现火控系统设计中存在的问题.
【期刊名称】《火炮发射与控制学报》
【年(卷),期】2013(000)003
【总页数】5页(P63-66,79)
【关键词】Vxworks;航路仿真仪;运动轨迹
【作者】舒立鹏;王妍;宁延平;王峰
【作者单位】西北机电工程研究所,陕西咸阳 712099;西北机电工程研究所,陕西咸阳 712099;西北机电工程研究所,陕西咸阳 712099;西北机电工程研究所,陕西咸阳712099
【正文语种】中文
【中图分类】TJ35
在高炮火控系统的研制过程中,为了缩短研制周期,降低研制成本,数字仿真技术
已被广泛采用,数字航路仿真仪就是其中一个典型代表。
数字航路仿真仪可在室内无外部真实目标的情况下,以数字仿真的方式模拟输入火控系统需要的外部数据,主要用于完成靶场定型试验中火控系统的静态检测。
除此之外,利用它可以完成火控系统在上炮之前的室内联调以及上炮后的半实物仿真调试,以数字仿真手段发现火控系统设计中存在的问题。
1 工作原理及设计要求
火控系统的联调检测工作原理如图1所示,该检测系统是以CAN总线网络的方式来实现系统内部通信的分布式半实物仿真系统[1]。
系统主要由4个CAN网络节
点组成,其中航路仿真仪完成对真实目标航路数据的生成及仿真输出;火控计算机接收目标航路数据和相关控制命令,完成系统控制和射击诸元的解算,并将解算出的主令数据发送给火炮随动系统;火炮随动系统根据主令数据完成火炮方位和高低方向上的调转;总线数据采集装置实时录取系统运行时总线上的所有通信数据,以便为试验结束后进行系统的功能和性能分析提供依据。
同步时统装置为系统内的各节点提供同步基准信号,确保各节点在规定时刻发送数据,保证系统通信的实时性。
在该系统内,航路仿真仪为一仿真设备,实现对外部传感器探测数据的模拟,而火炮随动系统和火控计算机均为实物产品。
火控系统联调检测内容包括火控计算机参数装定功能检查、火控计算机输出主令稳定性检查、火控系统静态解题和动态模拟精度检查、随动系统运行平稳性检查等。
这些检查均是在没有实际空中目标情况下进行的。
通过航路仿真仪对火控系统实时注入动态目标仿真数据,使火控系统能够进入实时战斗状态,并完成射击诸元解算,对火炮进行控制。
通过总线数据采集系统实时录取总线数据,进行分析,从而能够检验火控系统的解题精度及其他一些功能。
根据检查内容和火控系统精度测试需求,航路仿真仪设计要求如下:
1)参数装定功能。
能手动输入弹道气象参数和其他修正量数据等。
2)航路模拟生成功能。
具有静态点、模拟航路数据的仿真生成功能,其中模拟的航路类型包括等速直线飞行、俯冲飞行、等加速直线飞行、盘旋飞行。
3)复现典型实际航路。
能将实际外场试验中录取的典型实测航路数据发送给火控计算机作为输入,航路复现精度不低于火控系统本身输入要求的精度。
4)能根据火控系统接口的要求模拟输出必要的控制命令。
5)能根据火控系统接口的要求模拟输出相关跟踪数据和导航姿态数据等。
6)数据定时输出功能。
按规定时刻通过总线输出航路数据和其他相关数据,数据定时输出精度小于或等于1 ms。
7)具有良好的人机界面,便于操作。
2 硬件组成
为了缩短开发周期,航路仿真仪硬件选取技术成熟的PC104模块,硬件主要由CPU模块、电源模块、CAN模块和同步模块等组成,如图2所示。
其中主CPU 模块选用盛博公司主板PM-4060。
CAN模块为支持CAN2.0B协议带双CAN总线接口(光电隔离型)的CSD-S模块。
电源模块HE104是支持输入6~40 V、输出+5 V、+12 V的DC/DC电源(50 W)变换板。
同步接口板通过RS485接口可以接收来自外部的硬件脉冲同步信号。
3 软件设计
3.1 数据模拟算法
根据设计要求,航路仿真仪具有静态点、模拟航路数据的仿真生成功能,其中模拟的航路类型包括等速直线飞行、俯冲飞行、等加速直线飞行、盘旋飞行4种。
3.1.1 直线航路
对直线航路,其几何关系如图3所示。
λ为目标俯冲角,β为航向角。
设起点A坐标为(x0,y0,z0),目标速度为v,加速度为a,则目标到达B点阶段方程为:
(1)
改变λ的值就可以得到水平直线运动航迹,直线俯冲航迹和直线爬升航迹[2]。
给定目起始位置:(x0,y0,z0,t=0);给定目标起始速度v0、航向角β0和俯冲角λ0;可以计算出ti+1=ti+Δt时刻的目标在大地水平坐标系下的直角坐标,Δt为采样周期。
3.1.2 盘旋航路
如图4所示,盘旋航路在水平面内投影为一个半径为R的圆,目标水平方向速度为v,竖直方向做加速度为a的匀加速运动, 运动方程为:
(2)
当a=0时,轨迹为匀速圆周运动;a≠0时,轨迹为螺旋上升或下降运动。
给定圆心坐标为(xp,yp,
zp),半径参数R、速度v和加速度a,可以计算出目标从A点开始后任意时刻目标在盘旋航路上的位置坐标。
3.1.3 随机数生成
由于飞机运动具有机动性,探测器具有量测噪声和热噪声,为了模拟探测器的测量值,需要在理想的航路数据上加入噪声数据,这种噪声数据一般是用具有一定均值和方差的正态分布的噪声来模拟。
随机数的生成参考文献[3]中的乘同余法实现。
生成模拟航路时,可以利用上述随机数生成算法,计算出3个方向的随机噪声,
再与理想航路数据相加即可得到模拟航路数据。
3.1.4 航路数据变换
由于探测器输出的目标坐标为车体坐标系下的球坐标,为了模拟真实的火控系统外部接口数据,在航路数据生成的基础上,必须结合车体姿态数据将生成的航路数据从大地直角坐标系下转换到车体坐标系下球坐标系。
设目标在车体直角坐标系下的直角坐标为(x,y,z),在大地水平直角坐标系下的坐标为(x1,y1,z1),车体姿态量为(κ,φ,θ)。
其中κ为航向角,为车体与正北方向的夹角,顺时针方向为正;φ为车体纵摇角,沿车体前方向上为正;θ为车体横摇角,右上倾斜为正。
则目标坐标从大地直角坐标系下到车体直角坐标系转换公式为[4]:
(3)
其中:
3.2 软件实现
3.2.1 操作系统及用户界面解决方案选择
对航路仿真仪而言,要求具有较好的实时性和可靠性。
因此,本系统选用Vxworks实时操作系统。
Vxworks实时操作系统具有任务间切换时间短、中断延
时小、网络流量大等特点,与其他嵌入式实时操作系统相比具有一定的优势[5]。
目前在Vxworks下有多种图形解决方案,如Altia,Tilcon等图形用户接口,但
都属于高端应用,价格昂贵,而其自带的WindML图形库在大多数情况下已经足
可以满足应用需求了。
因此,本系统的软件图形界面方案选用WindML库来设计。
3.2.2 软件功能描述及任务划分
在本软件设计中创建了7个任务负责交互完成所有的工作。
为了提高实时性,系
统中采用中断实现关键任务。
任务划分及功能如下:
1)系统初始化任务完成各参数和环境的初始化,如:CAN卡初始化、中断初始化、
创建信号量,图形环境初始化等。
2)键盘接收任务完成对用户键盘输入的接收处理,并释放信号量。
3)主界面显示任务响应用户键盘输入,切换不同的显示界面。
另外,在该任务里根据用户选择最终完成航路数据的生成。
4)数据打包任务根据系统所处不同的状态完成相关数据帧和状态帧的数据填充,并释放相应的信号量。
5)曲线绘制任务在航路数据输出的同时实现数据曲线的绘制。
6)同步中断任务完成外同步信号的接收,并实现相关信号量的释放。
7)辅助时钟中断任务完成航路数据在规定时刻的及时发送。
3.2.3 实时任务优先级及通信
在该系统任务优先级划分中,首先必须考虑任务的实时性。
在此系统设计中,在规定时刻及时发送出数据为关键任务,因此采取中断方式完成了数据发送,保证了发送数据的实时性。
在Vxworks系统里,中断服务程序经过事先绑定,一旦硬件产
生中断,就会被优先调用,相当于最高优先级[6]。
除实时性外,任务的执行频率也是优先级划分的重要因素,数据打包任务和曲线绘制任务执行频率均为50 Hz,所以优先级较高,而数据打包任务相对于曲线绘制任务更为关键,前者优先级高于后者。
相对于数据打包任务和曲线显示任务,人机界面的交互工作对实时性要求较低,键盘接收任务和主界面显示任务的优先级比较低。
系统任务优先级配置见表1。
表1 任务优先级配置表序号任务名称任务定义优先级1系统初始化任务tInit1102键盘接收任务tKeyboard1173主界面显示任务tMainloop1154数据打包任务tDatapack1135曲线绘制任务tCurve1146同步中断任务tExtsyn1117辅助时钟中断任务tAuxclock112
在任务之间主要通过二进制信号量进行任务同步,各任务之间通过全局变量共享数
据,系统任务关系如图5所示。
航路仿真仪上电后,系统初始化任务完成各参数和图形环境的初始化,创建相关任务,并显示用户主界面。
用户通过键盘对主界面进行操作,键盘接收任务响应用户输入,释放信号量唤醒主界面显示任务,主界面显示任务接收用户键盘输入信息并判断,在切换到不同显示界面的同时完成模拟数据生成,根据系统需求上述的操作对实时性要求不高,因此这些任务优先级较低。
在进入曲线显示界面后,当用户按“开始”键后,恢复数据打包任务。
此后,在每一个同步时刻循环执行以下步骤:数据打包任务接收到同步中断服务程序释放出的信号量,将各种数据填充到需要发送的数据帧里,完成数据打包,之后修改发送标志量,释放曲线显示信号量,辅助时钟中断任务输出相应的数据和状态,曲线绘制任务完成该时刻航路点的方位、高低和斜距离的曲线显示。
在以上循环发送过程中,可以“停止”键来悬挂数据打包任务,从而停止数据发送和曲线绘制,并返回主界面。
为了确保数据在规定时刻发送出去,并且满足数据定时输出精度小于或等于1 ms 的实时性设计要求,主要采取了两方面的措施:一方面,采用硬件中断方式接收同步时统信号,同时采用高精度辅助时钟实现输出定时,定时精度可达到0.12 ms;另一方面,软件设计采用多任务方式,其中关键的模拟数据定时发送任务采用中断方式实现,将数据的模拟计算在数据发送之前完成,避免生成数据任务与发送任务同时进行,以提高系统运行的实时性。
试验测试结果表明数字航路仪的定时数据输出精度小于或等于0.5 ms,完全满足设计要求。
4 结束语
笔者主要对基于Vxworks实时操作系统的目标数字航路仿真仪的软硬件设计方案
进行了描述,与以往基于传统单任务的操作系统的设计相比,基于Vxworks操作
系统的航路仿真仪具有更好的实时性。
经半实物仿真试验验证,本装置具有良好的稳定性和实用性。
参考文献(References)
[1] 周启煌,于谅,刘志高,等.分布式结构的坦克火控仿真系统的研究[J].装甲兵工程学院学报,1999(1):77-80.
ZHOU Qi-huang,YU Liang,LIU Zhi-gao,et al. Research on tank fire control simulation system of distributed structure[J]. Journal of the Academy of Armored Forces Engineering,1999(1):77-80. (in Chinese) [2] 王军,程远增,段修生.基于多线程技术的目标航迹的真实再现[J]. 科学技术与工程,2007(7):511-512.
WANG Jun,CHENG Yuan-zeng,DUAN Xiu-sheng. Real reappear of target wake based on multithreading technic[J].Science Technology and Engineering. 2007(7):511-512. (in Chinese)
[3] 顾启泰.应用仿真技术 [M].北京:国防工业出版社,1995:235-241.
GU Qi-tai.Application of simulation technique[M] . Beijing:National Defense Industry Press, 1995: 235-241. (in Chinese)
[4] 马春茂,陈熙,候凯,等.弹炮结合防空武器系统总体设计[M].北京:国防工业出版社,2008:107-110.
MA Chun-mao, CHEN-Xi, HOU Kai, et al. Integrated design of missile and archibald Air Defense system[M]. Beijing : National Defense Industry Press, 2008:107-110. (in Chinese)
[5] 陈君,唐修明.Vxworks下图形用户界面开发中双缓冲技术应用[J].微计算机信息,2006(3):93-94.
CHEN Jun,TANG Xiu-ming.Applying of double buffering technology in
Vxworks[J]. Microcomputer Information, 2006(3):93-94.(in Chinese)
[6] 王金刚,宫霄霖.基于Vxworks的嵌入式实时系统设计[M].北京:清华大学出版社,2004:15-17.
WANG Jin-gang,GONG Xiao-lin.Design of Embedded real-time system based on Vxworks[M]. Beijing:Tsinghua University Press,2004:15-17.(in Chinese)。