基于嵌入式工控模块和μC/OS-II实现车载状态监控系统的设计

描述

介绍了一种大型捣固车工作状态监控系统的设计方案,重点介绍车载主监控模块的硬件设计及相关的软件实现。该系统应用新型的M22A系列嵌入式工控模块MiniARM9080构建硬件平台,内嵌实时多任务操作系统μC/OS-II,实现对捣固车多个运行参数的实时监控。

捣固车是集机、电、液于一体的复杂系统,其运行参数多,工作环境恶劣,故障率高且难于排查,因此车载状态监控系统成为捣固车必不可少的监控设备。但是目前国内铁路大型养路机械捣固车的电气控制系统基本用的都是模拟电路,结构复杂,故障率高,系统难以在线升级,且不便于维修,因此进行数字化改造是其迫切的要求。本文在传统检测系统的基础上应用新型的M22A系列ARM嵌入式工控模块MiniARM9080对整车进行现场实时监控,通过无线网络把实时工况数据和GPS数据上传至上位机,实时显示机车的工作状况,对异常进行报警处理,并完成历史回放功能。操纵人员可根据现场情况,随时了解捣固车各部分运行状态,及时发现捣固车的隐患,从而避免故障发生。

1 系统概述

本系统主要分为4个功能子模块。(1)显示终端人机交互模块:负责捣固车现场监控,为现场作业人员提供图形化的工作参数数据参考; (2)车载MiniARM主控模块:负责现场实时数据的采集、处理和传输,并为显示终端与服务器的通信提供桥梁;(3)服务器:在物理上集通信服务器、数据库服务器及WEB服务器为一体,具备远程网络、WEB服务、关系数据库和实时数据库等功能;(4)客户端:通过BS和CS两种方式为广州铁路集团数据监控中心提供捣固车工作状态远程监控的功能。系统完整的拓扑结构图如图1所示。

嵌入式

系统的车载部分包括MiniARM主控箱、平板监控电脑、各个分散的CAN监测点以及无线发送部分,整个系统的工作电压为24 V。车载MiniARM系统主控模块采用新型的M22A系列ARM嵌入式工控模块MiniARM9080作为系统的控制核心,包含CAN数据采集结点、 GPS天线、通信和控制底板、交换机、以太网-CAN转换器、蓄电池等功能部件,实现CAN数据采集、GPS数据接收、实时作业数据的处理、存储和查询及数据通信等功能。车载MiniARM系统主控模块的结构如图2所示。其中虚线部分电路构成系统通信与控制底板,安装在MiniARM主控箱内,监控设备 CAN模块安装在捣固车各个电气电路箱内,电源控制模块负责整个车载监控系统的电源管理。

嵌入式

2 MiniARM9080核心板简介

MiniARM9080嵌入式工业控制模块[1]主要由LPC2290

(ARM7TDMI-S)工业级微控制器、程序存储器、数据存储器、工业级以太网控制器CS8900A、可校准实时时钟以及带256 B E2PROM的复位监控电路组成。其硬件结构图如图3所示。总线通过缓冲保护电路与底板连接以保证微控制器总线运行不受外界干扰,使模块在EMC性能及稳定性方面均有良好的表现。

嵌入式

MiniARM工业控制模块将ARM最小系统、以太网控制器、CAN/USB控制器、电子硬盘(Disk on Board)等设备高度集成于小巧的模块之上,支持10 Mb/s以太网(工业级)、2路CAN通信、CF卡接口、A/D转换、低功耗RTC等功能。并直接以固件的形式提供稳定的FAT文件系统、TCP-IP /CAN-BUS/USB/Modbus协议栈以及稳健的?滋C/OSII实时操作系统,为车载监控系统主控模块的设计提供了完整的解决方案。

3 系统硬件设计

3.1 电源管理模块设计

按照捣固车电气系统标准[2],捣固车在正常作业情况下能产生稳定且大功率的直流电源,其电压值为27.5 V±5 %,输出电流达3.5 A,因此可以直接利用这部分电源作为系统的工作电源。采用如图4所示的电路来负责整个系统的电源管理。

嵌入式

