《电子技术应用》
您所在的位置:首页 > 模拟设计 > 业界动态 > 基于嵌入式微处理器的自行高炮火控监测系统研究

基于嵌入式微处理器的自行高炮火控监测系统研究

2009-06-24
作者:钟秋发, 朱新华, 段修生, 温

    摘  要: 基于ARM和WINCE的自行高炮火控系统状态监测技术的总体结构,完成了硬件设计和软件开发,实现了对自行高炮火控系统的模拟、数字与轴角信号的采集。该系统简单便携,易于扩展,可广泛应用于各种需要数据采集及处理的系统中。 

    关键词: 火控系统; ARM; WINCE; 状态监测

 

    我军现装备的某自行高炮系统组成复杂、技术先进,对其技术保障的难度大、要求高[1]。无论维修保障,还是平时训练使用、装备检查,研制其火控系统状态监测设备,为系统提供正常工作时的监测手段,都尤为必要。本文介绍了一种基于ARM的火控状态监测系统方案,该系统可实现对火控系统的状态信息、故障信息和性能参数信息等重要参数的采集、存储、分析和处理。 

1 系统总体结构设计 

    监测系统的主要功能是对目标跟踪系统、火控系统、随动系统和导航系统等的工作状态进行监控,对火控计算机、跟踪计算机、车体信息机、随动控制箱、激光测距机、电视跟踪器等主要单体通信信号进行监控和测试。采用静止方式对电气系统的工作状态进行全面监测,采用多点同时监测的手段实施,对系统工作过程中的各个环节进行详细监测和分析。即在自行高炮静止状态下进行各种静态和动态监测,适用于日常操作训练、装备技术状态检查、故障检测与诊断等。在行进过程中的监测主要限于关键部位的状态,主要包括目标跟踪状态监测、火控计算机诸元解算过程监测、随动系统工作状态监测、导航系统工作状态监测等。此时监测的主要目的是反映装备的整体工作状况,及时发现异常或故障。监测系统主要采用分布式、小型的监测装置,提供状态显示和报警功能。 

2 系统硬件设计 

    系统硬件部分主要由四部分组成:嵌入式系统平台、数据采集电路、显示控制模块和报警电路。嵌入式系统平台主要负责整个系统的运行,数据采集电路主要用于采集火控系统的数据,显示控制模块用于人机交互和状态显示,报警电路用于对装备故障发出警报。其硬件构成如图1所示。 

 

 

2.1 嵌入式系统平台 

    嵌入式系统平台采用以Samsung公司的S3C2440A高性能嵌入式微处理器作为系统的硬件平台核心,以S3C2440A处理器为ARM920T内核的16/32位RISC嵌入式微处理器,ARM920T核由ARM9TDMI、存储管理单元(MMU)和高速缓存三部分组成。在此基础上扩展了系统管理单元(SDRAM控制器等)、3通道UART、4通道DMA、GPIO口实时时钟(RTC)、8通道10位精度ADC和触摸屏控制器等[2]。配合以64 MB Nand-Flash、64 MB SDRAM。嵌入式平台结构如图2所示[3]。 

 

 

2.2  数据采集电路 

    数据采集电路与自行高炮火控系统采用三通电缆连接,根据信号类别采用不同的数据采集电路,一般的模拟信号经过幅度调整、隔离、滤波等调理后采用模拟多路开关进行采集通道分配。对于轴角信号则采用2个变压器进行降压隔离并实现三相变二相,1个变压器用于提取激励信号,然后采用多通道同步采集。对于数字信号采集电路则采用FPGA设计专门的接口电路,实现对各种采集方法的灵活切换和装备接口与采集通道的动态管理。数据采集电路组成如图3所示。 

 

 

    由于ARM自带的ADC为8通道,触摸屏控制器占用4个通道,余下4个通道的采集范围和通道数量无法满足要求,因此,扩展1片Maxim公司的ADC芯片MAX197。MAX197是多电压量程模数转换芯片,分辨率为12位,工作电压为+5 V,有8路模拟输入通道,具有5 MHz带宽的采样保持,100 KS/s采样速率。MAX197与ARM连接电路如图4所示。 

 

 

    模拟信号CH0~CH7经过MAX197后变成数字信号,总线收发器74HC245用于保护ARM处理器,D0~D7直接接到ARM的数据总线,AD结束信号INT#一路送到总线D0供查询,另一路送到外部中断EINT1。 

2.3  显示控制模块和报警电路 

    报警电路主要采用蜂鸣器和LED闪烁的方式,由ARM的GPIO控制。为了减小系统体积提高便携性,显示控制模块采用触摸屏。 

3 系统软件设计 

    系统软件设计采用Microsoft公司的Windows CE 5.0嵌入式操作系统,它源自桌面型Windows操作系统,具有紧凑、高效、实时性能好和通信能力强的特点,使用Microsoft公司的Platform Builder 5.0定制符合所需要的系统。软件开发平台,使用Microsoft公司的专用于WINCE软件开发的EVC(Embedded Visiual C++)开发工具,它与Visual C++开发工具具有一定的相似之处,可充分利用Microsoft的32位基于Windows的开发工具的全部的函数[4]。监控系统中主要用到Windows CE操作系统中对ARM的GPIO的操作、ARM外部中断的实现及多线程编程等。软件功能主要分为信号特征数据库设计、数据采集功能实现、实时信号特征提取与分析功能实现及决策处理功能实现。 

