吴卓然 胡跃明 冯太合
(华南理工大学自动化科学与工程学院)
基于ZigBee的低功耗数据传输网络
吴卓然 胡跃明 冯太合
(华南理工大学自动化科学与工程学院)
针对电子货架标签存在的问题,提出一种有效缓解ZigBee网络通讯压力的方案,以ATmega256rfr2为ZigBee网络节点,以ATSAM4E16E为ZigBee到以太网的网关,构建一个ZigBee网络和Internet结合的数据传输网络,极大地减少了数据发送过程中的冲突碰撞,确保系统的正常运行。
ZigBee;以太网关;低功耗;电子货架标签
电子货架标签(electronic shelf label,ESL)放在货架上,用来显示商品信息,是一种基于无线数据传输的电子显示设备,它体型小,重量轻,能远程更新产品的信息[1]。传统的ESL使用RFID技术进行数据更新,液晶显示屏显示标签内容[2]。随着无线通讯技术发展,RFID的局限性凸显,其有效范围较小,组网不便,灵活性和保密性无法保障。
如今主流的无线通讯技术有WiFi、蓝牙、红外、RFID和ZigBee技术。其中,ZigBee具有低功耗、低成本、高可靠、自组网的优点及低速率、短距离的特点[3]。ZigBee技术,可满足ESL的设计需求,其自组网的优点使ESL系统便于管理;低功耗的优点使ESL节点的电池使用寿命延长。
由于无线传输模块的功耗越来越低,显示装置的功耗成为影响ESL功耗的重要因素。液晶显示屏的优点是成本低、刷新快;缺点是体积大、功耗大。过高的功耗严重影响ESL的电池使用寿命。电子纸是实现像纸一样阅读舒适、超薄轻便、可弯曲、超低耗电的显示技术[4]。使用电子纸作为显示装置,能有效降低ESL的电池损耗。
本文以ZigBee技术和电子纸结合的ESL作为网络终端节点,组成ESL控制系统,探究大量节点聚集时,降低ZigBee网络系统功耗的方法。
ESL控制系统设计涉及网络结构、节点、通讯协议等。
1.1 网络结构
ZigBee网络拓扑结构有星形网络、树形网络和网状网络。本系统采用网状网络作为其网络拓扑结构。与星形、树形网络相比,网状网络具有可靠性高、覆盖范围大、灵活性强的优点,不会由于协调器节点(根节点)的崩溃导致网络瘫痪。
1.2 节点设计
ZigBee网络有3种节点:协调器、路由器和终端节点。协调器和路由器一般由市电供电,终端节点由电池供电[5-6]。
ZigBee网络结构如图1所示,各节点实际数目与图中节点数目不同。协调器通过RS232与上位机相连,路由节点与协调器直接相连或通过其他路由实现多级跳转。终端节点与协调器相连或与路由相连。
图1 ZigBee网络结构图
考虑到实际应用中各节点功耗必须尽可能地小,以及以后网络拓展的需要,选择Atmega256rfr2作为终端节点的主控芯片。
本系统的协调器与上位机通过RS232连接。实际应用中,通过协调器的数据量非常大,若采用与终端节点相同的芯片,则无法承受如此大的负担;并且由于网络节点数目多,协调器需更大的RAM来存储网络中节点的信息,需选择一种性能更好的控制芯片。
ATSAM3SD8以ARM的Cortex-M3为内核,具有512 kB的Flash和64 kB的SRAM,相较于Atmega256rfr2,它处理速度更快,容量更大,故选择它作为协调器节点的主控芯片。设计完成的ESL实物如图2所示。
图2 ESL实物图
1.3 通讯协议
ZigBee联盟对通讯协议做了许多硬性的规定,要求协议底层遵从IEEE 802.15.4协议,还对网络层和API层作了标准化[7]。全球获得ZigBee联盟认证的公司有TI、Freescale、Atmel等。
本系统选择Atmel公司的协议栈BitCloud,该协议栈除了定义传统的NWK、MAC、APS、ZDO层之外,还定义了硬件抽象层HAL和板层BSP,提供多个方便用户使用的函数接口[8]。本系统在BitCloud的基础上对应用层和BSP层做了适当修改,配置了相应的网络参数,使其能够满足本系统的测试需求[9]。
系统测试内容为终端节点能耗和组网性能。测试用节点为协调器节点1个,路由节点和终端节点共150个。
2.1 系统功耗测试
ESL系统终端节点的睡眠参数设置,直接影响系统的运行质量。睡眠时间过短会导致系统整体功耗的增加,过长会导致系统的稳定性下降。
路由节点和协调器节点由220 V市电供电,终端节点由电池供电,系统中需要低功耗运行的只有终端节点。
测试终端节点唤醒过程中的电流结果如图3所示。
图3 测试终端节点唤醒过程中的电流结果
图3中,数据收发时长为46 ms,空闲等待时长为456 ms;数据收发电流为9.6 mA,空闲电流为2.2 mA。全过程时长约500 ms,平均电流约为2.88 mA。实测节点休眠电流为4.5 μA(电子纸的睡眠电流约为2 μA)。
设节点睡眠时的平均电流为Is,睡眠时长为Ts;唤醒时的平均电流为Iw,唤醒时长为Tw,则一个睡眠周期Ts+Tw内的平均电流为
根据图3测得的数据,以容量为3.5 V/1000 mAh的干电池为供电电源,要实现单个节点连续工作3年不更换电池,则
节点更新显示内容时功耗会增加,平均电流为10 mA左右,唤醒时长为2 s。但是由于每天更新节点显示内容的次数很少,一般为2~3次,增加的功耗可以忽略。
2.2 组网性能测试
ESL系统的特点是在有限的空间范围内,聚集大量节点。测试时将所有终端节点在短时间内全部唤醒,节点会同时发送数据,导致网络传输压力大,部分节点的数据发送由于冲突碰撞而失败,使得进入休眠所需时间变长。根据所有节点完成一次唤醒—休眠周期的时间长短,可以得出网络的拥挤程度,从而估计实际工作环境中可能出现的状况。
2.2.1 无路由转发测试
若测试节点较少,各节点数据收发时发生碰撞的概率低,数据发送失败而导致重发的次数少,系统能够很快地回到低功耗运行状态。测试结果如表1所示。
表1 无路由转发网络测试结果
由表1可以看出,随着测试节点的数目增加,终端节点在数据收发过程中发生冲突碰撞的概率增加。发生碰撞的所有节点需要重发数据,进一步增加网络中的数据量,严重时有少量节点脱网。节点数目达到150个时,系统的运行效率更低,大量节点在数据发送过程中发生碰撞,部分节点脱网,只有少量节点在多次重发后回到休眠状态。随着进入休眠的节点增加,网络中数据量开始减少,数据收发发生碰撞的概率下降,系统逐渐恢复到低功耗运行状态。
2.2.2 路由转发测试
路由节点和协调器节点都是市电供电,只考虑终端节点的低功耗运行。设协调器直接连接的节点在第0层,需一次路由跳转到达协调器的节点在第1层,两次跳转的在第2层,以此类推。测试结果见表2。
表2 带路由转发网络测试结果
由表2可以看出,路由节点增加ZigBee网络的覆盖范围的同时也会增加网络中的数据量。一个节点直接与协调器通讯只需收发1次数据;每通过一层路由数据收发次数都会加1。如果路由转发的过程中网络发生阻塞,阻塞消失之前该路由上所有待发数据节点会全部被阻塞。这些节点会不断尝试重发,失败多次直至脱网。单纯添加路由节点无法解决网络覆盖的问题,节点少时系统可以正常运行,随着节点数目的增加,网络质量会急剧下降,甚至会出现系统崩溃。
将协调器作为唯一的数据转发接口,有一定的局限性,当网络中节点数目多或数据量大时,网络质量会变差。货架标签节点数目庞大,只有解决网络拥堵问题,系统才能正常运行。另外,货架标签分布在超市各处,需要网络有足够的覆盖范围。如何在保证网络质量的前提下实现网络覆盖范围广,是ESL系统所面临的另一问题。要解决这2个问题,文献[10]给出2种方法:1) 通过控制节点的休眠时间,人为错开节点数据发送;2) 修改网络结构,重新设计路由节点,使其能够直接将数据发送给上位机,减少数据量。前者通过上位机控制各节点的睡眠时间,使节点分批次唤醒,减少数据发送过程中的冲突碰撞,确保系统的稳定运行;后者将协调器的工作分散到各个路由,数据到达路由后无需再次转发,而是直接通过其他途径发至上位机,以此减少无线传输数据量,从而减少网络阻塞[11]。
错开数据发送时间治标不治本,而且以牺牲系统及时性为代价。超市对商品标签修改有时限规定,过度自由地设置唤醒时间,可能会导致目标节点无法在限定时间内唤醒,以致耽误标签变价。故本设计重新设计路由节点。
考虑到RS232传输数据对距离限制较大,改为以太网传输。此时路由节点和协调器为沟通ZigBee网络和以太网的网关,增加控制芯片负担,故选择ATSAM4E16E芯片,其有Cortex-M4内核,1024 kB的Flash,128 kB的SRAM和以太网接口,并提供了相应的嵌入式以太网协议LWIP。将ATmega256rfr2的路由节点通过串口与ATSAM4E16E的以太网模块相连,构成沟通ZigBee网络和以太网的网关。
添加网关路由后的系统结构如图4所示,虚线表示无线网络连接,实线表示以太网连接。测试结果如表3所示。
表3 改进后的测试结果
对比表2和表3可知,改进后的ESL控制系统无论是网络质量还是覆盖范围都有一定改善;路由层数的增加对网络质量影响不大,系统性能有了很大的提高。
ESL系统设计的出发点是节省人力成本,主要体现在2方面:1) 远程批量修改标签显示内容,无需人力逐个修改;2) 可以长时间低功耗稳定运行无需更换电池。若将ESL系统投入使用,还需要提供友好的人机界面,对货架标签的外观进行设计与优化,并在实际的运行环境中做相关测试,这些内容不在本文的论述范围以内。
[1] 姚婧如.美国零售商试用电子货架标签[J].中国防伪报道,2009(4):56-57.
[2] 叶国欣,吴忻生,冯太合.基于ZigBee的超低功耗电子货架标签系统[J].科学技术与工程,2013,13(32):9719-9724.
[3] 邱明华.短距离无线通信在电子货架标签中的应用[D].北京:北京交通大学,2011.
[4] 百度百科[M].电子纸,2014.10.http://baike.baidu.com/ view/414884.htm?fr=Aladdin.
[5] 刘丽萍.无线传感器网络节能覆盖[D].杭州:浙江大学,2006.
[6] 谈佳.ZigBee网络的节能方案—一种基于负载均衡的ZigBee网络分群设计与实现[D].广州:华南理工大学,2011.
[7] IEEE 802. 15. 4 Standard, Wireless MAC and PHY Specifications for Low-Rate WPANS[S], 2006.
[8] Atmel. Atmel AVR2050:Atmel BitCloud Developer Guide[M]. http://www.atmel.com.
[9] Atmel. BitCloud Stack API Reference[M]. http://www.atmel. com.
[10] 杨顺,章毅.基于ZigBee和以太网的无线网关设计[J].计算机系统应用,2010,19(1):194-197.
[11] Lee Woo Suk, Hong Seung Ho. Implementation of a KNX-ZigBee Gatewayfor Home Automation[J].IEEE,2009: 545-549.
A Low-Power Data Transmitting Network Based on ZigBee
Wu Zhuoran Hu Yueming Feng Taihe
(School of Automation Science and Engineering, South China University of Technology)
In this paper, a method to alleviate the pressure of data transmitting is put forward. The ATmega256rfr2 is used as the controller of terminal node, and ATSAM4E16E is taken as the controller of gateway between ZigBee and internet. A network for data transmitting between ZigBee network and internet is constructed. It can reduce the data collision and ensure the system running in Low power consumption.
ZigBee; Gateway; Low Power Consumption; Electronic Shelf Label
吴卓然,男,1989年生,硕士研究生,主要研究方向:无线传感网络。
胡跃明,男,1960年生,教授、博士生导师,兼精密电子制造装备教育部工程研究中心主任,主要研究方向:非线性系统控制、机器视觉及精密电子制造。
冯太合(通讯作者),男,1976年生,讲师,主要研究方向:工业自动化系统集成与控制。E-mail: 2631159080@qq.com