首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
ZigBee协议网络层的设计与实现
来源:本站整理  作者:佚名  2009-07-08 10:48:16



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所示。
每个模块具有一个执行函数,用于接收来自底层模块的数据。在数据接收阶段,底层模块将接收到的数据帧在本层解析后,将需要向上层模块发送的数据存放在共享的接收缓冲区,同时通过全局变量的形式向上层模块提供指示原语;在上层模块的执行函数中,首先通过判断来自底层模块的指示原语确定是否存在来自其它节点的数据,如果存在则解析并处理,同时将需要传递给更高模块的数据放入接收缓冲区,同样通过指示原语通知更高层模块。
 
图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所示。
 
图2 网络发现状态转换图

转换图中共有5个状态,各个状态定义如表1所示:
表1网络发现状态定义

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:76,328.13000 毫秒