捣固车正常作业时通过大功率整流二极管2CZ10A提供整个系统的工作电源,同时也给蓄电池充电。当捣固车停止作业时,车载电源断开,系统转而由蓄电池组供电。这里采用2个6-DZM-12型蓄电池串联组成系统24 V蓄电池电源,其容量达48 AH。同时为了防止由于捣固车的长期不工作而导致蓄电池的“枯竭”,设计原则是当蓄电池组输出电压降到一定程度时切断其供电电路,从而起到保护作用,为此电路中采用1片双电压比较器集成芯片LM393, 该芯片单电源工作时电源电压范围为 2 V~36 V,可以满足系统要求,其反相输入端通过滑动变阻器连接到蓄电池的正极,同相输入端加一个参考电压。集成电路LM336通过变阻器能够提供4 V~6 V之间稳定的基准电压值,这里设置同相输入端参考电压为5 V,并设置反相输入端的电压维持在15 V左右,当系统正常工作时比较器反相端电压高于同相端, 输出管饱和,相当于输出端接低电位,此时继电器开关闭合,系统获得24 V电压源,随着蓄电池组输出电压的下降,LM339反相端输出电压也随之下降,当电压值低于参考电压时,比较器反转,输出管截止,此时继电器断开,整个监控电路24 V输入电源切断,从而起到了对蓄电池组的保护作用。由于MiniARM9080需要5.0 V/3.3 V双电源供电,系统输入电压比较大,这里采用开关稳压集成电路LM2575和低压差线性调压器LM1117,可以获得稳定的5 V和3.3 V输入电源。

3.2 通信接口

MiniARM控制板在整个系统通信中处于核心的位置,既要负责实时数据的采集和发送,又要与现场监控终端和远端的服务器通信,同时也是服务器和现场监控终端之间相互通信的桥梁。按照实现的功能和通信对象的不同,系统主要建立如下4种不同的接口电路。

(1) 数据存储接口:该部分主要负责实时数据的存储,提供服务器历史数据的回放,采用1片512 MB的CF卡作为数据存储介质,历史数据可保存7天。

(2) RS232串行接口:该部分通过1片SP3232E芯片提供2路标准的串行接口,分别连接GPS模块与DTU模块。GPS模块采用台湾鼎天的REB- 22R系列GPS数据接收模块。DTU模块采用厦门桑荣公司的Saro3150PGPRS无线数据传输终端,主要用来实现与服务器之间的无线通信。

(3) TCP/IP通信接口:由于MiniARM9080工控模块内部已经整合了CS8900A以太网控制器,因此只需外接1片网络隔离变压器HR601629E芯片和相应的匹配电阻、高压电容即可与外界可靠通信,这里主要实现与现场监控的平板电脑之间的可靠通信。

(4) CAN-BUS通信接口:该部分电路由带隔离的高速CAN总线收发器模块CTM1050、总线ESD保护器件PESD1CAN及相应的电阻组成,主要负责与现场CAN数据采集装置的通信。

3.3 控制及检测电路

由于捣固车有作业和停止两种不同的状态,需要有相应的电路来检测状态的改变,这里通过一个简单的电压采样电路来实现。另外在机车工作时需要同时开启各个功能模块,而在机车停止作业时部分功能模块(如平板电脑、CAN数据采集点等)需要关闭以降低系统功耗。同时为了保证GPRS通信模块正常通信,也需要设置相应电路在其出现故障时对其进行硬件复位,这就需要设计相应的硬件电路来控制它们的开关。MiniARM输出驱动能力有限,这里采用三极管放大电路驱动继电器来控制相应功能模块的工作状态。具体的控制策略由软件来控制实现。

4 系统软件设计

4.1 系统主程序设计

软件设计是整个系统设计的重要组成部分,其核心功能是实时数据的采集、处理、存储和转发,车载监控系统对数据处理的实时性和并发性有较高的要求,因此采用开放式、可裁剪、高可靠性、可剥夺性内核的嵌入式实时操作系统μCOSII[3]。本系统主程序实现3个主要的C程序源文件:main.c、train.c、ISR.c,其中train.c主要实现各种功能子函数,包括格式转换、CAN 模块驱动、数据转换等子函数及全局变量定义,相当于实现自定义的库函数;ISR.c主要实现各类中断子程序以及定时器,同步等功能;main.c实现操作系统μC/OSII的初始化、系统的启动及相应的任务实现,在本系统中主要建立6个不同的任务,分别实现以下不同的功能:

Task0:主要实现串口初始化,CAN实时数据采集,GPRS通信处理算法以及同服务器之间的相互通信。

Task1:负责GPS数据处理和实时数据传输。

Task2:实现与平板电脑之间TCP/IP数据通信功能。

Task3:定时与同步控制处理。

Task4:负责实时数据存储及历史数据提取功能的实现

