1 单体液压支柱无线监测系统嵌入式网关总体设计
煤矿井下液压支柱数目较多,难以集中监测。本文通过设计基于无线传感器网络的单体液压支柱监测系统,实现井下液压支柱压力监测。
如图1所示,本系统主要由监测主机、以太网及嵌入式网关、传感器节点、中缝节点、Zigbee网络等部件组成。
该系统具体工作运行原理如下:
(1)系统传感器节点首先需采集液压支柱各个状态参数信息。
(2)将系统传感器节点收到的信息由中继节点传送至网关,网关需分析、处理上传数据。
(3)由Internet将分析、处理后的相关数据传输至本系统上位监视主机。
通过嵌入式网关对Zigbee与Internet协议相互转换,配合网络芯片通过串口将其与无集成传感器的Zigbee节点相连接,共同实现在系统不同协议之间合理转换。与此同时,该系统通过串口,向网关传送中继节点模块收到的无线信息,再由Internet经网关将数据信息发送至以太网环。该无线传感器节点技术成熟,可降低开发设计难度。因此,采用以下设计方案对系统嵌入式网关进行科学设计。
2 硬件设计
2.1 硬件结构
本嵌入式网关提供了一个保证其能与Zigbee中继节点相连接的网络串口。在设计时,为了便于将相关数据及时传输至矿井中,配置了1个网口与2个串口。在此基础上,对系统RAM模块与ROM模块进行外扩。图2为本单体液压支柱无线监测系统嵌入式网关主要结构组成示意图。
2.2 嵌入式网关网络接口电路设计
选用一种即插即用、全双工的RTL8019AS网络控制芯片作为Internet控制器。由网络发送/接收滤波器20F001完成网络介质间的连接,提高本单体液压支柱无线监测系统网络通信抗干扰能力。图3为单体液压支柱无线监测系统网络接口电路设计示意图。
图3 网络接口架构
数据处理过程描述如下:
(1)当Internet中某节点欲向系统CAN现场总线或网络节点发送相关数据时,该Internet节点首先会向本系统嵌入式网关发送以太帧。
(2)当系统网关收到发送数据时,解析、拆包以太网,同时按总线/网络协议格式结合网关配置情况封装数据,最后将其发送至目标节点。
(3)当系统总线/网络中的某节点欲向Internet节点发送数据时,则按上述数据处理流程原路返回。
3 软件设计
本系统软件运行程序主要包括协议转换及系统引导程序,程序运行端可分为主、从两部分。
(1)通过移植U-boot获得系统引导运行程序,然后进入协议转换程序。
(2)终端从串口获取Zigbee中继节点发送的信息数据,并对以太网帧进行填写。
(3)基于以太网帧格式,经Internet、UDP及ARP协议,采用UDP方式,将相关监测数据信息发送至矿井监测主机。
(4)系统协议转换程序主要通过ARP协议对目标主机中的MAC地址进行获取。
按照上述流程,当系统软件程序开始运行后,需对网卡进行初始化设置。在此操作过程中,若运行失败,则系统会自动提示错误;随后,可连续3次发送ARP请求。若系统尚未收到ARP应答,则本系统会自动报错提示,然后等待对系统串口数据进行接收。在接收过程中,若有数据则需对数据进行分析,从而形成新的UDP数据,并将其加载至UDP数据报中由Internet负责发送。图4为本监测系统中嵌入式网关的软件程序流程图。
图4 本监测系统中嵌入式网关的软件程序流程图
3.1 系统Boot Loader引导程序设计
Boot Loader程序也称系统引导程序,其主要是指在本监测系统复位后执行的首段代码。在U-boot程序移植过程中,首先需对系统存储区映射、时钟等硬件模块进行初始化;其次,对系统堆栈指针进行设置,并通过建立S3C44B0X内存空间映射图,为本监测系统正常、稳定运行提供一种可靠的环境与状态,以便用户合理操作系统应用程序,及对操作系统内核进行最终调用。
3.2 系统UDP/IP协议栈的设计
本监测系统协议栈程序主要包括由mac.c文件、eth.c文件、arp.c文件、ip.c文件、udp.c文件及MAIN.c文件组成的精简UDP/IP协议。
文件类型 | 调用函数 | 文件功能 | 操作方式 |
mac.c | s3c44b0_eth_rcv; s3c44b0_eth_send; s3c44b0_eth_init () | ①对RTL8019模块初始化操作; ②调用函数InitRS8019 (); ③读取缓冲区数据 |
- |
eth.c | eth_send函数; eth_rcv函数; | 对系统以太网帧进行操作 | 调用函数s3c44b0_eth_send () |
arp.c |
arp_rcv_packet函数; arp_send_req函数; arp_get_eth_addr函数 |
①发送arp包; ②获取目标主机MAC地址; | 采用函数arp_rcv_packet()处理系统收到的arp包;调用函数eth_send()发送ARP请求包 |
Ip.c |
ip_send; ip_rcv_packet; ip_rcv_packet() |
添加IP头各字段 | 采用函数ip_rcv_packet()区别系统各种服务; 采用ip_send()函数添加IP头;调用eth_send()函数发送各字段 |
udp.c | udp_send | 处理UDP数据报 | - |
MAIN.c |
net_handle()函数;SendUdpstart ()函数 |
为系统相关应用程序运行提供基础 | 调取net_handle()函数与SendUdpstart ()函数;合理判断IP或ARP包; |
表1 系统UDP/IP协议栈
如表1所示,mac.c、eth.c、arp.c、ip.c和udp.c、MAIN.c文件构成了该监测系统协议栈程序。
4 结语
综上所述,本文针对矿井下无法进行长距离信息传输的问题,设计了一种基于UDP/IP协议栈的单体液压支柱无线监测系统。本系统主要由监测主机、以太网及嵌入式网关、传感器节点、中缝节点、Zigbee网络等部件组成。通过嵌入式网关,对Zigbee与以太网协议进行相互转换,以不带无线收、发模块的网关为核心,配合网络芯片通过串口将其与无集成传感器的Zigbee节点相连接,共同实现系统不同协议之间的合理转换。在本系统网络接口设计时,选用一种全双工即插即用的RTL8019AS网络控制芯片,构成系统以太网控制器。最终,分别基于mac.c文件、eth.c文件、arp.c文件、ip.c文件与udp.c和MAIN.c文件实现对各监测信息数据的传输与发送,有效提高了系统监测效率。
参考文献
[1]王桃,刘晓文,乔欣,等.基于无线传感器网络的液压支架压力监测系统设计[J].工矿自动化,2014,40(6).
[2]白亚腾,孙彦景,孙建光,等.基于无线传感器网络的液压支架压力监测系统设计[J].煤炭科学技术,2014,42(12).
[3]刘亚辉.SmartMesh IP无线网络在液压支架压力监测系统的应用设计[J].煤矿机械,2016,37(6).
[4]丁恩杰,孟祥,李晓,等.基于无线传感器网络的井下液压支架压力监测系统设计[J].煤矿机械,2010,31(10).
[5]胡亮.无线低功耗液压支架压力监测系统设计[J].工矿自动化,2017,43(6).
收稿日期:2017-09-26 作者简介:侯立兵(1978-),男,江苏丰县人,徐州博轩自动化科技有限公司工程师,研究方向:电子通信及自动化控制。