基于STM 32F103装备数据采集系统的设计
2012-08-29张蕉蕉郭坚毅苏国华
张蕉蕉,曹 森,郭坚毅,苏国华
(1.解放军理工大学,工程兵工程学院机械装备试验研究中心,江苏 南京210007;2.解放军南京军区73602 部队,江苏 南京210007;3.解放军北京军区66114 部队,北京 102407)
现役装备的相关信息输出,以指针式仪表为主,部分先进装备仅具有简单的电子监控和三级报警功能,信息化程度滞后于当前国内外先进的民用装备水平[1~2];随着现行装备越来越复杂,需要管理的信息随之增加,对数据采集要求也越来越高;部队装备管理自动化水平处于较低状态,日常管理工作大量依赖人工作业,依据传统手动登记、逐个排查的方式,进行装备数据的收集、记录[3];管理工作效率不高,无法及时获知装备的动用状况、技术状况以及状态等信息,同时,势必会耗费大量的人力、物力和财力,而且效率低下。
为改进这种现状,本文以ARM 微处理器为核心,以压制去污作业车为研究对象,研制装备数据自动采集设备,实现装备数据的自动采集,并能通过无线传输将采集的数据自动上传PC 机,开发数据处理系统,将采集的数据进行分析处理,实现装备的信息化管理。
1 采集系统分析
压制去污作业车,主要由承载底盘、在线混合系统、动力输送系统、均匀布洒系统、循环供料系统、主控系统等部分组成。为保障装备的良好性能,提高装备的作业能力,实现对装备的科学管控、智能预警、故障分析预测、以及为装备定期维护提供数据依据,需采集该装备的参数很多,主要包括:
(1)装备动用信息的采集;
(2)发电机的工作性能,即发电机的工作小时、电压和电流;
(3)喷洒工艺过程监控,即液压罐和清洗罐的液位;
(4)在线混合器的使用次数;
(5)均匀布洒器的使用次数;
(6)螺杆泵的流量和压力;
(7)控制系统的使用时间;
(8)电动球阀的使用次数以及车速传感器的使用次数。
根据所使用的传感器输出信号和其他各类数据采集的方法,将本系统需要采集的信号分类,如表1所列。
表1 信号分类表
根据采集信号的分类,设计系统的信号采集器框架图如图1 所示。
图1 数据采集系统框图
2 系统总体设计
系统设计包括硬件设计和软件设计两部分,均采用模块化设计方法。
硬件主要包括CPU 模块、A/D 转换模块、采样数据存储模块、无线通信模块、电源模块、预警模块和键盘模块。
CPU 模块是32 位微处理器STM32F103 处理器。
A/D 转换模块由片内集成了高性能A/D 转换器的专用微处理器及外围电路组成,根据主控制器的指令,完成对相应数据的采集。
数据存储模块由 FM25CL04 存储器和AT26DF321 存储器组成,用于实时保存采集到的数据信息。
无线通信模块由CC2500 以及收发天线组成。
电源模块由专用电源管理芯片组成。
预警模块由预警电路和语音模块组成。
键盘模块由3×8 触摸式键盘及键盘管理芯片组成,完成用户指令的录入功能负责整个系统的电源管理。
系统总体结构框图如图2 所示。
图2 系统总体结构框图
软件主要针对数据采集进行设计,主要包括模拟信号采集模块、开关量采集模块和累计工作时间采集模块这3 部分的软件程序设计。
3 系统硬件设计
3.1 STM 32F103 单片机介绍
STM32 包括两个完整的系列[4]:STM32F101 是基本型系列,工作在36 MHz;STM32F103 是增强型系列,工作在72 MHz,带有片内RAM和丰富的外设。
STM32F103 的主要构成包括[5~6]:
(1)嵌入Flash 和SDRAM 的ARM Cortex-M3 32比特RISC 内核。
(2)嵌入式的Flash 存储器。32 字节的存储器可以有效地存储程序和数据。
(3)内部和外部中断控制器。
(4)DMA。灵活的7 路DMA,可以处理存储器之间和存储器与外围之间的转换,每一路通过软件触发来用于硬件的DMA 请求。
(5)具有日历功能的RTC 时钟。
(6)串行线和JATG 调试接口(SWJ-DP)。
(7)看门狗定时器。
结合系统设计,需要综合考虑选用此款芯片作为本系统的核心芯片。
3.2 电源模块设计
本系统需要使用直流电源电压有24 V、12 V、5 V、3.3 V。比如CAT809S、AT26DF321、FM25CL04 等芯片,需要3.3 V 电源电压;压力、流量、电流、电压信号调理电路需要12 V 电源电压;发动机、电控系统工作时间的测量,调理电路需要24 V 和3.3 V 电源电压;螺杆泵工作时间的测量,调理电路需要5 V 和3.3 V 的电源电压。
采用电压转换芯片AP1509,可将24 V 电压转换为12 V,或5 V 电压。经过REG1117-3.3 芯片,可将5 V 电压转换成3.3 V 电压,如图3 所示为采集器部分电源原理图。
图3 电源电路原理图
3.3 储存模块设计
本采集器所设计的存储模块,选用了FM25CL04存储器和AT26DF321 存储器。两者的读取和擦除方式和速度不同;再者,就是两者的价格差异比较大;综合考虑将两者组合使用,可以实现高效、高性能、高性价比的存储功能。
电路图如图4 中WP 为写保护,SCK、SI 和SO分别为串行时钟、串行数据输入、串行数据输出。
图4 数据采集铁电存储电路图
FLASH 存储电路图如图5 所示。
图5 数据采集FLASH 存储电路图
3.4 A/D 转换模块设计
本系统由于需要采集的模拟量较多,综合考虑应用MAX1270 芯片。MAX1270 芯片是MAX 公司生产的8 通道的12 位串行A/D 转换芯片[7~8],可以采用内部或外部电压参考,具有4个软件可编程的输入范围。模拟输入通道共有8个,最大的采样率可以高达110 kbps,采样时钟内部或外部可选。本例中仅用到了MAX1270 的部分功能,设计的具体电路如图6 所示。
图6 MAX1270 设计原理图
3.5 模拟量信号调理电路
本系统中压力、流量、电流、电压传感器输出的电流信号,进行模数转换前要进行电流/电压变换,保证信号的满载电压值在模数转换允许的范围之内。按照本系统所选的A/D 转换器MAX1270 的输入要求,通过使用信号调节电路如图7 所示,将输入的信号变换为0~5 V 的电压信号,同时完成低通抗混叠滤波,选择通道和信号的隔离。
图7 压力信号调理电路
3.6 开关量信号调理电路
本系统需测量的发动机工作小时、A 泵、电控系统、B 泵工作时间等,为开关信号,其都有电机或车载蓄电池供电。因此,对它们的检测,可以通过检测发电机或蓄电池开关次数,或工作时间来进行转换。图8 为发电机(G)、混合器电动机(M1)、均匀布洒器电动机(M2)工作时间测量接线示意图。
图8 开关量采集输入接线示意图
以测试发电机工作时间为例,按照本系统所选的A/D 转换器MAX1270 的输入要求,需要将外部输入信号转换为处理器能够接收的逻辑信号。具体电路实现如图9 所示。
图9 发电机工作时间测量调理电路
用两条电线(G_L、G_N)将发电机内部电路电源正负极接到外围,利用电阻、整流桥和电容,将240 V的交流高电压转换成一定的直流低电压,再接入光耦,进行光电隔离后,接入到单片机电路中。当电机开关闭合,电机开始工作,经过如下电路的转换,光耦输出端,也就是与单片机相连的MORTOR_T 端口,就接收到一个高电平信号,单片机利用内部定时器开始计时;一直到电机开关断开,电机停止工作,该端口出现低电平,则单片机定时器停止计时。单片机计时前后的时间差,即为电机本次工作的时间。
4 软件设计
软件程序主要包括4个模块设计,即数据采集模块、通信模块、控制模块和信息处理终端的设计。
数据采集模块进行数据采集时,首先要获得所要的配置信息,根据配置信息对所需采集的模拟信号、开关量信号以及工作时间信号等进行采集、存储传输给双向端口RAM。数据采集模块流程图见图10 所示。
图10 数据采集模块流程图
程序初始化时,先对STM32F103 的端口进行配置,因内部有交叉开关,通过交叉开关对端口与内部的模块进行配置;各接收串口初始化为接受中断允许,使串口通过中断来实现数据采集。STM32F103 进行数据采集时,须确定采集的模拟通道数及所采集的通道号,这些配置数据由ARM 提前写入双端口的最后8个字节中。
4.1 模拟信号采集模块的软件程序设计
在读取STM32F103 处理器读取AD 信号过程中,要求200 ms 的间隔读取AD 的值,并读取多次取其平均值,以保证数据的准确。模拟信号的采集程序流程图如图11 所示。
图11 模拟采集模块软件设计流程图
4.2 开关量采集模块的软件程序设计
开关量采集模块在系统复位或上电后,先对STM32F103 进行初始化,将通讯模块设置好。采集模块在初始化T0、T1 之前,先要读取上次掉电或复位前的计数数值,在系统掉电或复位前,系统将采集到的计数值存储在STM32F103 内,以免采集的数据丢失。
T0、T1 计数器的计数值,都存放在STM32F103的内存中。计数过程只要有STM32F103 中断,则停止计数。先处理中断后,再开始计数。开关量采集模块软件设计流程图如图12 所示。
图12 开关量采集模块软件设计流程图
4.3 累加工作时间采集模块软件程序设计
累加工作时间的基本原理如下(以发动机工作时间采集为例):
当发动机通电后,发动机电压信号经光电耦合,产生高电频,发动机被视为进入工作状态,该时刻的时间记为起始时间;当发动机断电时,产生低电频,发动机被视为停止工作,该时刻的时间记为结束时间。读取FLASH 中存储的以前的累计工作时间,然后加本次的工作时间得出车辆的累加工作时间。程序框图如图13 所示。
图13 累计工作时间采集模块软件设计
5 结束语
STM32F103 芯片具有突出的处理器性能、优异的适应性和很低的功耗,同时其内置A/D 转换器,具有丰富的通信接口。基于STM32F103 的去污喷洒作业车装备数据采集系统设计,利用传感器实现数据的自动采集,给部队内部数据采集带来方便的同时,降低了成本和功耗,提高了数据采集的准确度和精度。同时大大加强了工作的灵活性和响应速度,提高部队装备管理自动化水平,较好地解决了装备信息采集的问题。
[1]王庆海.液压挖掘机故障诊断系统的方案设计与推理方法研究[D].杭州:浙江大学,2002.
[2]刘大生.工程机械工况参数监测及故障报警系统的研究与开发[D].大连:大连理工大学,2000.
[3]周晓飞.工程兵数字化车场关键技术[D].南京:解放军理工大学,2010.
[4]任志伟.共轨柴油机ECU 模拟系统通信组件的研发及其应用[D].吉林:吉林大学,2009.
[5]Texas Instrument s.STM32F104 Datasheet[R].2007.
[6]刘 涛. 基于CAN 总线的温度控制系统研究[D].南京:南京理工大学,2010.
[7]刘 朋,王卫红.串行A/D、D/A 与TMS320C6713 的接口设计[J].微计算机信息,2005,21(7):88-90.
[8] MAXIM. Multirange, +5V, 8-Channel, Serial 12-Bit ADCs.MAX1270/1271 DATASHEET[D].2004.