Task6:电源管理模块的软件实现。

4.2 通信协议的设计

MiniARM主控箱除了负责现场实时数据的采集外,还需要与本地的现场监控平板电脑以及远端的服务器进行通信,处理实时数据与控制命令的传输。三方通信均采用客户端/服务器模式(C/S),进行双向数据通信。在与平板电脑通信时, MiniARM主控箱作为服务器,通信双方建立可靠的TCP连接实现双向通信。在与远程服务器通信时, MiniARM主控箱作为客户端,采用工业级外置式GPRS无线数传模块(DTU),通过GPRS网络实现远程双向数据通信。同时MiniARM主控箱也作为平板电脑与远端服务器通信的桥梁。本文设计了统一的通信协议实现三方的相互通信,提供了统一的标准帧结构。该协议对应TCP/IP体系结构的应用层。标准帧结构如图5所示。

嵌入式

该通信协议的设计借鉴GPS数据通信NEMA0183[4]标准的思想,同时又结合了系统本身的设计要求。该协议由帧首部、协议数据部分、帧尾部3个字段组成,其中帧头由三个字节的字符串“$$$”来表示,数据长度部分共16位,表示从消息ID开始到校验码之前的数据长度,以字节为单位;消息ID表征本帧数据在通信系统中实现的功能;终端ID是标识本系统的惟一的ID号;YNA字段代表本帧是否需要回复,当其值为0时表示不需要回复,为1时需要回复。协议数据部分是长度可变的字段,其长度最小为1个字节,包含的内容根据消息ID的不同有很大的改变,除包含真正的数据外,还包括消息序列号、各数据量的个数以及填充字段等信息。校验和部分可采用CRC等校验手段,由于TCP通信能够保证数据传输的可靠性,这里只需要确保发送端DTU数据发送的正确性,因此采用简单的累加校验和的方式,校验数据为消息ID到校验码之前的数据部分;最后以字符串 “END”作为本数据包的帧尾。

4.3 无线通信可靠性设计

车载监控系统与远程服务器之间的通信基于中国移动GPRS网络,采用工业级外置式GPRS无线数传模块(DTU)进行远程数据通信,保证其通信的可靠性和稳定性是本系统设计的关键。虽然 TCP通信基于可靠的连接,能够保证服务器接收数据的正确性,但不能保证由于GPRS信道本身原因引起的数据丢失及错误。另外,DTU模块受外界干扰而导致数据处理错误或者死机等情况也是影响数据通信可靠性和稳定性的重要因素。为此从DTU模块的角度出发,设计了相应的控制策略,其控制流程如图6所示。

嵌入式

首先车载监控系统通过DTU周期性地向远程服务器发送测试心跳包,发送周期为240 s,远程服务器收到该心跳包后立即发送一条回复消息,监控系统判断在30 s内是否收到服务器的回复消息,如果收到回复,则一次完整的测试通信状况流程结束,此时通信正常,监控系统等待下一个发送周期再次发送测试心跳包;否则监控系统将转为出错处理,此时系统将立即重发一个测试心跳包并进入下一个30 s回复消息等待周期。如果重发超过3次没收到任何回复消息,通常以将DTU断电5 s方式硬复位DTU保证其工作的正常性,这样可防止系统因DTU本身的故障而引起的通信问题。但同时也要考虑另外一个故障源——GPRS无线信道,比如捣固车在山洞里面作业的情况。此时由于通信信号的原因将会引起DTU的频繁开关硬复位,为了避免这一情况,系统在监测到重发次数超过3次时,先判断距离上一次的复位时间是否超过一定的时间间隔,如果超过(这里设置为1 800 s),则进行DTU硬复位操作。另外,系统在正常通信的情况下也会因为偶然的因素导致个别的通信测试失败,但整个系统仍然处于正常的工作状态,这时采用如下机制:在第1次出现重发状况时,设定1个定时器,定时时间为1小时,当定时时间到时再判断,如果重发次数不超过3次,则表示通信正常并重发计数值清零。当然系统在DTU硬复位时也需要清除定时器以及重发计数器,来保证下一次通信的正常判断。通过以上的控制策略,并经实践证实,基本上能保证通信的最大可靠性。

本文研究设计的车载监控系统已经达到实用化的阶段,目前已经在广铁集团08-32型捣固车上试运行半年,系统整体设计已经达到了预期的功能和可靠性要求,对提高车辆的维修质量、检修效率,推行经济高效、先进合理的预知维修制式有着极大的促进作用。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分