作者:余翔 王锋 黄寅洲
煤矿矿井数据采集分站是煤矿矿井井下各安全监控模块与井上安全监控中心之间数据传输的枢纽,负责安全监控中心与安全监控模块之间的数据采集与通信。数据采集分站能否有效工作决定了煤矿安全监控能否顺利进行,因此数据采集分站在煤矿安监中发挥着重要作用。图1所示为煤矿矿井安全监控系统组成框图。本文设计的数据采集分站与监控中心之间通过TCP通信,与井下监控模块之间通过CAN通信。采用基于操作系统mC/OS-Ⅱ的软件设计,以提高整个设计的稳定性与扩展能力。
硬件设计
整体结构图
采集分站硬件系统由主控芯片及外扩存储器、TCP/IP通信模块、CAN总线通信模块、重要参数修改与存储模块(串口通信、E2PROM)、电源与复位电路等组成,如图2所示。
本方案采用ARM芯片作为主控芯片,在性能上远远优于采用8位/16位单片机作为主控芯片的系统。TCP通信模块实现了TCP通信。内嵌CAN模块使得CAN通信设计电路简单,性能更加稳定。串口通信和TCP通信都可以实现重要参数(IP地址、矿井号等)的修改,外扩E2PROM用于重要参数的存储。
主控芯片
主控芯片采用ARM7芯片LPC2292为主控芯片,其内部有16KB RAM,并带有256KB嵌入式高速闪存存储器。LPC2292含有2路SPI接口,满足操作以太网控制器ENC28J60的要求,还含有2路内嵌CAN控制器,能够方便地实现CAN通信。由于嵌入了mC/OS-II操作系统并移植了TCP/IP协议栈, LPC2292内部的16KB RAM无法满足程序对存储空间的要求。因此,本设计在LPC2292外扩展了型号为IS61LV25616AL的RAM,其存储空间512KB。
TCP/IP通信模块
本文采用Microchip公司SPI接口的以太网控制器ENC28J60,其最大传输速率为10Mbps。ENC28J60通过SPI接口和LPC2292 相连接,网络的四个引脚通过网络变压器后连接到RJ45接口,两个中断引脚接单片机的外部中断或者连接到通用I/O口,两个指示灯引脚外接发光管连接到地或者电源,其余引脚是电源和地。图3为ENC28J60接口电路图。网口插座采用内置网络变压器、状态显示灯和电阻网络的RJ45接座HR911105A,具有信号耦合、电气隔离、阻抗匹配、抑制干扰等优点。
CAN通信模块
LPC2292包含2个内嵌的CAN控制器。CAN控制器同其他外围芯片一起构成了CAN总线的接口电路。图4为CAN总线接口电路原理图,其中82C250是CAN控制器和物理总线间的接口芯片,该器件可以提供对总线的差动发送能力和对CAN控制器的差动接收能力。82C250和CAN控制器之间采用高速光耦6N137实现电气上的隔离,以提高系统的抗干扰能力。
重要参数的修改与存储模块
本文所设计的数据采集分站采用串口通信和TCP通信两种方式修改重要参数,采用AT24C16作为存储芯片。AT24C16是具备I2C总线接口2KB的E2PROM,该芯片用来存放数据采集分站的重要参数,在此不详细介绍。
基于mC/OS-II的软件设计
任务划分
本文通过移植TCP/IP协议栈MCHPStack实现TCP通信;通过控制LPC2292内部CAN控制器实现CAN通信;通过I2C接口实现对E2PROM的读写。在驱动程序设计的基础上,实现了mC/OS-II的移植,并按照数据采集分站的功能要求划分和设计任务。通过任务来调用各个驱动程序,从而实现整个数据采集分站系统的功能。本文主要设计了TCP通信、CAN通信以及重要参数的存储任务。CAN通信任务负责建立数据采集分站,采集井下个监控模块传来的数据,并作相应处理。因此,数据采集分站与井下监控模块之间的CAN通信任务应该具有最高优先级。又因为数据采集分站要将数据及时传给井上监控中心,因此,TCP通信任务应该排在第二位。重要参数的修改与存储任务优先级最低。
另外,系统还设置了三个中断:一个定时中断,用来为mC/OS-II提供时钟节拍;一个是CAN通信中断,用来接收CAN总线上的数据;一个串口通信中断,用来接收串口数据。
各任务和中断之间的关系及通讯情况如图5所示。本文主要介绍CAN通信任务以及TCP/IP通信任务。
任务初始化
任务初始化完成任务的系统初始化、系统自检、参数配置、操作系统初始化、任务创建与启动。
CAN通信任务
图6为CAN通信任务流程图。CAN通信任务中,一方面无等待地接收TCP通信任务传来的消息,解析并响应执行;另一方面,通过CAN中断接收CAN中断传来的消息和解析消息,并对数据进行处理,以便井上监控中心进行查询。
TCP/IP通信任务
TCP/IP通信任务在完成ENC28J60硬件驱动后,通过调用TCP/IP协议栈MHCPStack中提供的状态机函数StackSTK( )并进行修改,实现ARP、IP、ICMP、TCP等功能,并在此基础上实现TCP通信的任务。该任务负责接收井上监控中心通过以太网传来的TCP数据,并解析。如果是控制命令,则数据采集分站将控制命令及内容,以消息队列的方式传给CAN通信任务,以便传给井下各个监控模块;如果是获取命令,则数据采集分站将其采集的数据通过以太网,以TCP 协议传给井上监控中心;如果是参数修改命令,则进行参数修改。
结语
煤矿矿井嵌入式数据采集分站收集井下各类监控模块数据,并及时传送至井上监控中心,为煤矿安全监控提供了有效途径。采用TCP/IP通信有利于数据采集分站的动态使用;CAN通信保证了数据采集分站与井下各节点之间的高速率通信;移植的mC/OS-II操作系统增强了系统的稳定性与扩展性。实践证明,本文设计的煤矿矿井嵌入式数据采集分站能适应井下恶劣的环境条件,数据采集及时、有效。
关键词:
煤矿
矿井
嵌入式
数据采集
站的
设计
实现
分