白 芳,郭宝锋,李召瑞,3
(1.中国电子科技集团公司第二十八研究所,南京 210007;2.陆军工程大学石家庄校区,石家庄 050003;3.南京理工大学 自动化学院,南京 210014)
在现代战争中,以信息化主导的信息战作为一种特殊的作战手段,在战争中已成为出奇制胜的关键因素[1-2]。指挥信息系统在获取、传输、处理信息等方面具有重要作用,是作战过程中的核心。指挥系统可靠、高效、稳定运行对战场通信指挥效率以及战场态势有着重要影响,目前结合新体制新技术开展指挥信息系统研制也是研究的热点[3-5]。指控装备构成复杂,包含设备种类多[6],目前,对这些设备的使用管理以人工记录为主,存在记录不详实、主观因素大、疏漏多等问题,难以为装备的维修、保障提供有效的数据支撑[7]。因此,有必要对指挥车使用管理技术进行研究,以便提高对设备运行状态、性能的及时掌握。
目前,对复杂电子设备的状态监控大多通过在设备内部加装电子信号采集装置完成[8-11],采用这种方法存在以下缺点:1)各个子设备上加装电子信号采集装置,实现复杂,成本较高,并且占用较大的空间;2)对子设备的电压信号采集时,产生的电磁干扰会影响装备的正常工作环境;3)部分子设备在加装电子信号采集装置时,需要改变原装备的物理结构,具有一定的破坏性。
而装备运行时的电流信号是电路工作特征的重要指示,是设备运行状态信息的重要组成部分[12-14],若装备工作状态发生改变,则输出电流的波形将随之发生相应变化。另外,电流信息具有传递性,只需监控电源主节点的电流信息,即可完成所有设备的电流状态监控,这给数据监测带来极大的便利[15-16]。基于此,本文提出了基于电流监测数据的指控装备使用记录系统设计方法,该方法能够通过简单的电流采集和模式匹配过程完成整个复杂装备各设备的使用记录管理,相对传统方法,电路设计简单,状态监测数据少,又不会破坏装备原工作环境。此外,系统基于MATLAB设计了串口接收及设备状态显示界面,数据通过串口传输,简单方便,数据处理速度快,方法高效。
基于电流监测数据的指控装备使用记录系统设计如图1所示,系统包括数据采集板及计算机上GUI软件界面。指控装备直流供电后由电源分线盒分配给各个子设备,因此,为了实时监测各子设备的电流变化信息,电流传感器的放置位置应在系统电源和电源分线盒之间,这样,各子设备工作的电流信息均可在该监测点上体现出来。电流传感器将电流信号变换为电压信号,信号传至数据采集板,该板负责将电压的模拟信号转换为数字信号,并通过USB232串口传送给计算机。计算机上运行MATLAB软件,用于串行接收数据和处理,对监测的数据波形特征进行判别,判断子设备工作状态,并在GUI界面上实时显示处理。
图1 系统总体设计图
系统设计包括硬件设计、软件设计、以及GUI界面设计,其中硬件设计是指采集电路设计,软件设计是指对硬件的单片机编程实现数据采集,GUI界面设计则通过MATLAB编程进行数据处理并完成可视化界面显示[17]。
为实时监测电源分线盒输入节点的电流信息,需要电流传感器,获取电流信息后并转化为电压;为了完成数据采集,需要将电流传感器的输出信号转化为数字量,该过程可由内部集成AD转换器的单片机控制器完成;数据采集转换后,要完成存储操作,可通过RS232串口与计算机连接。以上是数据采集传输的过程,涉及的硬件电路主要包括三部分:电流传感器设计、单片机控制器设计和串口通信电路设计。
电流传感器选用HCS-LSP3系列闭环霍尔电流传感器,能够测量直流、交流、脉冲以及各种不规则电流。该传感器具有精度高、线性度好、功耗低、电流过载能力强等优点,被广泛应用于电流监控、逆变电源及太阳能电源、变频家电的驱动控制等领域。本设计选用的是该系列的HCS-LSP3-10 A型芯片,芯片实物如图3所示,其额定电流是10 A,测量范围-20~20 A,额定输出电压1.65 V±0.625 V。
HCS-LP3-10 A型电流传感器共有5个引脚,1脚为输出脚,2脚为地,3脚为供电脚(+3.3 V),4脚、5脚为电流串接管脚,即监控电流时,可通过4、5脚把该传感器串接在电路中,此外,该传感器还支持另一种测量方式,就是将待测电流的线缆通过传感器的圆孔穿过芯片,传感器内部的电磁圈会感应到线缆的电流。本文采用第二种监测方式,即让线缆穿过传感器电磁圈进而感应电流变化。
本文选用Freescale公司的MC9S12XS128MAA单片机[18],它是S12X家族中的一个成员。
在本设计中,需要用到MC9S12XS128M中的模块有模拟转数字(ATD)模块和SCI模块。其中ATD模块完成电流转换器输出信号的AD转换,转换完成后,输出数据是8/10/12位并行数据,进而将数据传至SCI模块,将并行数据一位一位的按顺序传送出去,这样,数据输出只需一根传输线,大大降低了硬件成本,适合于远距离通信。电路设计时,单片机的51脚为ATD转换的输入脚,连电流传感器的输出脚;单片机的64脚为SCI串行输出脚,连RS232的输入端。
串口通信按位(bit)发送和接收字节,虽然比按字节的并行通信慢,但由于串口通信可以只使用一根线发送数据,使得线路连接简单并能够实现远距离传输。目前较为常用的串口包括RS232、RS422、RS485等,RS232采用不平衡传输方式,而RS422、RS485采用平衡传输方式,通过传输差分信号可抑制信号中的共模干扰。RS232通信使用3根线即可完成,分别是地线、发送线和接收线,该通信方式是现在最常用的串行通信接口。本设计采用RS232接口完成数据的串行传输,由于数据传输时,只需将单片机控制器采集的电流信号传送至计算机,而计算机不反向传输数据,因此,RS232与计算机串口只需两根线即可完成通信,即地线和发送线。
本设计主要解决电流实时采集及采样精度问题,为了采集高精度的电流信息,希望增加采样频率以及采样精度,但增大采样频率会增加后续的数据处理和传输压力,经过实验测试,传输波特率设置为56 000 bit/s,能够保证数据精度及传输效率。
为实现对Freescale单片机MC9S12XS128的控制,需要使用该公司提供的CodeWarrior软件开发环境采用C语言进行编程,所用到的单片机控制器模块主要包括ATD模块和SCI串口模块,由于单片机内部集成的ATD模块和SCI串口模块均为2个,程序设计时均采用相应的第一个模块。软件开发设计流程如图2所示。
图2 单片机程序设计流程
软件设计具体步骤如下。
1)初始化ATD模块:
主要设置寄存器ATD0CTL1,使AD采样分辨率选择12位;设置寄存器ATD0CTL4,使数据采样时间为4个时钟周期。
2)初始化SCI模块:
主要设置寄存器SCI0BD,使数据串行传输波特率为56 000;设置寄存器SCI0CR1,数据串行传输无奇偶校验。
3)查看ATD状态寄存器ATD0STAT2_CCF0,看是否完成转换,若完成,改为置1,将转换得到的数据的高8位、低8位分别存储在AD_result_H和AD_result_L变量中,转至4);若转换没完成,则进入等待状态;
4)查看SCI状态寄存器SCI0SR1_TDRE,看发送数据寄存器是否为空(当SCI0SR1_TDRE=1时,发送数据寄存器为空),若为空,则将变量AD_result_H赋值给数据寄存器SCI0DRL,并转至5);若SCI0SR1_TDRE非空,则说明SCI数据寄存器不能接收新数据,进入等待状态;
5)查看SCI状态寄存器SCI0SR1_TDRE,看发送数据寄存器是否为空(当SCI0SR1_TDRE=1时,发送数据寄存器为空),若为空,则将变量AD_result_L赋值给数据寄存器SCI0DRL,并转至6);若SCI0SR1_TDRE非空,则说明SCI数据寄存器不能接收新数据,进入等待状态;
6)数据采集是否结束,若没有结束,转至3),进行新一次的数据采样和传输;若结束,则程序终止。
程序设计时,主要包括串行数据接收、数据处理及状态显示等模块,具体设计流程如图3所示,其中数据串行接收是程序的重难点,数据处理则通过邻近法完成模式识别(具体可参考文献[20]),状态显示是在GUI界面上显示出装备子设备的开关机时间及使用时长等情况。
图3 程序设计流程
基于电源监测数据的指控装备使用管理平台界面如图4所示,界面中主要包含串口设置区域、串口接收数据显示区域、电流显示区域和设备使用统计表。其中串口设置区域用于设置与数据采集板的串口通信参数,包括串口号、波特率、校验位、数据位、停止位以及串口的打开与关闭;串口接收数据显示区域用于显示串口接收到的数据,通过下方的【清空接收区】按钮可把接收区数据完全清除;电流显示区域用于绘制采集的电流波形;设备使用统计表用于统计指控装备各子设备的开机时间、关机时间及运行时长。
图4 基于电源监测数据的指控装备使用管理平台界面
为验证系统设计的正确性,在指控装备上进行实验验证。操作步骤如下。
步骤1:将电流传感器放置于指控装备的总电源干线节点;
步骤2:将所设计数据采集板的串口与电脑串口连接;
步骤3:运行MATLAB的GUI界面;
步骤4:数据采集板加电运行,开始实时采集指控装备的电流状态数据;
步骤5:通过下拉菜单选择【串口】、【波特率】、【校验位】、【数据位】以及【停止位】等参数;
步骤6:在GUI界面点击【打开串口】按钮,系统采集的电流数据开始在【清空接收区】上方滚动显示,并在【电流参数显示】区上方以图形方式显示出来;
步骤7:依次打开指控装备的子设备1、子设备2、子设备3、子设备4,【电流参数显示】上方的电流变化如图5(a)所示;
步骤8:依次关闭指控装备的子设备4、子设备3、子设备2、子设备1,【电流参数显示】上方的电流变化如图5(b)所示。
图5 指控装备不同子设备开机、关机电流变化曲线
从图5可以看出,不同设备开机、关机电流变化是不同的。设备开机时,设备产生瞬间高电流,由于电流的传导性,本系统监测的电源分线盒主节点的电流会随之变化;设备关机时,不同设备的电流降低幅度不同,可据此作为典型特征,区分不用设备的关机时刻。那么,本系统依据采集的数据,与原始的数据库(需提前采集数组数据)进行比对,通过模式识别判断是哪个设备开机或关机,据此给出指控装备各设备的使用记录与管理。
运用整个系统对指控装备进行实时监测,得到的测试结果界面如图6所示,可以看出,该系统能够采集指控装备的电流数据并实时串口传输,MATLAB设计的GUI界面能够接收串口发送的数据并实时的将电流波形绘制出来,利用该波形信息,GUI还能够判断设备的开机、关机等动作,记录相应的时间,进而完成对指控装备各子设备的使用管理。
图6 使用管理平台界面测试结果
本文从指控装备使用记录的实际需求出发,设计了基于电源监测数据的指控装备使用记录系统,通过对电源电流信号的实时监测与分析,完成了装备的子设备开关机状态确认。相对传统方法,该系统电路设计简单,状态监测数据少,又不会破坏装备原工作环境,此外,基于MATLAB开发的串口接收及显示界面,具有简单方便、数据处理速度快、方法高效的优点。该系统能够取代人工记录方式完成装备以及各子设备的全面管理,为装备的维修、保障提供有效的数据支撑。