ZigBee规范各层原语及其功能概述
一、物理层服务规范
1、物理层数据服务
(1)请求原语PD-DATA.request:
PD-DATA.request由MAC层发送到本地物理层,以请求发送MPDU(即物理层服务数据单元PSDU)。
(2)确认原语PD-DATA.confirm:
PD-DATA.confirm由物理层发送到MAC层,对PD-DATA.request原语做响应。
(3)指示原语PD-DATA.indication:
PD-DATA.indication指示一个MPDU从物理层传到本地MAC层。
2、物理层管理实体服务
(1)PLME-CCA
PLME-CCA.request原语请求PLME执行空闲信道评估(CCA)。MAC层CSMA算法要求执行信道空闲评估时,MLME就
产生一个PLME-CCA.request原语并发送给PLME。
待物理层收到请求后,如果设备处于接受使能状态,则PLME要求物理层进行信道评估。物理层完成CCA后,PLME向
MLME发送一个PLME-CCA.confirm原语,根据CCA结果向MAC层提供信道状态:信息繁忙(BUSY)或空闲
(IDLE)。
(2)PLME-ED
PLME-ED.request原语请求PLME执行能量检测(ED)。如果设备收到请求后正处于接受使能状态,PLME则要求物理
层执行能量检测。
物理层完成ED后,PLME向MLME发送一个PLME-ED.confirm原语,报告能量检测成功(SUCCESS)和测得的信道能
量等级。
(3)PLME-GET
PLME-GET.request原语向PLME请求物理层PIB相关属性的值。
如果在数据库中找不到请求的PIN属性标识,待收到请求后,PLME向MLME发送一个PLME-GET.confirm原语,此时参
数status为”不支持的属性“(UNSUPPORTED_ATTRIBUTE)。
(4)PLME-SET
PLME-SET.request原语向PLME请求设置物理层PIB相关属性的值。
如果在数据库中找不到请求的PIN属性标识,待收到请求后,PLME向MLME发送一个PLME-GET.confirm原语,此时参
数status为”不支持的属性“(UNSUPPORTED_ATTRIBUTE)。
(5)PLME-SET-TRX-STATE
PLME-SET-TRX-STATE.request也是由MLME产生并向PLME请求改变收发机内部的工作状态。
响应的原语PLME-SET-TRX-STATE.confirm向MLME报告PLME-SET-TRX-STATE.request的请求结果。
二、介质访问控制层
1、MAC层数据服务原语
(1)MCPS-DATA
MCPS-DATA.request原语请求是从本地SSCS实体向一个对等的SSCS实体发送SPDU(即MAC服务数据单元MSDU)。
当SSCS层有数据需要发送时,就产生该原语并传递至MAC层。MCPS-DATA.confirm原语是对MCPS-DATA.request的响
应,由MAC层产生并向SSCS报告请求发送MSDU的结果。
MCPS-DATA.indication原语由对等的MAC层产生,并发给本地SSCS,用以指示收到一个MSDU。
(2)MCPS-PURGE
MCPS-PURGE.request原语允许更高层向MAC层请求撤销事务队列中的数据发送事物。
接收到MCPS-PURGR.request原语后,MAC层在事物队列中如果找到和句柄匹配的MSDU,则把MSDU从队列删除并向
SSCS返回一个状态为SUCCESS的MCPS-SURGE.confirm确认原语。反之,如果找不到和句柄匹配的MSDU,则MAC层
向SSCS返回一个状态为INVALID_HANDLE的MCPS-PURGE.confirm确认原语。
2、MAC管理服务
(1)PAN网络启动原语MLME-START
MLME-START.request原语由上层发送到MLME层,请求设备开始新的超帧配置。
一个完整的超帧配置更新过程应包括确认原语MLME-START.confirm对请求原语的响应。
(2)信标通知原语MLME-BEACON-NOTIFY
信标通知原语MLME-BEACON-NOTIFY.indication把MAC层接收到的信标帧的信息参数传递给上层,同时发送了数据包
链路质量(LQ)的测量和信标帧接收时间。
(3)信道扫描原语MLME-SCAN
信道扫描原语MLME-SCAN.request按照指定的信道列表启动信道扫描。
主动扫描和被动扫描的结果是记录一组PAN描述符的值,并由MLME通过MLME-SCAN.confirm原语向上层报告。
(4)保证时隙GTS管理原语MLME-GTS
GTS请求原语MLME-GTS.request由设备用以向PAN协调器请求分配一个GTS或撤销已分配的GTS。
收到GTS请求原语后,设备MLME就根据原语中携带的信息产生一个GTS请求命令发送给协调器。如果MLME成功地发
送了一个GTS请求命令,MLME将会期待一个返回确认(Ackonwledgement)。
如果PAN协调器能够分配所请求的GTS,它将其上层发送带有已分配GTSCharacteristic参数的MLME-GTS.indication原
语,该描述符具有已分配的GTS特征和请求设备的短地址码。
(5)关联原语MLME-ASSOCIATE
MLME-ASSOCIATE.request请求原语有尚未关联的设备上层产生,并发送到MLME以请求关联到一个协调器。
待接收到关联请求命令后,协调器MLME就向上层发出MLME-ASSPCIATE.indication关联指示原语。
待接收到关联指示命令后,协调器上层将通过算法来决定接受或拒绝设备的关联请求,接着向协调器MLME发出关联
响应原语MLME-ASSOCIATE.response。
如果请求关联设备的MLME收到来自协调器的关联响应命令帧,应向其上层发送关联确认原语MLME-
ASSOCIATE.confirm。
(6)解关联原语MLME-DISASSOCIATE
一个关联设备欲离开PAN网络,可以通过发送MLME-DISASSOCIATE.request原语告之协调器。
收到解关联通知命令后,MLME就向上层发出解关联指示原语MLME-DISASSOCIATE-ATE.indication,并通告解关联的原因。
(7)同步原语MLME-SYNC
MLME-SYNC.request原语通过获得或者追踪信标帧来请求与协调器取得同步。
(8)失步原语MLME-SYNC-LOSS
MLME-SYNC-LOSS指示原语表明了设备与协调器失去同步。
(9)孤立通知原语MLME-ORPHAN-NOTIFY
MLME-ORPHAN-NOTIFY.indication指示原语由协调器的MLME层产生,在协调器收到孤立设备发出的孤立通知命令
后,该原语会被发送到上层以指示一个孤立设备的存在。
协调器MLME接收到孤立指示原语后,上层判断该孤立设备之前是否曾与协调器关联,并向MLME发送带有判断结果
的孤立响应原语MLME-ORPHAN-NOTIFY.response。
(10)数据请求原语(轮询原语)MLME-POLL|
MLME-POLL.request原语由设备高层产生,其要求从协调器中请求数据。
(11)接收机状态使能原语MLME-RX-ENABLE
MLME-RX-ENABLE.request原语允许MAC层向上层请求在一定时间内使能接收机。
(12)通信状态原语MLME-COMM-STATUS
通信状态原语MLME-COMM-STATUS.indication由MLME产生,并发送到上层。
(13)PIB属性读取原语MLME-GET
MLME-GET.request原语用来获取指定PIB属性的值。
(14)PIB属性设置原语MLME-SET
MLME-SET.request请求原语由高层产生,并发送到MLME层,已请求设置指定的MAC
PIB属性。
(15)MAC子层复位原语MLME-RESET
MLME-RESET.request请求原语由上层产生,并发送到MLME以请求MAC子层重新设置到初始状态。
三、网络层规范
1、网络层数据服务原语
网络层数据服务原语NLDE-DATA
NLDE-DATA.request:请求网络层数据服务。
NLDE-DATAconfirm:报告从本地APS子层实体向一个对等的APS子层实体请求数据单元(APDU)的请求。
NLDE-DATA.indication:向本地APS子层实体通知数据单元到来.
2、网络层管理服务原语
(1)网络发现原语NLME-NETWORK-DISCOVER
NLME-NETWORK-DISCOVER.request:请求网络层发现邻居路由。
NLME-NETWORK-DISCOVER.confirm:返回邻居网络列表
(2)信道能量扫描原语NLME-ED-SCAN
NLME-ED-SCAN.request:允许上层进行能量扫描,并评估本地区域的信道。
NLME-ED-SCAN.confirm:返回能量测量列表。
(3)网络建立原语NLME-NETWORK-FORMATION
NLME-NETWORK-FORMATION.request:请求设备建立一个新网络。
NLME-NEtWORK-FORMATION.confirm:报告新网络建立的结果。
(4)加入网络原语NLME-JOIN
NLME-JOIN.request:请求设备加入特定的网络。
NLME-JOIN.confirm:请求加入一个网络的返回结果。
(5)允许设备加入网络原语NLME-PERMIT-JOINING
协调器上层允许设备在一定时间间隔内加入网络
NLME-PERMIT-JOINING.confirm
NLME-PERMIT-JOINING.request
(6)直接加入网络原语NLME-DIRECT-JOIN
请求路由器或协调器将另一个设备作为子设备加入到网络。
NLME-DIRECT-JOIN.request
(7)重入网原语NLME-REJOIN
请求一个设备加入已经加入过的网络
NLME-REJOIN.request
(8)孤立加入网络原语NLME-ORPHAN-JOIN
请求设备搜寻起伏设备并加入网络
NLME-ORPHAN-JOIN.request
(9)离开网络原语NLME-LEAVE
NLME-LEAVE.request:请求自身或其他设备离开网络。
NLME-LEAVE.confirm:向上层通知请求自身或其他设备离开网络的结果。
NLME-LEAVE.indication:通知一个设备来自远程离开网络的请求。
NLME-LEAVE.response:上层响应离开网络的指示原语。
(10)路由启动原语NLME-START-ROUTER
请求一个设备作为路由器
NLME-START-ROUTER.request
NLME-START-ROUTER.confirm
(11)网络层路由发现原语NLME-ROUTE-DISCOVERY
允许上层对一个给定目的地址的设备初始化路由发现
NLME-ROUTE-DISCOVERY.request
(12)信标同步原语NLME-SYNC
允许设备与父设备进行同步,并提取数据
NLME-SYNC.request
(13)MAC层信标失步原语NLME-SYNC-LOSS
允许上层被通知MAC层失步原语
NLME-SYNC-LOSS.indication
(14)网络层属性重置原语NLME-RESET
允许上层执行网络属性重置操作
NLME-RESET.request
NLME-RESET.confirm
(15)网络层属性获取原语NLME-GET
从网络层PIB中读取属性值
NLME-GET.request
NLME-GET.confirm
(16)网络层属性设置原语NLME-SET
对PIB属性进行写操作
NLME-SET.request
NLME-SET.confirm
四、APS层
1、APS层数据服务原语
APSDE-DATA
APSDE-DATA.request:上层向对等的APS子层请求数据服务
APSDE-DATA.confirm:报告从本地更高层实体向一个对等的更高实体请求数据单元(APSDU)的请求
APSDE-DATA.indication:向本地更高层实体通知数据单元到来
2、APS层管理原语
(1)绑定原语APSME-BIND
允许上层请求绑定两个设备
APSME-BIND.request
APSME-BIND.confirm
(2)解绑定原语APSME-UNBIND
允许上层解除两个设备的绑定关系
APSME-UNBIND.request
APSME-UNBIND.confirm
(3)加入组原语APSME-ADD-GROUP
APSME-ADD-GROUP.request:请求设备建立一个新网络。
APSME-ADD-GROUP.confirm:报告新网络建立的结果。
(4)移除组原语APSME-REMOVE-GROUP
将设备(端点)从组中移除
APSME-REMOVE-GROUP.request
APSME-REMOVE-GROUP.confirm
(5)APS层属性获取原语APSME-GET
获取APS子层属性
APSME-GET.request
APSME-GET.confirm
(6)APS层属性设置原语APSME-SET
设置APS子层的属性
APSME-SET.request
APSME-SET.confirm