赵小虎1,2, 王宽1,2, 沈雪茹1,2, 田浩1,2, 有鹏2,3
(1.中国矿业大学 信息与控制工程学院, 江苏 徐州 221008; 2.矿山互联网应用技术国家地方联合工程实验室, 江苏 徐州 221008; 3.中国矿业大学 徐海学院, 江苏 徐州 221008)
摘要:针对现有煤矿安全监测系统中信息传输可靠性差、异构数据融合度低的问题,设计了一款面向煤矿井下的多协议融合网关。该网关可同时接入不同协议类型的传感器,将多源数据以以太网协议数据的形式传输到远程服务器进行信息融合。在该网关中,物理层通过不同协议(RS232、RS485、CAN、ZigBee)传输介质和接口接收终端的数据信息;协议层对不同的数据格式进行解封,得到终端用户原始数据;系统层通过任务管理和通信调度完成多类型设备的接入;应用层设计用户函数和调用内核空间的网络层协议进行数据封装,得到以太网协议格式的数据后不需处理就可传送到上级节点,完成网关多类型协议数据到以太网协议数据的转换传输。测试结果表明,该网关可以实现RS232、RS485、CAN、ZigBee等协议数据转以太网协议数据的透明传输,且传输时延集中在15 ms以内,传输数据丢包率低,具有很强的通信可靠性。
关键词:煤矿安全监测; 传感器; 异构数据; 数据融合; 多协议融合网关; 透明传输; 协议转换
中图分类号:TD67
文献标志码:A
网络出版地址:http://kns.cnki.net/kcms/detail/32.1627.TP.20181227.1642.003.html
文章编号:1671-251X(2019)01-0006-07
DOI: 10.13272/j.issn.1671-251x.2018050100
收稿日期:2018-05-30;
修回日期:2018-10-21;
责任编辑:张强。
基金项目:国家重点研发计划资助项目(2017YFC0804404)。
作者简介:赵小虎(1976-),男,江苏徐州人,教授,博士,主要研究方向为矿山物联网、矿山网络技术,E-mail:xiaohuzhao@126.com。
引用格式:赵小虎,王宽,沈雪茹,等.面向煤矿井下的多协议融合网关设计[J].工矿自动化,2019,45(1):6-12.
ZHAO Xiaohu,WANG Kuan,SHEN Xueru,et al.Design of multi-protocol fusion gateway for underground coal mine[J].Industry and Mine Automation,2019,45(1):6-12.
ZHAO Xiaohu1,2, WANG Kuan1,2, SHEN Xueru1,2, TIAN Hao1,2, YOU Peng2,3
(1.School of Information and Control Engineering, China University of Mining and Technology, Xuzhou 221008, China; 2.The National and Local Joint Engineering Laboratory of Internet Application Technology on Mine, Xuzhou 221008, China; 3.Xuhai College, China University of Mining and Technology, Xuzhou 221008, China)
Abstract:In view of the problems of poor reliability of information transmission and low fusion degree of heterogeneous data for coal mine safety monitoring system, a multi-protocol fusion gateway for underground coal mine was designed. The gateway can be connected to sensors with different protocol types at the same time and transmit multi-source data to remote server in the form of Ethernet protocol data for information fusion. In the gateway, physical layer receives data information of the terminal through different protocols (RS232, RS485, CAN, ZigBee) transmission medium and interface. Protocol layer de-archive different data formats to obtain original data of the end user. System layer completes access of multiple types of devices through task management and communication scheduling. Application layer designs user function and calls the kernel space network layer protocol for data encapsulation to obtain the data in the Ethernet protocol format, the data can be transmitted to the upper node without processing, so as to complete conversion and transmission of multi-type protocol data to the Ethernet protocol data of the gateway. The test results show that the gateway can realize transparent transmission of RS232, RS485, CAN, ZigBee protocol data to Ethernet protocol data, and the transmission delay is concentrated within 15 ms, the packet loss of transmission data is extremely low, so the gateway has a strong communication reliability.
Key words:coal mine safety monitoring; sensor; heterogeneous data; data fusion; multi-protocol fusion gateway; transparent transmission; protocol conversion
在煤矿生产过程中,针对煤矿安全事故和重大危险的预测和评估是关系到煤矿安全生产的一项重要因素。随着矿山物联网的发展,煤矿安全监测系统也在不断地融合升级[1-2]。现阶段我国的煤矿安全监测系统架构如图1所示,安全监测系统中包含多种类型的传感器,如瓦斯传感器、温湿度传感器、粉尘传感器、风速传感器等,这些传感器的通信接口各不相同,涉及到了RS232、RS485、CAN、ZigBee等多种通信传输方式,当这些传感器采集的信息独立传输到远程服务器处理时会造成煤矿安全预警速度慢、决策联动少等问题,从而影响井下的风险判识和预测评估[3]。为此,笔者设计了一款多协议融合网关,可同时接入不同协议类型的传感器,将多源数据以以太网协议数据的形式传输到远程服务器进行信息融合,以期提高煤矿安全监测系统的风险判识精度和联动控制时间,为矿山生产的紧急避险打下良好的基础。同时对该网关进行抗干扰性和实时性的研究,为煤矿典型动力灾害监控预警及系统安全无故障运行提供技术保障。
图1 煤矿安全监测系统架构
Fig.1 Architecture of coal mine safety monitoring system
面向煤矿井下的多协议融合网关的总体架构如图2所示。该网关可实现井下RS232、RS485、CAN、ZigBee等接口协议转以太网的融合传输,其设计分为硬件电路设计和软件系统设计2个部分。在硬件电路设计中,通过对多协议物理层原理的分析实现电信号的转换。在软件系统设计中,通过对井下多种制式数据解调转换传输技术的研究实现多源异构数据的融合传输。通过网关的软硬件设计实现灾害前兆采集信息的数据传输、协议转换等功能,从而保证煤矿安全监测系统的高效运行。
图2 面向煤矿井下的多协议融合网关总体架构
Fig.2 Overall architecture of multi-protocol fusion gateway for underground coal mine
网关的硬件设计框图如图3所示,主要包括网关最小电路系统、路由模块、RS232接口电路、RS485接口电路、CAN接口电路、ZigBee模块电路及以太网接口电路等。
图3 网关硬件设计
Fig.3 Gateway hardware design
网关的主控制器模块选取基于Cortex-M4内核的STM32F429IGT6芯片,主频为180 MHz,可支持串口、CAN、WiFi、以太网等多种外设资源,同时支持SPI、I2C、DMA(Direct Memory Access,直接存储器存取)等多种数据传输方式。该款主控芯片可搭载嵌入式实时操作系统μCOS-III及支持TCP/IP轻量级协议栈LwIP等,具有强大的通信功能,非常适合作为网关的主控芯片,给其外围配置晶振、复位、电源、下载等电路即可组成主控制器模块电路板的最小系统,实现STM32F429的正常工作。
该网关设计引入路由模块以保证网关无故障的长时间运行,当网关主控制器模块出现异常断网时,可通过路由模块DHCP使其恢复正常。路由模块采用MT7620A芯片,外围配备最小系统电路、Flash电路、以太网接口电路等即可组成路由模块的硬件系统,再通过移植强大的OpenWRT专业路由系统,就可实现网关的路由功能。
RS232和RS485两种协议通信是串口通信协议的扩展,其区别是在物理层设计不同的电平标准来定义逻辑传输信号,增加串口的传输距离和抗干扰能力。RS232是异步通信传输接口,采用负逻辑电平来规定“1”和“0”,即DC(-15~-5 V)规定逻辑“1”,DC(+5 ~+15 V)规定逻辑“0”。RS485采用半双工通信方式,通过平衡式发送、差分式接收的收发器来驱动总线,以AB差分线间的电压差来规定“1”和“0”,A-B压差介于-6~-2 V规定为逻辑“1”,A-B压差介于+2 ~+6 V规定为逻辑“0”[4]。采用隔离收发器来进行电信号的转换,设计电磁兼容(Electro Magnetic Compatibility,EMC)接口电路,以增强抗干扰能力。
ZigBee协议用于煤矿井下的无线传感器网络中,具有近距离、低功耗、自组织的特点[5]。硬件采用CC2530组建井下Mesh传感器网络,其包括协调器、路由器、终端节点。将ZigBee协调器嵌入在网关上,将协调器接收的传感网络数据通过串口传输到网关,从而实现ZigBee协议转以太网的数据传输。
CAN总线协议已经成为嵌入式工业控制局域网的标准总线,被成熟应用于环境温度恶劣、电磁辐射强以及震动大的煤矿井下环境[6-7]。CAN通信采用一对差分信号线(CAN_H,CAN_L)进行传输,在同一时刻中,CAN网络内只能有一个节点发送信号,其他节点均处于接收状态,所以,CAN通信也是半双工的通信方式。STM32F429内部集成了bxCAN控制器,其传输速率可达1 Mbit/s,支持自动收发标准ID和扩展ID的CAN报文。该网关设计中采用隔离收发器驱动总线通信,设计EMC接口电路以增强抗干扰能力。
现阶段煤矿井下网关到骨干环网之间的信号传输是通过以太网完成的。以太网电路的硬件设计包括物理层和数据链路层的MAC子层的设计,物理层定义了介质性质,包括传输速度、编码方式和冲突检测机制等,而MAC子层负责与物理层进行数据交接[7-8]。以太网接口采用LAN8720A芯片来实现物理层和MAC子层的工作,该芯片集成了10/100 MB以太网PHY(端口物理层),具有低CPU开销的高效架构和灵活的地址过滤模式等优点,在电路设计中采用网络变压器将RJ45接口与LAN8720A进行隔离,设计EMC电路以增强信号的抗干扰性。
软件设计部分分为2个模块,即路由模块和主控制器模块,路由模块旨在给主控制器动态地分配IP地址以保证其异常断网时重连,增强网关的稳定性和可靠性。主控制器模块旨在实现网关的数据传输、协议转换等功能,保证网关运行的实时性和准确性。
OpenWRT是一款基于Linux内核的高度模块化和自动化的路由系统,拥有强大的网络组件和扩展性[9]。将OpenWRT系统移植到MT7620A即可以实现DHCP分配IP的功能,DHCP使用UDP协议给工作用户自动分配IP地址,当网关主控制器出现异常断网时,MT7620A动态配置协议使其再次接入网络,从而保证网关工作的稳定性和可靠性。OpenWRT移植过程如图4所示。
主控制器程序设计部分主要包括嵌入式实时操作系统μCOS-III移植、TCP/IP协议栈LwIP移植、多协议(RS232、RS485、CAN、ZigBee)和以太网之间的协议转换等。网关软件系统架构如图5所示,物理层为网关提供硬件接口电路;驱动层根据物理层电路编写板级支持包固件;系统层移植μCOS-III系统,提供任务管理、时间管理、优先级调度、中断异步事件处理等功能;网络层移植协议栈LwIP,支持DHCP协议、UDP协议、TCP协议等;应用层编写用户应用程序,通过API函数管理各协议程序。
图4 OpenWRT系统移植流程
Fig.4 Transplantation flow of OpenWRT system
对于井下不同的终端监测设备,网关屏蔽矿井底层网络的异构性,无论业务如何,网关都对传输的数据不做任何的处理,使其原封不动的传送到下一个网络节点。突破了多制式协议瓶颈,对接收到的多源数据信息进行透明转换,统一数据帧格式,实现多网异构信息的透明接入及共网可靠传输。在井下不同业务通信调度中,借鉴区分服务机制,在系统应用层设计队列管理机制和分组调度机制对不同的业务进行合理管理调度,保证网关多任务正常通信。
图5 网关软件系统架构
Fig.5 Architecture of the gateway software system
在用户空间中,用户编写主函数实现网关的数据传输、协议转换功能。主程序的实现流程如图6所示。首先初始化所有外设驱动(BSP)、LwIP协议栈、μCOS-III系统,通过启动函数来创建其他协议转换任务函数,当异步事件发生后,利用DMA传输机制接收数据,实现协议转换、数据转发。
图6 主程序实现流程
Fig.6 Implementation flow of main program
协议转换技术主要为异构互联的网络提供通信服务,其设计机理取决于各协议之间的兼容程度,主要包括物理、电气、逻辑、处理4个层次。其中,物理、电气属于硬件的范畴,而逻辑、处理过程则属于软件的范畴,所有实现协议转换的设备都是由硬件和软件2个部分组成。对于2个异构网络,网关工作在协议的最高层,经过不断解包重组源数据实现从一种协议信息到另一种协议信息的转换,即将源协议数据逐层向下传递得到用户数据,通过最底层物理传输后再逐层向上传输封装成目的协议数据,最终实现协议转换。网关的协议转换工作原理如图7所示。
图7 网关的协议转换工作原理
Fig.7 Working principle of protocol conversion of gateway
在该网关中,物理层通过不同协议(RS232、RS485、CAN、ZigBee)传输介质和接口单元接收终端的数据信息。协议层对不同的数据格式进行解封,得到终端用户原始数据。系统层通过任务管理和通信调度完成多类型设备的接入。应用层设计用户函数,调用内核空间的网络层协议进行数据封装,得到以太网协议格式的数据后传送到上级节点,完成网关多类型协议数据到以太网协议数据的转换传输。
电磁兼容包括电磁干扰(Electro Magnetic Interference,EMI)和电磁敏感性(Electro Magnetic Susceptibility,EMS)[11],EMI即设备工作发出的干扰,EMS即设备抵抗外界电磁干扰的能力。在井下复杂的环境中,大型工业生产设备工作和动力灾害前兆作用都会产生强烈的电磁干扰[12],所以,需要在网关中优化硬件电路来提高其EMS,使其在煤矿井下的使用更加可靠稳定。
在网关电源电路中,外部输入12 V的直流电压,在输入端设计一级双T无源低通滤波电路,滤除电源端带来的高频(>50 Hz)电磁干扰。采用隔离稳压DC/DC模块,即变压器磁隔离和光耦光电隔离来抵抗静电、辐射与浪涌干扰,最后进行接地保护,提高共模干扰抑制性能。
在网关的各协议接口电路中,同样设计抗干扰电路实现物理层的通信,在RS232、RS485、CAN的接口电路中,均使用三级抗干扰以上的隔离收发模块来进行电平信号的转换。同时在电路设计中,使用气体放电管泄放共模浪涌能量,使用半导体放电管泄放共模及差模浪涌能量,使用共模电感抑制衰减共模干扰及单板的内外部干扰。
此外,在印制电路板的设计中,在有限的范围内通过合理的元器件布局和布线也可使其抗干扰能力增强。在元器件的布置上,按照信号传输方向布局元器件,尽量使输入元器件(多个协议收发电路)和输出元器件(以太网电路)分离开来。遵循先防护后滤波的原则,信号线走线平行等长,高速传输电路使用差分对走线,电源线和接地线较信号线加粗,防护地与数字地隔离等。
在煤矿安全监测系统中,信息传输的实时性对煤矿安全的监测和预警具有重要的意义,而保证节点间的速率匹配、降低数据传输的时延和误码率则是信息实时准确传输的保障,因此,面向煤矿井下的应用型多协议融合网关的实时性研究就更为重要。
借助嵌入式实时操作系统μCOS-III来保证网关数据传输的实时性。在网关主控制器上移植轻量级嵌入式实时操作系统,提供高层次可信任的稳定代码,实现多任务的同时运行。μCOS-III是抢占式、可剥夺的实时操作系统,其RTOS内核同时支持优先级调度算法和时间片轮转调度算法。在该网关中多个协议转换任务可根据其数据的重要程度灵活设置不同的优先级,优先级最高的任务优先运行,同一优先级任务在没有更高优先级任务就绪的情况下共享CPU使用时间。
匹配异构网络传输速率,以防网络拥塞的出现。网关接收多协议数据的过程采用DMA传输机制,对于存在大量中断的通信中,通过DMA传输可以省去大量的CPU处理通信中断的时间,实现数据快速移动。DMA搬移数据不需要CPU的操作控制,不占用CPU资源,从外设接口接收到的数据可以直接传输到以太网需要发送的内存块中等待处理,这种方式减少了CPU的中断负载,提高了数据的传输速率,保证了网关数据传输的实时性。
在TCP/IP协议中,以太网传输可结合其优缺点和应用场景选择UDP或者TCP协议方式。TCP协议传输要经历3次握手、4次挥手过程,这些确认机制、重传机制和拥塞控制机制都会消耗大量的时间,同时还要占用系统的CPU、内存等资源去维护所有设备上的传输连接。而UDP协议是一种无状态传输协议,去除了TCP传输的握手、确认、重传等机制,拥有了更快的传输速度。同时UDP传输具有网络带宽小、占用资源少、功耗低、实时性好的特点,所以,在该网关中选择UDP协议进行以太网传输。
在数据收发过程使用改进的圆形缓冲器算法提高传输效率。在数据以以太网发送的过程中,由于井下数据量较大,所以在数据转发时会存在数据溢出的可能,如果频繁进行内存分配和释放,不仅会增加系统开销,还会使得内存碎片不断增多,从而影响了网关传输的实时性和准确性,非常不适合网关的长期稳定运行。因此,在本网关的通信设计中,使用圆形缓冲器作为数据结构存放收发数据。
圆形缓冲器是一个首尾相连的线性缓冲器,其仍然遵循先进先出(FIFO)的数据流处理规则。圆形缓冲器的运行示意如图8所示,存在一个写指针和一个读指针指向缓冲器的某一个单元,写指针通过顺移向缓冲器写入数据,读指针指向缓冲器可读的数据单元读取数据,从而完成数据的写入与读取。此外,在圆形缓冲器算法中添加了互斥保护机制,确保了多用户同时访问缓冲器,保证了数据传输的正确性。
图8 圆形缓冲器的运行示意
Fig.8 Running schematic diagram of the circular buffer
圆形缓冲器的使用仍有其明显的弊端,读写指针在读或写一个单元之前都要判断其是否为空,而且当读写到内存末尾处时需要将其重定向至缓冲器的首地址,CPU大部分时间都在处理个别特殊的情况,执行效率并不高。结合CAN协议通信原理,在该设计中对圆形队列进行了改进。CAN通信协议规定一帧CAN数据帧由16 byte组成,包括标识符、控制符、校验符等相关字段和数据字段。CAN控制器收发的数据是短小的定长帧,这16 byte的地址是线性的,不需要“拆行”处理,因此,在CAN通信中采用度为16的圆形缓冲器,这样在向缓冲器中写数据或从缓冲队列中读取数据时,只需要判断一次是否有空闲块并获取其块首指针就可以了,大大减少了重复性判断,提高了程序执行效率。
在以太网的数据传输中需要收发大量的数据,因此,相对于短小的定长帧,设计一个较大的数据缓冲器来降低指针重定向的耗时比重,提高以太网收发数据的效率。本网关设计的UDP发送缓冲器为1 024 byte,当接收的数据量没有超出缓冲器门限值时,设计超时发送函数将数据发送出去;当接收的数据量超出缓冲门限值时,设计超限函数将数据立刻发送出去,防止数据溢出。圆形缓冲器的设计在该网关的CAN通信和以太网通信中都有非常高效的应用,保证了网关运行的实时性和可靠性。
网关测试主要检测网关的协议转换功能和数据传输质量。主要通过设计终端设备发送多种协议的数据报文传输到网关,在上位机监听其报文内容,检测协议转换功能的实现。为了保证运行的实时性和准确性,分别通过丢包率和时延检测其数据传输质量。该网关由路由功能板和协议转换板上下搭建而成,外部关联本安电源(DC/12 V)统一供电,输入端保留各协议接口,内部上下电路板由网线相接,输出端保留多个以太网接口,从而实现网关的所有硬件配置。
设计终端设备模拟UART、RS232、RS485、CAN的协议发送,设计20个ZigBee网络节点采集温湿度信息发送。终端设备和ZigBee组网通过网关不同的端口号向服务器发送数据,在上位机上监听网关的工作状态,利用WireShark进行抓包,结果如图9所示,通过UDP连接的1 000端口号监听到了网关输入端5种不同类型接口接收到的原始数据,从而实现网关的协议转换功能。
图9 UDP数据抓包分析结果
Fig.9 Analysis results of UDP data packets
接着测试网关的丢包率和时延,用上位机测试软件抓取IP包进行测试,待网关与PC连接后,在上位机ping得本地IP、网关路由模块IP、网关协议转换模块IP,然后测试3个IP的时延和丢包率,结果如图10所示。从图10可看出,网关的最大时延为36.449 ms,时延值多分布在15 ms以内,丢包数为0,所得的数据均符合井下网络传输的标准,系统测试正常。
(1) 面向煤矿井下的多协议网关实现了RS232、RS485、CAN、ZigBee等协议转以太网的融合传输。测试结果表明,该网关数据传输可靠,网络丢包率极低,时延多集中在15 ms以内,运行稳定性较高。该多协议融合网关的设计促进了煤矿安全监控系统的融合升级,对实现煤矿井下典型动力灾害智能判识预警起到了重要的作用。
(2) 针对煤矿井下复杂的工作环境,对网关的抗干扰性和传输实时性进行了研究,优化了网关的硬件电路和软件系统。
图10 网关时延和丢包率测试
Fig.10 Test of delay and packet loss rate of gateway
参考文献:
[1] 杜刚.煤矿监测监控系统存在的问题及改造研究[J].能源与节能,2018(1):166-167.
DU Gang.Research on the problems and renovation of the monitoring and supervision system in coal mine[J].Energy and Energy Conservation,2018(1):166-167.
[2] 李明建.基于异构数据集成的煤与瓦斯突出监控预警系统[J].工矿自动化,2018,44(1):11-16.
LI Mingjian.Monitoring and early warning system of coal and gas outburst based on heterogeneous data integration[J].Industry and Mine Automation,2018,44(1):11-16.
[3] 赵越.煤矿安全监控系统嵌入式网关的设计及应用[J].煤矿机电,2018(1):43-45.
ZHAO Yue.Design and application of embedded gateway in coal mine safety monitoring system[J].Colliery Mechanical & Electrical Technology,2018(1):43-45.
[4] 汪丛笑.煤矿安全监控系统升级改造及关键技术研究[J].工矿自动化,2017,43(2):1-6.
WANG Congxiao.Research on upgrading of coal mine safety monitoring and control system and its key technologies[J].Industry and Mine Automation,2017,43(2):1-6.
[5] 卓然,郑红党,梁龙兵,等.矿用多协议嵌入式网关设计[J].软件,2014,35(8):93-97.
ZHUO Ran,ZHENG Hongdang,LIANG Longbing,et al.Design of multi-protocol embedded translation gateway of mine[J].Software,2014,35(8):93-97.
[6] 高俊,雷兴,邹德东.光纤以太环网+CAN总线传输在矿井安全生产监控系统中的应用[J].煤矿安全,2011,42(9):128-130.
[7] 毛为民,杨义伟.基于STM32 CAN-Ethernet网关的设计[J].上海船舶运输科学研究所学报,2017,40(3):46-49.
MAO Weimin,YANG Yiwei.CAN-Ethernet gateway design with STM32 for ship monitoring system[J].Journal of Shanghai Ship and Shipping Research Institute,2017,40(3):46-49.
[8] 王计波.面向智能断路器的多协议通信技术研究[D].天津:河北工业大学,2013.
[9] 陈玮思.基于MT7620A平台无线网关的设计与应用[D]. 广州:华南理工大学,2014.
[10] KHAN R,MCLAUGHLIN K,LAVERTY D,et al.Design and implementation of security gateway for synchrophasor based real-time control and monitoring in smart grid[J].IEEE Access,2017,5:11626-11644.
[11] 孟奎,顾焯南,杨和茂.电子电路的抗干扰方法以及有关技术分析[J].电子制作,2016(7):75-76.
[12] 高昊.矿用本安型抗干扰电源缓启动电路设计[J].煤矿安全,2017,48(8):87-90.
GAO Hao.Design for soft start circuit of mine-used intrinsic type anti-interference power[J].Safety in Coal Mines,2017,48(8):87-90.
[13] 辛永祥,张小波,刘京威.煤矿井下多协议网关设计与实现[J].工矿自动化,2015,41(10):65-67.
XIN Yongxiang,ZHANG Xiaobo,LIU Jingwei.Design and implementation of multi-protocol gateway of coal mine[J].Industry and Mine Automation,2015,41(10):65-67.
[14] 丁恩杰,金雷,陈迪.互联网+感知矿山安全监控系统研究[J].煤炭科学技术,2017,45(1):129-134.
DING Enjie,JIN Lei,CHEN Di.Study on safety monitoring and control system of Internet + perception mine[J].Coal Science and Technology,2017,45(1):129-134.
[15] 王启峰.煤矿安全监控多系统井下融合方法[J].工矿自动化,2017,43(2):7-10.
WANG Qifeng.Underground multi-system fusion scheme of coal mine safety monitoring and control system[J].Industry and Mine Automation,2017,43(2):7-10.