论文部分内容阅读
摘 要:针对传统模拟器设计中存在的实时性差、可靠性差、灵活性差等问题,提出一种采用VxWorks实时操作系统、符合Eurocard规范的导弹模拟器的设计开发方法。通过结合VxWorks实时操作系统和Eurocard机械结构的特点以及对导弹模拟器合理的模块化设计,从而实现导弹模拟器的高实时性、高可靠性和高灵活性。将该设计方法应用于航天某院某单位的导弹模拟器设计中,实际使用结果表明,该设计能够有效地提高导弹模拟器的实时性、可靠性和灵活性。
关键词:VxWorks系统;导弹模拟器;Eurocard
1 引言
导弹模拟器是综合模拟器项目的一部分,是针对系列武器系统而研制的模拟、测试系统,主要用来检测、判定发射装置等其他地面武器系统处于发射状态时为导弹发射所提供的点火信号、发射诸元等信号是否正确,从而为是否发射导弹提供参考信息[1]。
VxWorks作为一种当前最为常用的实时操作系统,其良好的实时性和稳定性在各个领域中都得到了很好的体现。尤其在实时性要求较高的应用中,越来越多地采用了VxWorks操作系统[2]。
遵从Eurocard规范的设计,可以为系统增加可靠性和可维护性。Eurocard系统避免了气流通路上的阻碍,使每一块板卡表面都能得到均匀的气流,提供优秀的散热表现[3]。
本文正是在这种背景下,提出一种基于VxWorks操作系统、eurocard机械结构的导弹模拟器设计方法,并根据这种设计思路展开相关的设计工作。
2 导弹模拟器设计
为保证模拟器的高可靠性及可扩展性,对导弹模拟器采用符合Eurocard规范的模块化设计。按导弹模拟器的信号需求,将导弹模拟器划分为嵌入式服务器模块、数字输入/输出模块、数字时序信号模拟模块、模拟电源电压输出模块等四块功能模块。各功能模块间通过底板自定义总线协调工作。
嵌入式服务器模块负责协调导弹模拟器总体工作,并承担人机交互、界面显示、数据处理等功能。在嵌入式服务器设计中采用了PC/104工业用嵌入式计算机作为核心处理单元,并内嵌VxWorks实时操作系统。同时为保证模拟器通讯应答功能的实时性,在嵌入式服务器模块中集成了串行通讯功能,使通讯应答要求能够及时得到系统的响应,更为真实的模拟发射控制计算机与导弹之间的命令交互。
除可自由插拔的功能模块,在模拟器的前端设计有按钮、指示灯和显示屏,用以指示导弹模拟器当前工作状态。后端设计有大功率供电电源模块,可将市电220V转换为可供功能模块使用的稳定电源电压。各功能模块通过底板信号转接,将各个模块的信号线连接到可靠、稳定的航天连接器后提供给用户使用。
3 VxWorks任务调度
VxWorks系统的应用是提高模拟器实时性的主要方法,VxWorks系统提供的任务调度方式及可抢占的内核,都是实现实时系统的重要条件。
在VxWorks中,最小的程序运行单位称为任务(task)。每个任务包含一段固定的代码和数据空间。操作系统内核通过任务控制块(task control block)对它的执行、通信、资源等情况进行控制。任务具有就绪、阻塞、挂起和延迟等状态[4]。
图2 抢占式调度示意图
优先级抢先调度指的是一个优先级较低的任务正在执行中,另一个优先级高的任务进入就绪状态,则马上进行处理器抢先,执行高优先级任务,直到高优先级释放处理器(完成、挂起、阻塞等)才继续执行低优先级任务,如图1所示。
优先级抢先调度可以保证实时系统的迅速响应特性,但是也带来一个问题:当系统中存在几个相同优先级的任务时,就会使单一任务独占处理器,直至完成。为此加入了基于优先级的时间片轮转调度方式。在不同优先级的任务间以抢先方式调度,相同优先级的任务则以时间片进行轮转[5] 如图2所示。
图2 时间片轮转调度示意图
4 设计方法验证
为验证文中阐述的导弹模拟器设计方案,建立了VxWorks下的导弹模拟器实验系统。用以测试系统的运转。
实验开始后,启动导弹模拟器,输入t后回车,调出当前任务列表。输入“t”命令后屏幕显示出当前任务列表,其中task1、task2、 task3 、task4就是导弹模拟器当前所运行的命令监控任务、键盘输入与显示任务、模块控制任务和错误处理任务。在任务名后方可以看到task1处于运行状态,说明导弹模拟器正在实时监控发射控制计算机的命令状态。其他三个任务task2、task3和task4均处于就绪状态,等待task1的激活。
连接targetshell,使用WindView进行任务的查看,可以看到任务按照各自的优先级进行抢占,高优先级的任务拥有最高的资源使用权,低优先级的任务只有在高优先级任务处于等待态或延迟态时才可能占有系统资源。
发射控制计算机向模拟器发出指令,使用示波器对模拟器的响应时间进行测试,可以观测到模拟器在发射控制计算机发出控制命令后,仅用了很短的时间就做出了回应,说明在设计中使用VxWorks系统能够对模拟器的实时性的提高产生很大的作用。
5 结论
本文将VxWorks和eurocard机械结构相结合的设计方式,成功地应用在实际导弹模拟器设备的研制中。由于使用了VxWorks实时操作系统和eurocard机械结构,使这种设计方法能极大的提高设备的实时性、可靠性和灵活性。试验结果表明,整机结构设计合理,任务调度灵活,工作可靠,且实时性、可靠性都得到了很好的满足。对使用VxWorks实时操作系统的其它设备开发具有很好的参考意义。■
参考文献
[1] 北京中海天科技发展有限责任公司.中国兵器工业第二零三研究所综合模拟器项目导弹模拟器系统技术方案.2006.8
[2] 宣丽萍;王晓龙;邱辉.VxWorks系统中PCI总线仪器驱动程序开发方法[J]. 电子测量仪器学报. 2010,24(9):860
[3] 中国计算机报. 1999,23(8):1-3
[4] 王学龙.嵌入式VxWorks系统开发与应用[M].北京:人民邮电出版社,2003.10
[5] 刘尉悦 张万生 邢涛 王砚方. VxWorks操作系统及实时多任务程序设计[J]. 单片机与嵌入式系统应用. 2008.02.29
关键词:VxWorks系统;导弹模拟器;Eurocard
1 引言
导弹模拟器是综合模拟器项目的一部分,是针对系列武器系统而研制的模拟、测试系统,主要用来检测、判定发射装置等其他地面武器系统处于发射状态时为导弹发射所提供的点火信号、发射诸元等信号是否正确,从而为是否发射导弹提供参考信息[1]。
VxWorks作为一种当前最为常用的实时操作系统,其良好的实时性和稳定性在各个领域中都得到了很好的体现。尤其在实时性要求较高的应用中,越来越多地采用了VxWorks操作系统[2]。
遵从Eurocard规范的设计,可以为系统增加可靠性和可维护性。Eurocard系统避免了气流通路上的阻碍,使每一块板卡表面都能得到均匀的气流,提供优秀的散热表现[3]。
本文正是在这种背景下,提出一种基于VxWorks操作系统、eurocard机械结构的导弹模拟器设计方法,并根据这种设计思路展开相关的设计工作。
2 导弹模拟器设计
为保证模拟器的高可靠性及可扩展性,对导弹模拟器采用符合Eurocard规范的模块化设计。按导弹模拟器的信号需求,将导弹模拟器划分为嵌入式服务器模块、数字输入/输出模块、数字时序信号模拟模块、模拟电源电压输出模块等四块功能模块。各功能模块间通过底板自定义总线协调工作。
嵌入式服务器模块负责协调导弹模拟器总体工作,并承担人机交互、界面显示、数据处理等功能。在嵌入式服务器设计中采用了PC/104工业用嵌入式计算机作为核心处理单元,并内嵌VxWorks实时操作系统。同时为保证模拟器通讯应答功能的实时性,在嵌入式服务器模块中集成了串行通讯功能,使通讯应答要求能够及时得到系统的响应,更为真实的模拟发射控制计算机与导弹之间的命令交互。
除可自由插拔的功能模块,在模拟器的前端设计有按钮、指示灯和显示屏,用以指示导弹模拟器当前工作状态。后端设计有大功率供电电源模块,可将市电220V转换为可供功能模块使用的稳定电源电压。各功能模块通过底板信号转接,将各个模块的信号线连接到可靠、稳定的航天连接器后提供给用户使用。
3 VxWorks任务调度
VxWorks系统的应用是提高模拟器实时性的主要方法,VxWorks系统提供的任务调度方式及可抢占的内核,都是实现实时系统的重要条件。
在VxWorks中,最小的程序运行单位称为任务(task)。每个任务包含一段固定的代码和数据空间。操作系统内核通过任务控制块(task control block)对它的执行、通信、资源等情况进行控制。任务具有就绪、阻塞、挂起和延迟等状态[4]。
图2 抢占式调度示意图
优先级抢先调度指的是一个优先级较低的任务正在执行中,另一个优先级高的任务进入就绪状态,则马上进行处理器抢先,执行高优先级任务,直到高优先级释放处理器(完成、挂起、阻塞等)才继续执行低优先级任务,如图1所示。
优先级抢先调度可以保证实时系统的迅速响应特性,但是也带来一个问题:当系统中存在几个相同优先级的任务时,就会使单一任务独占处理器,直至完成。为此加入了基于优先级的时间片轮转调度方式。在不同优先级的任务间以抢先方式调度,相同优先级的任务则以时间片进行轮转[5] 如图2所示。
图2 时间片轮转调度示意图
4 设计方法验证
为验证文中阐述的导弹模拟器设计方案,建立了VxWorks下的导弹模拟器实验系统。用以测试系统的运转。
实验开始后,启动导弹模拟器,输入t后回车,调出当前任务列表。输入“t”命令后屏幕显示出当前任务列表,其中task1、task2、 task3 、task4就是导弹模拟器当前所运行的命令监控任务、键盘输入与显示任务、模块控制任务和错误处理任务。在任务名后方可以看到task1处于运行状态,说明导弹模拟器正在实时监控发射控制计算机的命令状态。其他三个任务task2、task3和task4均处于就绪状态,等待task1的激活。
连接targetshell,使用WindView进行任务的查看,可以看到任务按照各自的优先级进行抢占,高优先级的任务拥有最高的资源使用权,低优先级的任务只有在高优先级任务处于等待态或延迟态时才可能占有系统资源。
发射控制计算机向模拟器发出指令,使用示波器对模拟器的响应时间进行测试,可以观测到模拟器在发射控制计算机发出控制命令后,仅用了很短的时间就做出了回应,说明在设计中使用VxWorks系统能够对模拟器的实时性的提高产生很大的作用。
5 结论
本文将VxWorks和eurocard机械结构相结合的设计方式,成功地应用在实际导弹模拟器设备的研制中。由于使用了VxWorks实时操作系统和eurocard机械结构,使这种设计方法能极大的提高设备的实时性、可靠性和灵活性。试验结果表明,整机结构设计合理,任务调度灵活,工作可靠,且实时性、可靠性都得到了很好的满足。对使用VxWorks实时操作系统的其它设备开发具有很好的参考意义。■
参考文献
[1] 北京中海天科技发展有限责任公司.中国兵器工业第二零三研究所综合模拟器项目导弹模拟器系统技术方案.2006.8
[2] 宣丽萍;王晓龙;邱辉.VxWorks系统中PCI总线仪器驱动程序开发方法[J]. 电子测量仪器学报. 2010,24(9):860
[3] 中国计算机报. 1999,23(8):1-3
[4] 王学龙.嵌入式VxWorks系统开发与应用[M].北京:人民邮电出版社,2003.10
[5] 刘尉悦 张万生 邢涛 王砚方. VxWorks操作系统及实时多任务程序设计[J]. 单片机与嵌入式系统应用. 2008.02.29