ZigBee基础

IEEE Address节点的8位802.15.4网络地址,也称为长地址。
Network Address节点的2位网络地址,也称短地址。
PAN个人局域网。
PAN ID个人局域网标识符。
HAL协议栈物理抽象层。
PHY协议栈物理层。
MAC协议栈媒体访问控制层。
NWK协议栈网络层。
APS协议栈应用支持层。
APL协议栈应用层。 
对于广播的设备查找消息,各设备的响应如下:
(1)Zigbee终端:发送自己的IEEE或者NWK地址
(2) Zigbee协调器:发送自己IEEE或者NWK地址和与其相连的所有zigbee协调器的IEEE或者NWK地址
(3)Zigbee路由器:发送自己的IEEE或者NWK地址和与其相连的所有zigbee路由器的IEEE或者NWK地址

在Zigbee网络中,节点分为三种类型:协调器、路由器和终端节点。其中ZigBee 协调器(coordinator)节点,每个ZigBee网络必须有一个,它的主要作用是初始化网络信息。ZigBee 路由器(router)节点,它的作用是提供路由信息。ZigBee 终端节点(rfd为终端节点),它有没有路由功能,完成的是整个网络的终端任务。 
ZigBee的体系结构由称为层的各模块组成。每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。
  每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。(1)物理层(PHY)物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。物理层内容:1)ZigBee的激活;2)当前信道的能量检测;3)接收链路服务质量信息;4)ZigBee信道接入方式;5)信道频率选择;6)数据传输和接收。(2)介质接入控制子层(MAC)     MAC层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等MAC实体之间可靠的链路。MAC层功能:
1)网络协调器产生信标;
2)与信标同步;
3)支持PAN(个域网)链路的建立和断开;
4)为设备的安全性提供支持;
5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;
6)处理和维护保护时隙(GTS)机制;
7)在两个对等的MAC实体之间提供一个可靠的通信链路。(3)网络层    ZigBee协议栈的核心部分在网络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能。网络层功能:
1)网络发现;2)网络形成;3)允许设备连接;4)路由器初始化;5)设备同网络连接;6)直接将设备同网络连接;7)断开网络连接;8)重新复位设备;9)接收机同步;10)信息库维护。(4)应用层    ZigBee应用层框架包括应用支持层(APS)、ZigBee设备对象(ZDO)和制造商所定义的应用对象。应用支持层的功能包括:维持绑定表、在绑定的设备之间传送消息。ZigBee设备对象的功能包括:定义设备在网络中的角色(如ZigBee协调器和终端设备),发起和响应绑定请求,在网络设备之间建立安全机制。ZigBee设备对象还负责发现网络中的设备,并且决定向他们提供何种应用服务。
  ZigBee应用层除了提供一些必要函数以及为网络层提供合适的服务接口外,一个重要的功能是应用者可在这层定义自己的应用对象。

