当前位置:首页 > 模拟 > 模拟
[导读]Zigbee标准具有低速率、低能耗、安全可靠等特点,非常适合于家庭自动化、建筑自动化和工业自动化应用。本文根据国际标准,分析、设计和实现了ZigBee协议栈。采用的单片机Atmega128,它仅有128K字节系统可编程闪存空间和4K字节的内部SRAM, 所以本协议栈没有引入任何操作系统而且采用共享缓冲区进行数据收发和交换以节约有限的存储空间。最终,实现了规范中定义的所有功能,包括网络设备管理和mesh路由。

1 引言
Zigbee是一种新兴的短距离、低速率无线网络技术,主要用于近距离的无线通信,由于具有低功耗、低成本、可扩展以及良好的互操作能力等特性,在工业自动化、建筑自动化以及工业无线领域占有重要地位[1][2][3]。
ZigBee联盟[4]成立于2001年8月,2002年下半年,英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司等四大公司加盟ZigBee联盟,这一事件成为ZigBee技术的里程碑。到目前为止,加盟ZigBee联盟已经涵盖IT领域以及其它行业的200多家企业,其中还包括来自我国的华为技术有限公司和中国科学院沈阳自动化研究所。
2 协议栈架构
Zigbee协议栈软件采用C语言编写,开发环境采用AVR Studio4.12,硬件平台采用的单片机为Atmega128,射频模块采用CC2420。采用的标准是ZigBee 1.0规范[5], 整个协议栈软件采用单线程,考虑到Atmega128内部RAM只有4K的空间,因此,各模块之间采用共享缓冲区进行通信。Zigbee协议栈软件的架构如图1所示。
每个模块具有一个执行函数,用于接收来自底层模块的数据。在数据接收阶段,底层模块将接收到的数据帧在本层解析后,将需要向上层模块发送的数据存放在共享的接收缓冲区,同时通过全局变量的形式向上层模块提供指示原语;在上层模块的执行函数中,首先通过判断来自底层模块的指示原语确定是否存在来自其它节点的数据,如果存在则解析并处理,同时将需要传递给更高模块的数据放入接收缓冲区,同样通过指示原语通知更高层模块。
 500)this.style.width=500;" border="0" />
图1 Zigbee协议栈软件架构
3 网络层的设计与实现
网络层通过两个服务实体分别提供两类服务,它们分别是网络层数据服务和网络层管理服务。1) 数据服务实体:提供数据服务,主要负责数据的发送和接收;2) 管理服务实体:提供管理服务,主要负责网络层的管理和维护,包括网络的发现和创建,设备的加入和离开以及路由的创建与维护。
3.1 数据发送和接收
网络层的数据服务实体负责数据的接收和发送,接收处理模块负责接收数据,发送处理模块负责发送数据。
数据接收和发送处理模块的功能和工作流程如下:
1) 数据接收处理模块
接收处理模块负责从下层接收数据,解析报文的网络层头部,分情况做相应的处理:如果是重复报文,则丢弃;如果是发给本节点的数据报文或者广播报文,则交给上层处理;如果是需要本节点转发的报文,则将报文交给发送处理模块处理。
2) 数据发送处理模块
发送处理模块负责从上层或者接收处理模块中接收数据,根据不同的情况做相应的处理:如果报文的剩余跳数不大于0,则视为“死报文”,丢弃之; 否则需要进行报文发送。首先查找路由表,如果找到了到目的节点的有效路由表项,则根据路由信息将报文发送出去;如果没有,则根据报文的路由发现选项决定是否进行路由发现,以及是通过树型路由发送报文还是等待路由回复消息到达后再发送报文,具体的我们将在3.3节的路由发现和维护中进行详细说明。
3.2 网络设备管理
 ZigBee的网络中包括协调器设备、路由设备和终端节点设备,其中,协调器设备负责创建网络,路由设备可以参与网络路由和数据转发但是终端节点设备只能作为叶子节点而不能参与路由。设备管理主要包括网络的发现和创建以及节点的加入和离开。
节点进行网络通信的第一步是由协调器设备负责创建网络。协调器节点首先进行信道扫描来进行网络发现,根据扫描结果,选择一个最佳的空闲信道并在该信道上创建网络。在协调器节点创建网络后,非协调器节点就可以加入网络了。具体的步骤如下:1)进行网络发现。如果指定了PANID(Personal Area Network ID,个域网ID),则发现相应ID的个域网才进行加入,否则,加入到最先扫描到的网络。2)选择合适的父节点,发送加入网络请求。从邻居节点中选择合适的节点作为自己的父节点,并向其发出加入网络的请求。3)加入网络。通过父节点加入网络,并获得一个16位的网络层地址。
协调器节点创建网络或者非协调器节点加入网络,其实现的难点和关键在于进行网络发现。我们通过设计有限状态机的方法来进行网络发现,其状态转换如图2所示。
 500)this.style.width=500;" border="0" />
图2 网络发现状态转换图

转换图中共有5个状态,各个状态定义如表1所示:
表1网络发现状态定义
500)this.style.width=500;" border="0" />
节点可以通过发送LEAVE_REQUEST请求原语离开网络,也可以通过发送LEAVE_REQUEST请求原语让别的节点离开网络。当节点收到LEAVE_REQUEST请求(来自本节点的应用层或者来自其他节点)时,执行离开网络操作:首先,节点发送离开指示报文LEAVE_INDICATION给所有的邻居节点;然后,邻居节点收到LEAVE_INDICATION后,将该节点从邻居表和路由表等信息中移除;最后,清空本节点网络层信息,离开网络。

500)this.style.width=500;" border="0" />
图3 收到路由请求命令报文后的处理流程
3.3 路由
路由,作为网络层的核心功能之一, 它的设计与开发直接影响着网络的性能,这也是整个协议开发的重点和难点。下面我们将对路由协议的设计,路由发现以及维护分别进行介绍。
当且仅当一个节点要单播发送数据报文但是当前路由表中没有到目的节点的有效路由时,节点向外广播发送路由请求报文RREQ(Route Request)进行路由发现。节点收到路由请求报文后的详细处理流程如图3所示。
当节点收到路由回复报文时,首先查找路由表和路由发现表看是否有对应的项,如果有则更新路由表和路由发现表。如果该节点地址不等于路由回复报文命令负载中的发起节点地址,则需要继续转发该路由回复。节点收到路由回复报文后的详细处理流程如图4所示。
 500)this.style.width=500;" border="0" />
图4 收到路由回复命令报文后的处理流程
4 结论
根据ZigBee协议国际规范,设计和开发了具有我国自主知识产权的ZigBee协议栈。本文,我们针对Atmega128闪存空间有限的特点设计了合适的协议栈软件架构;并且重点对协议栈网络层进行了详细的介绍,主要包括服务实体的定义和划分、网络层的功能描述和实现(如数据收发、设备管理以及路由发现与维护)。
本文作者创新点:为了在有限存储空间上实现ZigBee规范定义的诸多功能,设计实现了共享缓冲区进行数据收发;针对无线网络的链路特点,设计实现了适用于工业环境的无线Mesh网络路由协议,在进行路径选择的时候充分考虑链路质量因素,提高了选路的可靠性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