基于DSP+μC/OS-Ⅱ的装甲车辆自动装弹机控制系统设计
2012-10-08李培富张振山
李培富,张振山,李 挺,李 坤
(装甲兵工程学院兵器工程系,北京100072)
自动装弹机是装甲车辆武器系统的重要组成部分,由程控盒、旋转输弹机、提升机、推弹机、开窗机构、火炮闭锁器、抛壳机构、配电盒、记忆装置、弹量指示器、装弹操纵台、调炮器、触点开关和控制电缆等组成。稳定可靠地实现装弹是装甲车辆武器系统发挥作战效能的前提,针对目前装弹机工作不稳定、易出现故障的现状,进行控制系统的优化设计,具有一定的工程应用价值。
自动装弹机是一个机电结合的复杂系统,整个工作过程持续时间较短,故障前兆不易察觉,出现故障后不易排除。在硬件上,现有装弹机的核心部件控制盒采用单片机、继电器、触点开关等器件构成。其中继电器、触点开关在接通和断开过程中,存在触点烧灼、电磁干扰较大、响应速度慢等问题,降低了系统的可靠性。而且控制盒内元器件数量较多,长期使用下容易发生触点胶合、器件老化等隐患。内存容量较小,不能存储装弹机自检采集的大量数据。核心处理器运行速率低,集成化程度不高,无法满足装弹机自检和实时信号采集需要。在软件上,缺乏良好的人机交互平台和测试接口。因此,笔者设计了基于DSP控制的自动装弹机控制系统,在实现现有装弹机相应功能指标的基础上,提高了控制系统的可测试性和可靠性,改进了系统功能,使操作更加简便。
1 系统总体结构
自动装弹机控制系统主要由数据采集模块、程序控制模块(CPU)、BIT模块和显示操作终端组成,其总体结构如图1所示。系统实现的具体功能有:1)系统自检,控制执行部件正确动作,实时采集装弹过程中各触点开关、行程开关的电压信号并存入存储器,以备故障诊断设备读取状态数据;2)串口通信,响应操作面板操作信号并显示装弹机当前状态,上传故障信息;3)基于CAN总线的检测接口,便于外部检测设备采集系统工作信号,实现故障诊断;4)CAN总线及控制模块回路实时检测。
图1 系统总体结构
提高控制系统的可靠性和抗干扰能力,从硬件结构上采用模块化设计,结构独立可分离,系统的4个模块叠层组合设计,机械上可拆分,电气上采用标准接口相连,便于拆装更换和维修,实现故障模块的定位[1]。控制盒增加外部检测接口,以供外部设备对其进行故障检测。各模块的功能如下。
1)程序控制模块
该模块是自动装弹机程序控制盒内的核心部件,主要包括DSP控制芯片及其外围最小硬件电路、CAN总线通信接口电路、SCI串行通信电路、存储器等硬件单元。控制模块采用TI公司生产的TMS320F2812高速微处理器作为核心处理单元,其频率高达150 MHz,最大支持外扩521 KB×16位FLASH,可以实现信号采集处理和驱动执行电路,完成对装弹系统的控制和通信等功能。
2)数据采集模块
由于车载电源电压的不稳定,继电器和复杂电磁环境等会对系统产生干扰且采集的数据多为22~26 V的直流电压开关量信号,所以在数据输入通道中需要设置隔离器件[2]。CPU根据采集的开关量信号判断当前自动装弹机的工况和弹药位置,并确定下一步的动作,输出控制指令。
3)BIT模块
BIT模块包括故障检测信号生成电路和结果信号生成及处理电路。主要功能是定时向CPU发送测试指令,配合CPU模块生成能够对系统各功能模块测试的检测信号和查询指令,然后将CPU反馈回来的状态信息进行解析,并与系统预设的状态库进行比较,得出结论。
4)显示操作终端
由键盘和液晶显示电路组成,方便武器操作人员进行仪表参数和其他输入参数的设置。显示面板显示自动装弹机电气系统工作状态监测和故障报警信息,键盘按键实现装卸弹、抛壳、记忆等操作功能。系统中采用4个按键组合的方式,通过菜单方式进行系统参数设定与操作;采用带背光的点阵式LCD将有关参数、代码、诊断信息和报警提示等显示出来[3]。
2 控制系统自动装弹工作流程
控制系统经过改造后,装弹机的自动装弹机过程主体是一个顺序并行过程,即一个动作完成后触发下一个动作过程。具体工作过程如图2所示。
装弹时,首先进行系统自检,自检正常后执行下一步装弹动作;否则,系统不工作,并显示自检故障信息。在自动装弹过程中,系统采集各节点开关量电压信号,经处理后作为状态信息存入存储器中。
3 关键电路设计
3.1 开关量信号采集处理电路
图2 自动装弹工作流程
本设计中的电气隔离选用高速光耦TLP521完成各行程开关的状态信号采集,处理后传送到DSP处理器,接口电路如图3所示。为保证I/O接收信号的质量,采用RC电路抑制抖动。DSP采用3.3 V供电,而TLP521是24 V供电,为解决电压匹配问题,在隔离输出总线和DSP数据总线之间采用8位总线驱动器74LS245,其使能信号由74LS138输出信号提供。开关信号属于突发事件,采用中断响应的模式实现各通道数据采集。该器件的响应时间为75 ns,根据响应速度及信号频率指标要求,能够满足模块设计要求。
图3 开关量采集接口电路
3.2 BIT故障诊断电路
系统开发过程中融入了BIT设计技术,以实现控制系统状态检测和故障诊断。而在以往型号的自动装弹机控制中能否采用BIT设计一直存在异议,原因是装弹机控制系统数字化程度较低,常规BIT设计几乎无一例外地要为测试而增加大量的附加零部件,对装弹机的固有可靠性带来一定的不良影响。本文设计的控制系统数字化、智能化的特点为BIT技术设计创造了有利的条件。具体诊断方案为:由核心控制芯片DSP控制,在不损害器件本身的前提下,对不同测试目标输入相应的测试信号,通过测试回路的结果信号,确定目标的故障类型及性质。图4为CAN通信电路的BIT设计,采用了高速光耦HCPL0600对通信接口电路进行电气隔离。
图4 CAN故障检测电路
当DSP收到BIT单元检测指令后发出检测使能信号,同时DSP输出I/O控制信号,驱动回绕开关形成CAN发送端TXD到接收端RXD的自发自收回路;同时,DSP控制外围CAN模块发送测试消息序列,并通过判断发送邮箱和接收信箱消息内容的方式实现总线通信电路的故障检测。
3.3 功率驱动电路
考虑到系统使用的电子开关和驱动电机负载电流较大,设计了电子开关和电机的驱动电路。装弹机执行电机是直流电机,采用了以DSP作为主控部件的PWM调速系统,由DSP输出端口P2.0和P2.1发出PWM脉冲信号,通过调节加到电机上的占空比实现电机转速控制。电机驱动是由普林顿管组成的H型桥式驱动电路,主要放大器件是大功率三极管,功率驱动电路如图5所示[4]。该驱动电路输出功率大,开关的响应时间短,性能可靠。
图5 电机驱动电路
系统利用2个光电耦合器将处理器与电机系统电源隔离起来,经过光耦控制Q1和Q2的通断,防止驱动模块电路对微处理器产生干扰。当数字驱动信号P2.0为高、P2.1为低时,光耦U1工作,Q1导通,放大管Q3工作,使电机输入端OUTA为高,OUTB为低,电机流过正向电流,实现电机正向转动。反之,当P2.1为高、P2.0为低时,实现电机反向转动工作。电机的2种工作转速通过信号端P2.0和P2.1信号脉宽调制实现。
3.4 DSP控制模块
装弹机控制系统的关键在于信号的及时准确处理及控制响应,需要强大的数据处理能力,因此系统中采用TI公司DSP芯片TMS320F2812作为信号处理及系统控制核心,通过外扩SRAM增强数据存储能力,控制模块功能框图如图6所示。
图6 控制模块功能框图
TMS320F2812内核是C2000平台上的定点32位DSP,主频150 MHz,处理性能可达150 MIPS,采用哈佛总线结构,具有密码保护机制,从而为系统高速处理和实时响应提供了充分的条件[5]。本系统中采用芯片内部集成的事件管理器模块的PWM功能实现电机控制;采用GPIO及中断管理键盘操作;看门狗防止系统出现死机情况;采用PIE模块管理全部中断操作;外扩SRAM映射到XINTF4空间;并口液晶映射到F2812的XINTF0空间;程序的下载调试由JTAG接口进行。
4 软件实现
控制系统作为自动装弹机电气设备的控制枢纽,必须具有很强的稳定性和很高的实时性[6]。本系统软件的构建基于μC/OS-Ⅱ实时操作系统,主要包括系统移植和系统任务划分及实现。
4.1 系统移植
μC/OS-Ⅱ的移植要求处理器可重入代码,用C语言可打开和关闭中断,有读出存取堆栈指针和寄存器的指令,支持中断并能产生定时中断,能够容纳任务堆栈等条件。TMS320F2812完全满足上述条件,所以系统的移植没有问题。移植主要工作有:
1)编写与处理器相关的程序代码,包括头文件OS_CPU.H、C文件OS_CPU_C.C和ASM文件OS_CPU_A.ASM,完成处理器的预定义和用户任务的堆栈初始化;
2)在OS_CPU_A.ASM文件中修改4个主要的汇编函数,即 OSStartHighRdy()、OSIntCtxSw()、OSTickISR()和OSCtxSw(),完成控制系统不同优先级任务的切换和相关功能实现以及时钟节拍设置[7];
3)修改INCLUDES.H和OS_CFG.H文件,完成用户头文件和控制系统基本情况的设置。
4.2 系统任务划分及实现
μC/OS-Ⅱ移植完成系统能够稳定正常运行后,就可以进行控制系统项目开发。本设计中采用模块化设计方案,主要功能模块划分为初始化模块、信号采集模块、核心逻辑控制模块、执行部件驱动模块、CSI通信模块、CAN通信模块和人机接口模块。将每一个模块作为一个独立的程序装入到对应的一个任务中,并设置任务函数的挂起方式和挂起时间。每个任务具有唯一确定的优先级,优先级数越小,优先级越高。将任务以链表的形式进行优先级排序,通过优先级的比较来实现任务的切换,由主程序统一调用和协调各任务正常有序工作[8]。系统任务程序运行如图7所示。
图7 μC/OS-Ⅱ任务运行结构
5 结论
本文采用DSP芯片TMS320F1812为主控芯片配以辅助电路实现自动装弹机控制系统的设计,在原有功能基础上开发了BIT和外部检测接口,为自动装弹机在线检测和车外故障诊断提供基础。该系统克服了现有装弹机控制系统结构复杂、集成度低、自身检测能力弱等问题,可靠性、可测试性、操控性均有所提高;优化了显示操作方式,采取了抗干扰措施和系统误码兼容设计。
[1] 张振山,李贞伟.自动装填系统故障检测适配器设计[J].计算机测量与控制,2011,19(8):1838-1840.
[2] 魏巍,马晓军,侯明杰.基于DSP的装甲车辆数字灭火控制系统设计[J].仪表技术,2008(7):24-26.
[3] 杨双龙,徐科军,梁利平,等.基于DSP的浆液型电磁流量计的研制[J].仪器仪表学报,2011,32(9):2101-2107.
[4] 李挺,杜恩祥,鲁辉东,等.虚拟仪器的自动装弹机故障检测平台的设计[J].火力与指挥控制,2008,33(增刊):100-102.
[5] 王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2002:103-104.
[6] 魏曙光,马晓军,闫之峰,等.基于DSP的坦克电源管理系统设计与实现[J].仪表技术,2008(8):65-67.
[7] 谢蓉,赵凯瑞,王新民.实时操作系统 μC/OS-Ⅱ在DSPTMS320LF2407A上的移植、裁剪及应用[J].计算机应用,2006,26(11):2759-2761.
[8] 孙彪,刘凯,许明恒.μC/OS-Ⅱ在TMS320F2812平台上的移植[J].微处理机,2009(6):15-17.