当前位置:首页 > 模拟 > 模拟
[导读]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网络路由协议,在进行路径选择的时候充分考虑链路质量因素,提高了选路的可靠性。

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

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

模拟

31144 篇文章

关注

发布文章

编辑精选

技术子站

关闭