支持多种接入方式的无线网关的设计与应用
2015-04-07罗立贺政赵小龙
罗立++贺政++赵小龙
摘 要:在研究多种通信模式的网络设备基础上,提出一种支持多种接入方式的无线网关的设计方案,实现多种通信模式的异构网络与无线传感器网络的通信,详细论述了网关的硬件设计与软件设计,并将其应用于工业无线监控系统中,结果表明,网关能够在实际网络中运行。
关键词:无线传感网;多接入;无线网关;监控系统
中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2015)02-00-03
0 引 言
无线网关能够对无线传感网中的现场设备实时监控,设备的运行状况以及设备对周围环境采集到的信息能够汇聚于无线网关,网关能通过多种传输方式将无线传感网里面节点采集到的环境信息上传至监控室内的上位机,使整个工作环境能得到及时有效的监控。
传统的无线网关多数只支持单一频段的无线传感网,随着物联网相关标准的制定和发展,仅支持一种无线频段的模式已不再能满足开发和使用需求,因此需要一种支持多种通信模式的网络设备。本文提出了一种支持多种接入方式的无线网关,它不仅支持符合IEEE 802.15.4标准的433 MHz、470 MHz、780 MHz和2.4 GHz无线传感网,还支持以太网、WiFi及TD-SCDMA、CDMA2000、WCDMA、LTE制式的3G/4G移动通信网等,同时还基于此网关构建了一个用于工业无线监控的数据采集系统。
1 无线网关总体设计与架构
1.1 无线网关的硬件设计
本文设计的无线网关硬件模型如图1所示:
无线网关的硬件系统包括:主控制单元,多频段WSN子网接入单元,外网接入单元,调试和交互接口模块和电源模块。
(1)主控制单元:主要负责调度和处理来自四个频段子网模块的数据,并对这些数据进行处理,将这些数据包解析、处理成符合标准格式的数据包,通过外网接入模块传送给远程终端。主控制单元必须具有功能强大的数据处理能力以及高速的外设通信资源,才能将数据实时、高速的上传给3G网络、WiFi网和以太网,因此这里选用三星公司型号为S3C2440的ARM9芯片作为网关的主控制单元。
(2)多频段WSN子网接入单元:主要负责采集现场多频段WSN的组网、对终端采集设备管理和数据交互。设计的多频段WSN子网模块主要有四种:2.4 GHz无线子网模块,780 MHz无线子网模块,470 MHz无线子网模块和433 MHz无线子网模块。其中,2.4 GHz射频模块采用台湾达盛公司生产的US2400单射频芯片,它由S3C2440控制单元直接对其收发进行控制。其余三个频段的射频模块均采用主控制器直接控制射频芯片的形式,433 MHz和470 MHz的射频芯片分别为TI公司CC1101,CC1100E,780 MHz射频芯片为Atmel公司的AT86RF212,其主控单元均为STM32F103,都以统一的串口形式接入网关。
(3)外网接入单元:包括以太网接入模块、3G/4G网络接入模块和WiFi无线通信模块。其中以太网接入模块主要负责数据管理模块与以太网的信息交互,提供有线接入以太网的方式;3G网络接入模块以Mini PCI-E接入网关,支持Linux操作系统,主要负责将数据管理模块处理后的数据通过3G网络传送给远程,以便对采集到的数据进行更进一步的分析和处理。采用通用接口的网关设备能够在硬件层面上对三种制式采用相同接口标准的3G模块和4G模块在实际开发应用中提供可调换的空间;WiFi无线通信模块主要负责将数据管理模块处理后的数据通过基于IEEE 802.11.n的无线局域网实现与上位机的信息交互,以便对采集到的数据进行更进一步的分析和处理,模块以USB接口接入网关。
(4)交互借口模块:主要负责将网关的信息上传至PC机进行调试。本设计将RS 232通用串行接口作为网关调试与交互接口模块的一部分,用于网关和PC机之间的连接和调试。
(5)电源管理单元:主要负责给网关中的全部功能模块供电。该部分的设计至关重要,关系到整个系统运行的持续性、稳定性等方面的问题。更加合理的电源管理配置也使得网关对各个通信模块所接的设备提供了一个更宽广的用电需求。在具体设计中采用了两个AS2830电源管理芯片分别将5 V直流源输入转成3.3 V直流输出,并在输入端和输出端加上了旁路和去耦电容,以有效抑制输出电压的纹波,保证了电源供电的稳定性,以此满足系统内部各个功能模块对供电电源的要求。
1.2 无线网关的软件设计
根据无线网关对各个通信协议的需求,网关需要安装合适的嵌入式操作系统。本设计通过安装嵌入式Linux操作系统来管理整个网关的通信资源设备。嵌入式Linux操作系统包括底层硬件驱动程序、各种通信协议栈、内存进程控制管理软件、应用服务等,其内核提可供硬件驱动,包括串口扩展模块驱动、3G/4G模块驱动、以太网接口驱动、WiFi模块驱动以及内存管理、进程管理、文件系统管理、中断和中断处理、系统初始化、网络协议栈、各种系统调用等。网关的应用服务是通过系统调用实现的,可实现无线接入或有线接入选择、远程登录程序、数据查询等,网关的软件结构框图如图2所示。
图2 无线网关软件结构
网关的协议栈包含了物理层、MAC层、适配层、IP层、传输层和应用层;其中物理层和MAC层在433 MHz、470MHz、780 MHz和2.4 GHz无线模块上实现,适配层、IP层、传输层和应用层在ARM平台上(软件环境为utuLinux 2.6.24)实现。适配层实现分片重组,包头压缩等功能;IP层实现邻居发现等功能;MAC层实现无线传感网IEEE 802.15.4与其他异构网络的协议转换,mesh路由,串行链路的Internet 协议等。这些软件功能需要在嵌入式Linux操作系统上实现,有关操作系统的移植方法以及3G/4G和WiFi功能在嵌入式Linux下的实现方法在网络上有很多资料,这里由于篇幅限制不再赘述。
由于本网关是按照4个无线传感网频段进行设计,且有3个频段是以串口形式接入网关,而ARM9本身支持3个串口,除了一个串口需要连接上位机进行调试之外,因此还需外接一个串口扩展芯片来满足设计要求。本设计采用GM8142串口扩展芯片,这是一款用SPI扩展串口的芯片,需要设计GM8142芯片的在嵌入式Linux下的底层驱动。
GM8142的底层驱动必须遵循嵌入式Linux驱动设计标准,嵌入式Linux驱动分为字符设备驱动、网络设备驱动和块备驱动等。设计驱动时,首先需要系统无法根据硬件地址对设备进行管理,必须映射成能够让操作系统管理的虚拟地址,接着对SPI寄存器进行设置用来得到串口扩展芯片所需要的工作模式。接下来可以用底层的驱动函数对串口进行参数设置,最后创建驱动的write、read、open和close等操作函数,以此可在用户程序里面对设备进行读与写、打开与关闭等操作。驱动设计流程如图3所示。
图3 串口扩展驱动设计流程
2.4 GHz频段采用US2400射频芯片,由于该芯片并没有集成主控制器,需要S3C2440控制单元对其芯片进行初始化和收发控制,也需设计相应的芯片底层驱动,具体驱动的设计流程同上面驱动的设计流程大体上相同,都必须遵循嵌入式Linux下驱动程序的设计标准,这里不再详细阐述。
软件模块功能设计或移植好后,需要完成多接入无线网关主程的序设计。这里需要打开4个驱动设备,其中两个是433 MHz、470 MHz频段所对应的标准串口驱动设备,另外两个是780 MHz频段对应的扩展串口设备和2.4 GHz频段对应的射频驱动设备。为了提高网关的数据的处理能力和网关的响应速度,应用程序采用了多线程技术,即每个线程接收处理相应频段的数据。在这里需要创建3个子线程,其中433MHz和470 MHz频段的子线程用来监听标准串口过来的数据,采用了select监听机制,用来检测433 MHz和470MHz对应的驱动文件描述符是否发生了变化,一旦发生变化说明有数据包上来,这时将收到的数据包解析后通过UDP套接字传递给3G/4G、WiFi和以太网传递给上位机实现远程监控。780 MHz和2.4 GHz频段子线程都采用了异步通知的方式来分别接收无线传感网数据。所谓的异步通知就类似于软中断,指的是应用程序无需特定去监听某个数据通道,当有数据流进时,应用程序里面的信号处理函数会自动从驱动设备读取数据,在进行解析后传递给UDP套接字,这样使整个程序的执行效率得到有效提高。网关的应用主程序流程图如图4所示。
图4 应用主程序流程图
2 无线网关在工业监控上的应用
Modbus协议是工业控制中的一种标准、开放的通用语言,使用此协议的用户无需缴纳许可费用,也不会涉及到侵犯知识产权,且帧格式简单、紧凑,格式规范、通俗易懂,已经广泛应用于工业现场设备控制中。
本网关上行部分结合6LowPAN协议栈,在协议栈的应用层使用Modbus协议,下行利用Modbus/TCP协议以3G/4G和WiFi传输方式将无线传感网节点设备采集的数据上传至上位机,同时上位机也能以轮训方式发指令对节点设备进行周期性控制。在此监控系统中,上位机作为TCP客户端,网关作为TCP服务器,再加上网关下面的现场节点设备以此构成了整个监控系统。网关的系统服务进程主要由两个子线程构成,子线程1以3G/4G或WiFi通信方式接收远端监控上位机发送的Modbus/TCP帧,在解析后封装成Modbus/RTU帧,通过网关上的协调器发送给下面节点设备;子线程2负责接收下面节点设备采集到的数据,再解析以Modbus/RTU封装成的数据帧后,又封装成Modbus/TCP帧后以3G/4G或WiFi通信方式传送至远程上位机监控终端。整个监控系统的软件流程如图5所示。
3 工业监控结果展示
本文设计的支持多种接入方式的无线网关已经应用于工业无线监控系统中,并取得了良好的实际应用效果,实现了本无线网关的设计目标。图6展示了工业监控系统中基于组态软件设计的对于工厂设备实时监控的上位机界面。
图5 监控系统软件流程图
图6 变速器工厂监控结果展示
4 结 语
随着无线通信技术逐渐进入工业领域,无线通信系统在工业通信网络中应用逐渐增加,由3G、4G和WiFi在国内的蓬勃发展所带来了巨大的机会,尤其是物联网时代,3G、4G和WiFi技术将促进物联网有效发挥无缝通信的巨大威力。本文以充分利用互联网和无线通信公用网络资源为目的,将无线传感网技术、嵌入式技术、3G/4G通信及以WiFi通信有机的结合起来,完成了一种支持多种接入方式的无线网关的设计,实现了无线传感网与互联网之间的互联互通。该网关具有数据处理能力强,数据传输速率快,实时性好等诸多优点,特别已经在工业监控系统中得到了有效应用,因此在工程技术领域有着良好的应用价值。
参考文献
[1] 李婷.基于IPv6和PROFIBUS的远程监测方法研究与实现[D].长春:吉林大学,2013.
[2] 徐闻拯.多模物联网网关系统设计与实现[D].西安:西安电子科技大学,2014.
[3] 常英亮.基于嵌入式Linux的物联网网关研究与实现[D].北京:北京邮电大学,2014.
[4] 缪锐.基于物联网的太阳能LED路灯监控系统设计与研究[D].南京:南京理工大学,2014.
[5] 安丽君.基于嵌入式的物联网信息采集系统的设计与实现[D].北京:北京邮电大学, 2013.
[6] 马妮娜.Zigbee/GPRS物联网网关系统的实现研究[J].计算机光盘软件与应用,2014(13):63-64.
[7]刘国彦,段益群.基于物联网的温室大棚系统设计[J].信息与电脑(理论版),2014(12):35-36.
[8] 孙其博,刘杰,黎羴,等. 物联网:概念、架构与关键技术研究综述[J]. 北京邮电大学学报. 2010,33(3):1-9.
[9] 宋宝华.Linux设备驱动开发详解[J].北京:人民邮电出版社,2010.
[10] Xiao Rong Zhou, Meng Tian Song, Gan Wei Cai. The Design of 3G Embedded Smart Home System Based on ARM Cortex MCU[J].Applied Mechanics and Materials,2013(3):73-75.