|
@
在这一章中,我们将一起来看一下zigbee的几个基本概念。当然,由于zigbee协议的复杂性,暂时只介绍下后面将提到的几个功能中用得到的概念。对于一些深入的概念的理解,将在介绍模块的API模式时,再进行补充。
一、Zigbee基本概念介绍
Zigbee是一种基于802.15.4物理层协议、支持自组网、多点中继,可实现网状拓扑的复杂的组网协议,加上其低功耗的特点,使得网络间的设备必须各司其职,有效地协同工作。
1、Zigbee网络的设备类型
在Zigbee网络中,有三种不同类型的设备,分别叫做:协调器(Coordinator)、路由器(Router)和终端节点(End Device),如下图所示:
1.1 协调器的功能特点
>选择一个频道和PAN ID,组建网络
>允许路由和终端节点加入这个网络
>对网络中的数据进行路由
>必须常电供电,不能进入睡眠模式
>可以为睡眠的终端节点保留数据,至其唤醒后获取。
1.2 路由器的功能特点
>在进行数据收发之前,必须首先加入一个zigbee网络
>本身加入网络后,允许路由和终端节点加入
>加入网络后,可以对网络中的数据进行路由
>必须常电供电,不能进入睡眠模式
>可以为睡眠的终端节点保留数据,至其唤醒后获取。
1.3 终端节点的功能特点
>在进行数据收发之前,必须首先加入一个zigbee网络
>不能允许其他设备加入
>必须通过其父节点收发数据,不能对网络中的数据进行路由
>可由电池供电,进入睡眠模式
协调器在选择频道和PAN ID组建网络后,其功能将相当于一个路由器。协调器或者路由器均允许其他设备加入网络,并为其路由数据。
终端节点通过协调器或者某个路由器加入网络后,便成为其“子节点”;对应的路由器或者协调器即成为“父节点”。由于终端节点可以进入睡眠模式,其父节点便有义务为其保留其他节点发来的数据,直至其醒来,并将此数据取走。
2、PAN ID
PAN的全称为Personal Area Networks,即个域网。每个个域网都有一个独立的ID号,即称为PAN ID。整个个域网中的所有设备共享同一个PAN ID。Zigbee设备的PAN ID可以通过程序预先指定,也可以在设备运行期间,自动加入到一个附近的PAN中。
二、寻址
1、Zigbee设备的地址类型
Zigbee设备有两种不同的地址:16位短地址和64位IEEE地址。其中64位地址是全球唯一的地址,在设备的整个生命周期内都将保持不同,它由国际IEEE组织分配,在芯片出厂时已经写入芯片中,并且不能修改。而短地址是在设备加入一个zigbee网络时分配的,它只在这个网络中唯一,用于网络内数据收发时的地址识别。但由于短地址有时并不稳定,由于网络结构的变化会发生改变,所以在某些情况下必须以IEEE地址作为通讯的目标地址,以保证数据有效送达。
2、FBee的地址分配方法
FBee采用的是最新的Zigbee Pro的协议栈,在此版本的协议栈中:首先,在任何一个PAN中,短地址0x0000都是指协调器。而其他设备的短地址是随机生成的。当一个设备加入网络之后,它从其父节点获取一个随机地址,然后向整个网络广播一个包含其短地址和IEEE地址的“设备声明”(Device Announce),如果另外一个设备收到此广播后,发现与自己地址相同,它将发出一个“地址冲突”(Address Conflict)的广播信息。有地址冲突的设备将全部重新更换地址,然后重复上述过程,直至整个网络中无地址冲突。
3、FBee设备的短地址变化说明
在FBee的“透传”、“采集”与“控制”几大功能中,设备地址是至关重要的一个参数,只有地址设置正确,通讯才能按照预期进行。在此有必要对地址的使用进行详细的说明。
3.1 协调器和路由器的短地址
协调器的短地址为0x0000,不会发生变化。而FBee的路由器短地址,是在其第一次上电时,按照上文2的规则,由其父节点成功分配一次之后,保存在内部flash中,以后无论如何开关机都将保持不变。
值得一提的是,正是由于这种简单的网络结构,用户可以选择一个协调器+n个路由器的方式来组成一个无“低功耗”需求的网络,进行“无线透传”等应用,简单地使用短地址即可保证数据送达至正确的设备。
3.2 终端节点的短地址
上述协调器+路由器的方式可以满足部分应用,但无法体现Zigbee自组网与低功耗的优势。这时就要发挥终端节点的特点。FBee终端节点的使用,将在后续章节中详细说明,此处仅介绍其短地址变化规律与长地址的使用。
FBee终端节点可实现Zigbee的“自组”、“自愈”功能。每次打开终端节点的电源,它将自动检查其附近的路由器/协调器与其连接的信号质量,选择信号质量最好的路由为其父节点加入网络。在加入网络之后,它将周期性地发送数据请求(MAC data requests),如果其父节点没有对其请求进行响应,并且重试几次后,仍无响应,则判定为父节点丢失,此时终端节点将重复上述过程,重新寻找并加入网络。
注:由于FBee遵循的是Zigbee Pro的规范,重新加入新的父节点后,其短地址将保持不变。但在Zigbee 2007协议中,由于采用的是树型的固定地址方式,在更换父地址后,节点短地址会发生变化。
3.3 利用节点的长地址进行寻址
由于短地址的可变性,在具备可移动节点(End Device)的网络中,最好使用长地址进行通讯,以确保数据送到正确的设备中。FBee模块可实现设备的长地址寻址,仅需一个简单的ATDL指令即可。具体的操作将在后续章节进行介绍。 |
|