基于DeltaOS的发控系统的设计与实现*
2010-12-07康隽睿
杨 娜,邹 勇,康隽睿
(中国兵器工业第203研究所,西安 710065)
0 引言
传统武器系统的发控系统设计基本上都是采用PC104作为硬件开发平台,软件基于DOS进行开发。随着武器系统的发展,对发控系统的可靠性和实时响应能力的要求也越来越高,而传统的设计方式无法满足新的多任务的要求,同时也为了方便软件的调试、升级,采用多任务的嵌入式实时操作系统进行发控系统的设计成为推进武器系统发展的一个重要手段。采用PC104作为硬件开发平台时,为了满足发控系统的性能需要,需要将各种板子堆栈起来,这样导致体积大、功耗大。而采用PowerPC作为硬件开发平台时,可以轻松的将满足功能要求的芯片都集成在一块板子上,节省了箱体的体积,降低了功耗。与DOS相比,DeltaOS具有多任务处理能力,可降低系统的复杂性,保证系统的实时性、可维护性及系统间的可移植性。
以PowerPC微处理器为基础,结合嵌入式实时操作系统DeltaOS,研制了基于MPC8280微处理器的发控系统。介绍了该发控系统的软硬件设计方案及调试工具。
1 PowerPC处理器
PowerPC嵌入式微处理器是一种高性能、低功耗的RISC(精简指令集)芯片。20世纪90年代,由IBM、Apple和Motorola公司成功开发了PowerPC芯片,并制造出基于PowerPC的多处理器计算机。PowerPC处理器有非常强的嵌入式功能、较低的能量损耗以及较低的散热量。PowerPC架构可伸缩性好、方便灵活[1]。
在发控系统中采用的PowerPC处理器是由FREESCALE公司开发的MPC8280,MPC8280是一款16/32位RISC结构的低成本高性能微处理器,这款产品采用FREESCALE公司的内核,支持嵌入式片内断点仿真调试。
2 DeltaOS软件平台
DeltaOS是目前我国依靠自己的技术和力量自主开发的最成熟的嵌入式实时操作系统,以良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占一席之地。DeltaOS主要包括:具有高可靠性和实时性的内核DeltaCORE,嵌入式TCP/IP DeltaNET,嵌入式文件系统DeltaFILE以及嵌入式图形接口DeltaGUI。DeltaOS可以嵌入到32位CPU为核心的各种电子设备中。作为应用程序运行的支撑环境,DeltaOS所提供的各种机制可以使电子设备中的应用程序在多任务环境下运行,同时满足开发人员在开发电子设备时的基本需求,比如:实时响应外部事件、存储管理以及联网需求等。DeltaOS已成功地应用于消费电子产品、通信产品、工业控制及军用电子产品中。
3 发控系统总体设计
发控系统是武器系统中必不可缺的一部分,其工作环境是一个与地面各控制系统、弹载计算机系统进行信息交互、通信,并且受到时间约束的环境。发控系统是用来完成导弹发射前准备、发射导弹、操纵控制导引头指向目标、控制导弹按导引律飞行的成套装置[2],由发控电子箱(含操控单元和解算单元)、显示控制箱(显控单元)、点火选弹箱、左手柄、右手柄、射手控制盒、射手显示器和配套电缆组成。
发控系统采用嵌入式实时操作系统DeltaOS,调试开发工作在开发环境LambdaPRO中进行。
3.1 发控系统硬件设计
发控系统包含三块PowerPC板,操控板、解算板、显控板,三块板子均选用内核电压仅为1.5V,IO电压3.3V的低功耗 MPC8280处理器,工作频率450MHz,并集成了一个通信处理模块(CPM),CPM分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗要低于传统的体系结构处理器,效率也得到了提高。PowerPC板还集成了控制电路、输入输出接口和存储器等嵌入式硬件,搭建了一个基于PowerPC处理器的高性能硬件平台。
操控板具有如下功能:
1)具有上电自动复位功能、掉电保护功能、复位自检功能,并输出自检结果信号;
2)三路CAN接口,一路接入弹上CAN网络,实现与弹载计算机的信息交互;一路接入地面CAN网络,实现与地面相关子系统(包括综合管理器、定位定向、指挥终端、伺服、周观、驾驶员终端、图像跟踪器、端机和智能配电箱)的信息交互;一路接入发控系统的显控单元和解算单元,实现与显控单元和解算单元的信息交互;
3)三路RS422,用来实现与两个射手控制盒、点火选弹箱的信息交互;
4)24路I/O,用来查询8个有无弹信号、8个开盖信号以及8个切线信号。
解算板具有如下功能:
1)具有上电自动复位功能、掉电保护功能、复位自检功能,并输出自检结果信号;
2)一路CAN接口,用来实现与发控系统的操控单元进行信息交互。
显控板具有如下功能:
1)具有上电自动复位功能、掉电保护功能、复位自检功能,并输出自检结果信号;
2)一路CAN接口,用来实现与发控系统的操控单元进行信息交互;
3)一路RS422,用来实现显示器的4个不同页面(综合显示页面、观瞄页面、态势页面以及导引头页面)的切换。
操控板系统框图如图1所示,解算板系统框图如图2所示,显控板系统框图如图3所示。
图1 操控板系统框图
图2 解算板系统框图
3.2 发控系统软件设计
发控软件根据嵌入式软件的设计思想把发控软件分为BSP(硬件驱动程序)和应用程序两部分。
1)BSP(硬件驱动程序)。其目标是在组成发控系统的硬件与在发控系统中运行的应用程序之间提供一个固定的接口。该接口可用来在未知系统硬件和运行状态的情况下对应用软件进行开发。大多数硬件可以在对应用软件无任何影响的情况下变更,BSP的存在保证了系统应用软件的高效运行。BSP包括对应用软件的控制、调度和对I/O过程的局部参与的控制。通过BSP,应用软件在逻辑上与硬件隔离。
图3 显控板系统框图
发控软件中的BSP包括串口驱动、CAN口驱动、I/O 驱动、显卡 驱动、定时器驱动。
图4 应用程序调用硬件驱动程序
在嵌入式系统中调用BSP通常有三种方式:应用程序直接调用、应用程序通过操作系统内核调用以及应用程序通过操作系统的扩展模块进行调用。发控系统软件中采用了这三种调用方式,图4所示为应用程序调用硬件驱动程序。
图5 软件设计流程图
2)应用程序。主要目标是通过调用底层软件完成发控系统相应的功能。应用程序与硬件在逻辑上是隔离的,因此当整个软件完成以后,如果硬件设计方面不理想而需要改动时,只需改动BSP即可,由此极大地方便了软件的维护性以及系统的升级。在保证系统实时性和可靠性的前提下,采用多任务调度及时间片轮转的方法,多任务划分的原则有:I/O依赖性原则、时间关键性的功能原则、大计算量的功能原则、功能内聚原则、时间内聚原则、周期执行的功能原则。根据多任务划分的原则,发控系统操控单元的任务划分为:CAN任务、串口任务、I/O 任务;解算单元的任务划分为:CAN任务、解算任务;显控单元的任务划分为:CAN任务、串口任务、GUI任务。软件设计流程图如图5所示。对于操控单元、解算单元和显控单元的流程图只需要依次替换图5中的任务即可。
图6 系统的集成调试过程
4 系统的集成测试与调试
采用Abatron公司的BDI3000进行在线调试应用程序,可进行单步调试、全速运行、断点设置、观察点和跟踪点设置、寄存器、内存和堆栈察看、命令行接口等,使开发者可以迅速方便的实现软件的调试。
发控系统软件在LambdaPRO中使用C语言开发,进行调试的步骤如图6所示。
5 小结
发控系统通过采用嵌入式实时操作系统DeltaOS实现和管理系统,构建了一个基于MPC8280处理器的高性能计算、管理平台,以满足系统的高速响应和实时特性。通过对处理单元进行软件编程就可满足各种系统功能,具有很强的扩展能力和通用性,同时也有较好的可靠性和抗干扰能力,为将来实现复杂的控制提供了高性能的计算和管理平台。经测试、电气联试、仿真以及外场试验表明,系统在复杂恶劣环境下,具有较高的实时性和可靠性,完全满足设计技术要求。
[1]张京.嵌入式软件开发[M].西安:西安电子科技大学出版社,2008.
[2]赵育善,吴斌.导弹引论[M].西安:西北工业大学出版社,2006.
[3]罗蕾.嵌入式实时操作系统及应用开发[M].北京:北京航空航天大学出版社,2005.
[4]李朋铜.嵌入式设计及通信设备开发详解——基于MPC82XX处理器[M].北京:机械工业出版社,2009.
[5]DeltaGUI3.0编程手册[Z].北京科银京成技术有限公司,2006.