---------------------------------------------------------------------物理层数据服务---------------------------------------------------------------------PD-SAP支持两个对等的MAC层实体之间传输MAC协议数据单元(MPDU)。PD-SAP支持的原语一共有三种:PD-DATA.request 、PD-DATA.confirm 和PD-DATA.indication。PD-DATA.request原语由MAC层发送给本地物理层,请求发送MPDU(即物理层服务数据单元(PSDU))。物理层收到PD-DATA.request原语之后,如果设备处于发射使能状态(TX_ON),则物理层先把请求原语提供的PSDU封装成物理层协议数据单元(PPDU),然后开始发送。数据发送成功后,物理层就向MAC层发出状态为SUCCESS的证实原语PD-DATA.confirm。如果设备处于接收使能状态(RX_ON)或者处于发送关闭状态(TRX_OFF),则物理层向MAC层发送状态为RX_ON或TRX_OFF的证实原语PD-DATA.confirm。PD-DATA.confirm原语由物理层发送给MAC层,作为对PD-DATA.request原语的响应。PD-DATA.indication原语指示一个MPDU从物理层传送到本地MAC层实体。此原语由物理层产生并发送给MAC层以提交接收到的PSDU。如果接收到的psduLength字段为0或者大于内部常数aMaxPHYPacketSize,则物理层不产生原语服务。---------------------------------------------------------------------物理层管理服务---------------------------------------------------------------------PLME-SAP允许在MLME和PLME之间传送管理命令。PLME-SAP支持的原语有PLME-CCA、PLME-ED、PLME-GET、PLME-SET-TRX-STATE和PLME-SET。PLME-CCA.request原语请求PLME执行空闲信道评估(CCA)。收到PLME-CCA.request原语后,如果设备处于接收使能状态,PLME就指示物理层进行信道评估。物理层完成CCA后,PLME就向MLME发送PLME-CCA.confirm原语,根据CCA结果提供信道状态信息(BUSY\IDLE)。如果设备处于关闭状态(TRX_OFF)或者发送使能状态(TX_ON),则无法进行信道评估,此时PLME向MLME发送PLME-CCA.confirm原语,指示CCA失败的原因(TRX_OFF或者TX_ON)。PLME-ED.request原语请求PLME执行能量检测(ED)。收到PLME-ED.request原语后,如果设备处于接收使能状态,PLME就指示物理层进行能量检测。物理层完成ED后,PLME就向MLME发送PLME-ED.confirm原语,报告能量检测成功(SUCCESS)和测得的能量信道等级。如果设备处于关闭状态(TRX_OFF)或者发送使能状态(TX_ON),则无法进行能量检测,此时PLME向MLME发送PLME-ED.confirm原语,指示ED失败的原因(TRX_OFF或者TX_ON)。PLME-GET.request原语向PLME请求PHY PIB中的相关属性的值。收到PLME-GET.request原语后,PLME就到数据库中检索该属性。如果从数据库中检索不到请求的PIB属性标识,则PLME就向MLME发送PLME-GET.confirm原语,状态为不支持的属性(UNSUPPORTED_ATTRIBUTE)。如果从数据库中检索到请求的PIB属性标识,则PLME就向MLME发送PLME-GET.confirm原语,状态为SUCCESS,并返回属性值。PLME-SET-TRX-STATE.request原语请求PLME改变收发信机的内部工作状态。收到PLME-SET-TRX-STATE.request原语后,如果改变收发信机工作状态的请求被接受,则PLME-SET-TRX-STATE.confirm的状态为SUCCESS。如果设备当前的收发状态就是请求原语请求的状态,则证实原语status的值为收发信机当前状态。如果请求原语请求改变到状态RX_ON或者TRX_OFF,而此时物理层正在发送一个PPDU,则证实原语的status值为BUSY_TX,并在发送结束后改变到请求的收发信机工作状态。如果请求原语请求改变到状态TX_ON或者TRX_OFF,而此时设备正处于RX_ON状态并且已经接收到有效的帧开始符(FSD),则证实原语的status值为BUSY_RX,并在发送结束后改变到请求的收发信机工作状态。如果PLME-SET-TRX-STATE.request原语的状态为FORCE_TRX_OFF,则不管物理层当前出于什么状态,收发信机将被强制改变到TRX_OFF状态。 
PLME-SET.request原语请求PLME设置或者改变PIB属性的值。如果在数据库中找不到PLME-SET.request原语中的PIB属性,则PLME-SET.confirm原语中的状态值为UNSUPPORTED_ATTRIBUTE,如果PLME-SET.request原语中的PIB属性值超出了有效范围,则PLME-SET.confirm原语中的状态值为INVALID_PARAMETER。如果成功设置了PIB属性值,则PLME-SET.confirm原语中的状态值为SUCCESS。


PLME-SET.request原语请求PLME设置或者改变PIB属性的值。如果在数据库中找不到PLME-SET.request原语中的PIB属性,则PLME-SET.confirm原语中的状态值为UNSUPPORTED_ATTRIBUTE,如果PLME-SET.request原语中的PIB属性值超出了有效范围,则PLME-SET.confirm原语中的状态值为INVALID_PARAMETER。如果成功设置了PIB属性值,则PLME-SET.confirm原语中的状态值为SUCCESS。


所谓直接寻址,是指数据包发送时,需要指定数据包的目的地址值。这里的目的地址值分为2种:
1)64-bit地址,又称为MAC地址或IEEE地址。
每个ZigBee节点都应该有全球唯一的64位IEEE地址。这个地址需要向IEEE组织申请才能使用。通信时,将待发送的数据包的目的地址设为此64位IEEE地址,从而实现数据包的正确投递。
2)16-bit地址,即网络地址,或称为短地址。当一个ZigBee网络形成后,ZigBee网络内的每个节点,都会分配到一个16位的网络地址。通信时,将待发送的数据包的目的地址设为此16位网络地址。

而间接寻址,是使用本地绑定表(local binding table)的方式。协调器或者数据包发送方会保存这个绑定表,而这个绑定表能保存多个目的地。当需要传输数据包时,通过查询绑定表进行投递。

你可能感兴趣的:(ZigBee基础)