张 锐,郎 洪,李丛蓉,陈正豪,李 达,王以忠
(天津科技大学 电子信息与自动化学院,天津300222)
物联网网关通信信道扩展的研究
张 锐,郎 洪,李丛蓉,陈正豪,李 达,王以忠
(天津科技大学 电子信息与自动化学院,天津300222)
针对物联网技术中遇到的底层设备多而通信可能不畅的问题,文中以单片机作为控制器,结合RS232接口扩展电路,实现物联网网关通信信道的扩展。文中给出了网关系统结构图,进行了软硬件设计,使一个RS232接口连接四台信息感知设备,并能实现接口之间的相互转换。该网关的研制可以提高物联网底层的硬件携带能力和数据传输效率,在使用物联网技术的系统中具有一定的实用价值。
物联网;RS232;网关;信道扩展
近年来,随着物联网技术以及与物联网相关的电子标签、中间件系统、嵌入式系统和云计算技术的发展,物联网及其相关技术受到广泛的关注,各国投入大量的人力物力开展物联网及其相关技术的研究[1-3]。从技术框架上,物联网可分为三层:感知层、网络层、应用层[4]。这三层有机结合,分工合作从而实现对信息的“全面感知、可靠传送、智能处理”。物联网网关位于感知层和网络层之间,是传感层向网络层传输数据的必经环节。现有的信息感知设备,如RFID标签[5]、GPS定位[6]等均通过RS232接口向网络层传输数据,而每一台信息感知设备都需要物联网网关层配置一个接口,当信息感知设备较多时,这样的配置无疑会造成网关设备复杂,增加设备成本;同时由于信息感知设备的数据采集和传输过程并非连续不断,这样的配置使得接口利用率降低,数据传输效率下降。因此,将物联网网关的通信信道扩展,有利于提高物联网的数据传输的效率,从而推动物联网技术的应用。
目前已有的物联网网关通信信道的扩展采用双四通道多路转换器4052[7]、SPI总线的GM8142扩展器[8]、UART多串口扩展器SP2349[9]、SP2538[10]、FPGA多串口扩展器[11],文中采用VK系列中VK3214串口扩展芯片并结合AVR系列单片机进行串口扩展。
系统总体结构如图1所示,从图1可以看出,系统以单片机(Atmega128)作为控制器,结合RS232接口及扩展电路,扩展电路即采用VK3214串口扩展芯片的扩展电路,实现物联网网关接口的扩展,使其从原先的一个接口连接一台感知设备,扩展为一个接口连接四台感知设备,同时实现接口之间的相互转换,提高接口的兼容性。在软件上,以RS232通讯协议为基础,针对物联网网关的信道扩展需求,制定“一对四”通讯协议和接口通讯模式转换程序[12-13]。软硬件结合实现物联网网关的信道扩展。
图1 系统总体结构图
2.1 RS232接口电路
为了使RS232接口电路的电压与单片机的供电电压保持一致,必须经过接口电路进行标准转换[14-15],目前较常用的方法是使用集成电路转换器件,文中采用MAX232,利用RS232转换TTL模块进行物联网网关和单片机之间的通信连接。在本设计中,单片机的RXD0、TXD0接口经过TTL与RS232转换电平后,用九针串口线引出接到物联网网关,RS232接口电路如图2所示。
图2 RS232接口电路
2.2 RS232扩展电路
RS232扩展电路通过利用 VK3214串口扩展芯片搭建起信息感知设备和单片机之间的桥梁,进行数据的储存和传递。VK3214是支持UART通信接口的4通道UART器件,用来实现UART桥接/扩展4个串口(UART)的功能。当VK3214的主接口为UART时,仅需要主串口MRX、MTX连接单片机的USART1,采用标准的UART协议进行通信。
在本设计中,将Atmega128的RXD1、TXD1接口引出与VK3214串口扩展芯片主串口的MTX、MRX相连,串口扩展芯片的4对RXD、TXD同样经过TTL和RS232转换电平后,分别用九针串口线引出接到4个信息感知设备上,即可实现串口数据的收发。RS232接口扩展电路如图3所示。
图3 RS232扩展电路
2.3 Atmega128外围控制电路
Atmega128为基于AVR RISC结构的8位低功耗CMOS微处理器[16]。在Atmega128外围控制电路中还包括拨码开关部分,在“一对四”通信协议中,每一个拨码开关对应一个信息感知设备,进行数据流的通信,其中,带有电源指示灯及数据流量指示灯可显示故障状况。如图4所示为本设计中Atmega128外围控制电路。
图4 Atmega128外围控制电路
3.1 初始化设置
Atmega128给VK3214的复位管脚发送一个低电平信号,VK3214复位后根据外部晶振电路对VK3214的主串口进行波特率、位长度、停止位、校验位等进行默认的配置,由VK3214的数据手册可知,若晶振的频率为7.372 8 MHz,VK3214主串口的默认波特率为19 200,8位数据,1位停止位,无校验位。再通过VK3214主串口对子串口相关的寄存器进行相应的配置。
3.2 上行通信
上行通信指信息感知设备产生的数据通过VK3214发送给Atmega128,进而传递给物联网网关,上行通信程序流程图如图5所示,中断服务子程序流程图如图6所示。定义四台信息感知设备分别为A、B、C、D,几台信息感知设备采用抢占的方式,通过子串口给VK3214发送数据,VK3214子串口接收到数据后产生中断,通知Atmega128读取数据。Atmega128接收到中断请求信号后通过读取VK3214的中断状态寄存器确定是哪个子串口有数据,再通过读取这一子串口的FIFO状态寄存器确定子串口接收FIFO中的数据个数,然后通过读取子串口FIFO数据寄存器,从这一子串口读取相应数量的字节数据,最后利用Atmega128的USART0将数据传递给物联网网关,从而完成上行通信。
图5 上行通信程序流程图
图6 中断服务子程序流程图
3.3 下行通信
下行通信指物联网网关数据经Atmega128通过VK3214发送给各台信息感知设备(A、B、C、D),程序流程图如图7所示。定义4个拨码开关分别为K1、K2、K3、K4,当K1被按下时,A接收数据,当K2被按下时,B接收数据,当K3被按下时,C接收数据,当K4被按下时,D接收数据,设备接收数据的同时有对应数据流量指示灯的闪烁。当Atmega128接收来自物联网网关数据时,VK3214主串口产生中断接收数据并存放在相应子串口的发送FIFO中,通过发送FIFO将数据传递给相应的信息感知设备,下行通信结束。
图7 下行通信程序流程图
在实验测试过程中发现单片机的串口波特率要求是VK3214子串口波特率的倍数,若倍数太小会导致接收FIFO溢出,倍数过大则会导致发送FIFO溢出,发送FIFO的数据还没发出去,又送进来新的数据。为了便于测试,将每个子串口的波特率设置为4800,单片机串口的波特率即物联网网关配置和测试界面中的波特率设置为19200,测试中有四台信息感知设备,设备1,2,3,4分别为温度信息感知设备,湿度信息感知设备,RFID标签信息感知设备,GPS定位信息感知设备,均通过RS-232接口向网络层传输数据,物联网网关配置和测试界面将会显示采集的数据,如COM1:23,则表示数据23是来自设备1即温度信息感知设备,表明当前温度为23℃。物联网网关也可以通过配置和测试界面向各台设备发送数据。在接收数据和发送数据的过程中,都伴随着数据流量指示灯的闪烁。经反复测试,通信建立成功,接收数据和发送数据均为ASCLL码,接收数据和发送数据的正确率为100%。子串口的波特率可以根据实际需要由人机交互模块或程序独立设定。物联网网关配置和测试界面如图8所示。
图8 物联网网关配置和测试界面
文中设计了基于Atmega128的物联网网关通信信道扩展系统,经实际应用验证,该扩展系统设计可靠,运行稳定,满足方案要求,有利于提高物联网的数据传输效率,促进该技术的发展。
[1]Gubbi J,Buyya R,Marusic S,et al.Internet of Things(IoT): A vision,Architectural elements,and future directions[J]. Future Generation Computer Systems,2013,29(7):1645-60.
[2]李灯华,李哲敏,许世卫.我国农业物联网产业化现状与对策[J].广东农业科学,2015(20):149-157.
[3]Gluhak A,Krco S,Nati M,et al.A survey on facilities for experimental internet of things research[J].IEEE Communications Magazine,2011,49(11):58-67.
[4]钱志鸿,王义君.面向物联网的无线传感器网络综述[J].电子与信息学报,2013,35(1):215-227.
[5]谢磊,殷亚风,陈曦,等.RFID数据管理:算法、协议与性能评测[J].计算机学报,2013,36(3):457-470.
[6]高星伟,过静珺.基于时空系统统一的北斗与GPS融合定位[J].测绘学报,2012,41(5):743-755.
[7]陈力平,徐冠捷.基于单片机的串口扩展器[J].微计算机信息,2006,22(3-2):13-15.
[8]唐洪富.基于LPC系列单片机的串口扩展器设计[J].微型机与应用,2015,34(13):97-99.
[9]刘小芳,曾黄麟,吕炳朝.单片机的多串口扩展技术的设计[J].计算机测量与控制,2004,12(11):1088-1090.
[10]李敏,孟臣.RS-232多串口扩展器件SP2538及其应用[J].国外电子元器件,2004,(4):43-46.
[11]张羽,胡玉贵,殷奎喜,等.基于FPGA的多串口扩展实现[J].电子器件,2009,32(1):233-236.
[12]李晓梅.可扩展并行算法的设计与分析[M].北京:国防工业出版社,2000.
[13]谭浩强.C程序设计[M].北京:清华大学出版社,2005.
[14]潘方.RS 232串口通信在PC机与单片机通信中的应用[J].现代电子技术,2012,35(13):69-71.
[15]吴献.RS-232通信接口芯片在0.6um工艺下的设计与实现[D].浙江:浙江大学,2006:15-18.
[16]陈冬云,杜敬仓,任柯燕,等.Atmega128单片机原理与开发指导[M].北京:机械工业出版社,2005.
Research on communication channel expansion of Internet of things gateway
ZHANG Rui,LANG Hong,LI Cong-rong,CHEN Zheng-hao,LI Da,WANG Yi-zhong
(College of Electronic Information and Automation,Tianjin University of Science&Technology,Tianjin 300222,China)
There are a large numbers of bottom equipments in the Internet of things,and the communication between them may not be smooth.So this paper takes the microcontroller as the controller,combined with the RS232 interface circuit to achieve the expansion of the Internet of things gateway communication channel.In this paper,the structure of the gateway system is given,the hardware and software design is carried out,and a RS232 interface is connected with four information sensing devices.The development of the gateway can improve the hardware and data transmission efficiency of the bottom layer of the Internet of things,and has some practical value in the system using the Internet of things technology.
internet of things;RS232;gateway;channel expansion
TN913.3
A
1674-6236(2016)24-0132-04
2015-12-16 稿件编号:201512172
天津市科技特派员项目(15JCTPJC60800);天津科技大学大学生实验室创新基金(1402A201)
张 锐(1979—),男,辽宁营口人,博士,副教授。研究方向:测控与光谱技术。