基于STM32单片机的火控系统信号采集测试
扫描二维码
随时随地手机看文章
火控系统是控制火炮瞄准和发射的系统,火控计算机是火控系统的核心,在完成火控解算进而引导高炮射击时具有重要作用。由于火控系统信号众多,状态复杂,对其关键信号的采集测试就显得尤为重要[1].
普通信号采集测试装置具有结构复杂、造价昂贵、携带不便等特点,该方案结合最新型ARMv7系列STM32单片机,利用其丰富的外设接口和I/O资源,对某型火控系统的重点输出信号进行采集,存入板载Flash以备使用。另外,为便于使用和调试,还设计了CAN接口和RS-232串口。该信号采集盒大小为100 mm×65 mm,可由被测板提供电源信号,具有携带方便、使用简单的特点,对装备信号的实时采集具有重要的实用意义。
1总体设计方案
1.1总体设计框图
总体设计框图如图1所示,其中装备板是被测对象,STM32为控制核心,用于完成对各电路的控制,CAN总线用于与其他节点间的通信,RS-232串口用于调试及与LCD液晶屏通信。装备板被测信息分为模拟信号和数字信号,可向装备版提供5路数字控制信号,以模拟装备板的输入信号。
1.2 硬件设计
该方案的硬件组成主要包括:电源转换模块、微控制器模块、信号调理模块、CAN接口电路、Flash接口模块和信号显示模块等。
1.2.1 电源转换模块
被测装备板采用7.5 V~8 V电压供电,信号采集板需要3.3 V、5 V以及±12 V四种电压等级,因此需要将测试板载电压等级进行转换。5 V和3.3 V采用两片Alpha公司高性能、低功耗AS117电源转换模块;±12 V电压由两片输入输出隔离单输出DC/DC模块DLW02-05S12获得。经实验测试得知,用上述方法得到的电压纹波较小,电压幅值稳定,满足要求。
1.2.2 微控制器模块
微控制器采用基于Cortex-M3内核型号为STM32F-103R8单片机,最高频率可达72 MHz,具有性能强劲、代码密度高、位带操作、可嵌套中断、低成本和低功耗等众多优势。STM32拥有FSMC、TIMER、SPI、I2C、USB、CAN、I2S、SDIO、ADC、DAC、RTC和DMA等众多外设和功能,拥有优异的实时性能,可提供84个中断、16级可编程优先级,另外支持SWD和JTAG两种调试口,为设计带来很多方便[2]。
该微控制器带有的CAN接口,可方便本系统与其他节点互联,RS-232接口可用于调试及控制液晶显示模块,两路SPI接口可以完成MAX1270 A/D转换器的通信控制及Flash存储器的读写,众多的I/O端口可以方便其他功能扩展。
1.2.3 信号调理模块
火力控制板是某型火力控制系统的重要组成部分,其输出信号主要分为:8路模拟信号和8路输出信号。
(1) 数字信号调理电路
为了便于处理火力控制板输出的8路数字信号,在进入单片机前需要对其进行同步及电平转换。图2为数字信号同步及电平转换电路,主要器件为74HCT245。需要注意的是,在输入单片机时要对比其数据手册,选择具有FT(容忍5 V)标注的管脚,防止电平不兼容[3]。
(2) 模拟信号调理电路
图3为模拟信号调理电路,它将火控板输出的模拟信号进行滤波及放大处理。图中,电容用来滤除一些来自地端的高频串扰;R37为电位器,用于灵活调整信号输出大小;2 V稳压二极管用于保护运放LF412不被损坏。另外,LF412可使用双电压模式,且具有较高的转换速率,较为适合完成火控板上变化速率较快的信号处理工作。
1.2.4 CAN接口电路
控制器局域网CAN可以以最小的CPU符合来高效处理收到的大量报文,可用软件配置报文发送的优先级特性。图4为bxCAN模块,通过CAN总线收发器65HVD290可以完成自动接收和发送CAN报文,对标准标识符(11 bit)和扩展标识符(29 bit)完全支持[4]。通过CAN接口电路可以完成信号采集板与其他设备CAN网络节点的连通。
1.2.5 Flash接口电路
图5为Flash闪存接口电路,用于存放采集到的数据以及其他节点传送的信息。设计采用ST公司的M25P20闪存芯片,具有2MB存储空间,单片机通过SPI接口控制其读写过程,具有擦写速率快、寿命长等优点[5],可以较好地完成采集板数据高速存取。
1.2.6信号显示模块
液晶显示器(LCD)是提供友好人机界面、实现信息交互的关键器件,具有功耗低、体积小、显示效果好等相对于传统显示方式的优点[6].系统采用基于ARM920T内核的蓝海微芯7寸液晶屏,通过RS-232串口与STM32通信,完成信息显示工作。
1.3软件设计
STM32单片机使用Keil对其编程,使用J-Link下载器调试,下载采用JTAG方式,使用ST提供的库函数操作,非常方便。
1.3.1模拟信号数据采集子程序
模拟信号采集是通过美信MAX1270进行A/D转换实现的。A/D转换芯片MAX1270通过SPI接口与单片机通信。信号采集子程序流程图如图6所示,首先,对ADC进行初始化,进行采样时间、转换时钟的设定等;然后,启动ADC,对调理信号进行采集,任一时段采样结果为8次连续采样的平均值;A/D转换结束后,转入相应的中断服务程序,对采样得到的数据进行分析和处理。
1.3.2 数字信号数据采集子程序
数字信号的采集通过STM32的输入引脚完成。数字信号经过调理同步后可以对其进行实时捕获,通过读取各管脚状态获得采集值。另外,对于一些频率信号的采集,可以通过设定相应管脚的中断状态进行,在信号的上升沿时刻进行捕获。频率信号数据采集子程序流程如图7所示。
2 实验结果与分析
为了进一步检验采集板信号采集性能,利用C++ Builder设计了数据简易分析程序,用RS-232串口与上位机通信,实时显示采集到的数据,图8是提取的一组数据。
模拟通道采用直流27 V为测试源。由上图可知,采集值最小为26.93 V,采集误差仅为0.26%,可见对直流模拟信号采集误差较小,稳定性较高。
数字通道采用信号发生器产生1 kHz的测试源。由图8可知,采集值最小为996 Hz,误差为0.4%,满足需求,稳定性较高。
本文根据某火控系统检测需要,设计了一种基于STM32系列单片机的火力控制板信息采集测试方案,可作为控制器局域网CAN总线的一个节点与其他节点进行通信,设备体积小、操作简单、易于实现,且采集与测量精度较高,具有一定的使用价值。