您的位置: 嵌入式在线 > 解决方案 > 安防电子 > 煤矿矿井嵌入式数据采集分站的设计与实现

煤矿矿井嵌入式数据采集分站的设计与实现

2007-10-19      嵌入式在线      收藏 | 打印

       本文提出了一种基于TCP/IP-CAN网络的煤矿矿井嵌入式数据采集分站的设计方案,采用ARM芯片LPC2292为主控芯片,通过SPI接口控制以太网控制器芯片ENC28J60实现TCP通信,通过内嵌的CAN控制器实现CAN通信。

       在介绍系统硬件设计的基础上,详细介绍了基于mC/OS-II的软件设计。整个系统能够对煤矿矿井数据进行有效采集,具有良好的稳定性与扩展性。

       煤矿矿井数据采集分站是煤矿矿井井下各安全监控模块与井上安全监控中心之间数据传输的枢纽,负责安全监控中心与安全监控模块之间的数据采集与通信。数据采集分站能否有效工作决定了煤矿安全监控能否顺利进行,因此数据采集分站在煤矿安监中发挥着重要作用。图1所示为煤矿矿井安全监控系统组成框图。本文设计的数据采集分站与监控中心之间通过TCP通信,与井下监控模块之间通过CAN通信。采用基于操作系统mC/OS-Ⅱ的软件设计,以提高整个设计的稳定性与扩展能力。

       硬件设计

        采集分站硬件系统由主控芯片及外扩存储器、TCP/IP通信模块、CAN总线通信模块、重要参数修改与存储模块(串口通信、E2PROM)、电源与复位电路等组成。

       本方案采用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操作系统增强了系统的稳定性与扩展性。实践证明,本文设计的煤矿矿井嵌入式数据采集分站能适应井下恶劣的环境条件,数据采集及时、有效。  

       参考文献:
      1.Jean J. Labrosse著,邵贝贝译. μC/OS-Ⅱ源码公开的实时嵌入式操作系统[M].北京:北京航空航天大学出版社,2005.70~71
      2.Philips Semiconductors. LPC2292 Datasheet, Rev.05[EB/OL]. http://www.zlgmcu.com. 2004.2
      3.周晓阳,程红,张晓媛. 新型以太网控制器ENC28J60及其接口技术[J].单片机与嵌入式系统应用,2006.(08):34~36
      4.吴友宇,秦神祖,张爱民,等.光纤CAN总线接口设计[J].武汉大学学报(理学版).2003.49(03):405~408
      5.Microchip Technology Inc. The Microchip TCP/IP Stack[EB/OL]. http://www.microchip.com. 2002
 
 

本文来源:电子设计应用    作者:武汉虹信通信技术有限责任公司 余翔 王锋 黄寅洲

隐藏原文↑


查看原文↓

验证码:  看不清?换一张

 

快乐大本营
工程师之星
高福东
擅长嵌入式开发及单片机应用开发
  • 王波涛  熟悉单片机及其接口技术
  • 朱伟平  熟悉51单片机系统LCD驱动程序编写及调试。
热门招聘
论坛热贴