3.1 Windows CE 5.0中自定义中断的实现 

    Windows CE 5.0的中断处理是3个映射关系:中断服务请求(ISQ)-->逻辑中断号(Interrupt)-->Event对象。 

    当中断发生时,中断服务例程(ISR)返回该中断号对应的逻辑中断号,然后尽可能快地返回ISR;接着Windows CE就设置该逻辑中断号对应的Event对象(如果有的话),以唤醒在该Event等待的中断服务线程(IST),大部分工作都是由IST来完成[5]。一般来说,IST是存放在驱动程序中,也可以存放在应用程序里,尤其是对应只有一个应用程序使用的特殊硬件时更方便。 

    首先要修改BSP包的ISR部分,IST直接在应用程序里实现。步骤如下: 

    (1) 在BSP的oalintr.h里定义自定义中断的逻辑中断值,如: 

    #define SYSINTR_MYINTR(SYSINTR_RIRMWARE+10) 

    (2) 修改KERNELHALcfw.c中的3个函数:OEMInterruptEnable( )、OEMInterruptDisable( )、OEMInterruptDone( ),增加对自定义中断的启用和禁用代码。 

    (3)修改KERNELHALARMarmint.c中的OEMInterruptHandler( ),对irq返回逻辑中断号,如: 

    else if (IntPendVal == INTSRC_EINT2) 

         return (SYSINTR_MYINTR) 

    (4) 在PlatformBuilder中重新生成nk.bin,下载运行。此时,内核已经支持自定义中断SYSINTR_MYINT了,在应用程序中就可以把这个SYSINTR_MYINTR与一个Event对象关联起来,然后在一个线程IST里等待这个Event就可以了。 

    (5)在IST里用InterruptInitialize( )将自定义中断和Event关联起来,并运行WaitForSingleObject( )。在线程里(即IST)里写入下列代码: 

    hEvent = CreateEvent(NULL, FALSE,FALSE, NULL); 

    InterruptInitialize(SYSINTR_MYINTR, hEvent, NULL, 0) ; 

    OEMInterruptEnable( ) //若没有修改,这个调用就会失败 

    While ( TRUE ) 

    { 

        WaitForSingleObject(hEvent, INFINITE); 

        //在这里加上读取ADC数据的代码,实现中断所 

        //需实现的相关功能 

    } 

3.2  信号特征数据库设计 

    信号特征数据库是对信号进行分类采集和分析处理的前提,也是故障定位的根据。采用专用于WinCE的SQL Server CE进行开发,用ADOCE进行访问。在系统中主要设计两类表:一类用一个表存储所要监测的火控系统中电缆的编号、芯数和所连接两端的名称,主要用于选择要监测的电缆;另一类表是每条电缆有一个表用于存储电缆中各个针的信号内容、类型、幅度、频率、占空比、流向及信号说明,是信号分析和故障定位的依据。 

3.3  监测部分功能实现 

3.3.1数据采集功能实现 

    针对火控系统的特点,对于不同的监测点采用不同的数据采集方法,主要包括定时采集、连续动态采集两种方式。具体方法是根据信号特点分别采用预先触发采集、滞后触发采集和实时触发采集三种方式,以保证数据采集的正确时机。在采集过程中,必须进行多点时钟同步,以达成多点采集的同时性。在程序中主要依靠定时器中断和多线程来实现。 

3.3.2 实时信号特征提取与分析 

    采用时域分析和频域分析相结合的方法实现信号特征提取。对于不同的信号采用不同的方法,对状态信号和电平信号等一般的模拟信号和数字信号采用简单的时域分析,通过查询和对比信号特征数据库判断其幅度与当前值是否相符;对数据和地址等并行通信信号则必须采用时域多路信号并行处理的方法,与信号特征数据特征数据库对比的同时还必须对整体值进行分析,判断其是否相符;对脉冲信号判定其占空比是否符合要求;对于轴角信号与激励信号等频带信号则应采取频域分析的方法,判断周期与相位是否符合要求。部分信号还需要进行时频分析。 

3.3.3 决策处理功能实现 

    通过以上实时信号特征的提取和分析,对分析结果进行判断。若正常则不进行处理;若信号异常则启动蜂鸣器和LED闪烁进行报警,通过查询数据库显示信号相关信息以便于故障定位,并显示信号的波形。 

    系统总体流程如图5所示。 

 

 

    本文简单介绍了某自行高炮状态监测系统的总体结构,讨论了系统的硬件结构和软件结构设计的问题。实验结果表明,该系统运行可靠,能够实现对自行高炮火控系统的数据采集和状态监控,为进一步实现对火控系统故障诊断及性能评估提供了很好的条件。 

参考文献 

[1] 朱新华.火控系统构造[M].石家庄:军械工程学院,2007. 

[2] Samsung Electronics. S3C2440A user’s manual(Z). 2004. 

[3] 沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社,2005. 

[4] 汪兵.EVC高级编程及其应用开发[M].北京:中国水利水电出版社,2005. 

[5] 田 泽.ARM9嵌入式开发实验与实践[M].北京:北京航空航天出版社,2006.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。