ZigBee的3.0堆栈
用户指南
JN-UG-3113修订
版1.5 11月2018
ZigBee的3.0栈用户指南
2
©恩智浦半导体2018
JN-UG-3113 V1.5
内容
内容
前言
组织
约定
缩略语
相关文件
支持资源
商标
芯片兼容性
第一部分:
概念和操作信息
1. ZigBee的概述
1.1 ZigBee网络节点
1.2的ZigBee PRO网络拓扑
1.3 ZigBee的应用的理想
1.4无线射频操作
1.5电池供电组件
1.6易于安装和配置
1.7高可靠运行
1.8安全的操作环境
1.9共存和互操作性
1.10设备类型和集群
1.10.1集群
1.10.2设备类型
2. ZigBee PRO协议架构和操作
2.1结构概述
2.2网络层次的概念
2.2.1 ZigBee节点
2.2.2网络拓扑
2.2.3邻居表
2.2.4网络寻址
2.2.5网络身份
2.3网络创建
ZigBee的3.0堆栈
用户指南
3
15
15
16
17
18
18
18
18
21
22
23
24
25
27
28
29
三十
31
32
32
32
33
33
35
35
36
37
38
39
40
JN-UG-3113 V1.5
©恩智浦半导体2018
3
内容
2.3.1启动网络(统筹)
2.3.2加入网络(路由器和终端设备)
2.4应用层次的概念
2.4.1多个应用程序和端点
2.4.2描述符
2.4.2.1简单描述符
2.4.2.2节点描述
2.4.2.3节点电源描述符
2.4.3应用程序配置文件
2.4.4设备类型
2.4.5集群和属性
2.4.6发现
2.4.7 ZigBee设备对象(ZDO)
2.5网络路由
2.5.1消息寻址和传播
2.5.2路由发现
2.5.3“多对一一个”路由
2.6网络通信
2.6.1服务发现
2.6.2绑定
2.7详细架构
2.7.1软件级别
3. ZigBee协议栈软件
3.1软件概述
3.1.1的ZigBee PRO的API
3.1.2 JCU的API
3.2小结API功能的
4.应用程序开发概述
4.1开发环境和资源
4.1.1开发平台
4.1.2 ZigBee的3.0 SDK
4.2支持资源
4.3发展阶段
5.应用编码与ZigBee PRO协议的API
5.1形成和结合网络
5.1.1启动统筹
5.1.2启动路由器和终端设备
5.1.3预确定家长
5.2发现网络
5.2.1获取网络属性
5.2.2查找兼容的端点
40
41
42
42
42
42
43
43
43
44
44
45
46
47
47
48
49
50
50
51
53
54
57
57
58
59
60
61
61
61
62
63
63
65
67
68
69
71
72
72
72
4
©恩智浦半导体2018
JN-UG-3113 V1.5
5.2.3获得和维持节点地址
5.2.3.1获得IEEE地址
5.2.3.2获取网络地址
5.2.4获取节点属性
5.2.5维护主发现缓存
5.2.6发现路线
5.3管理组地址
5.4绑定
5.4.1设置绑定请求服务器
5.4.2绑定端点
5.4.3端点解除绑定
5.4.4访问绑定表
5.5传输数据
5.5.1发送数据
5.5.1.1单播
5.5.1.2广播
5.5.1.3组播组
5.5.1.4上限的传送
5.5.1.5 PAN间传输
5.5.2接收数据
5.5.3轮询数据
5.5.4安全的数据传输
5.6离开并重新加入网络
5.6.1离开网络
5.6.2重新加入网络
5.7返回代码和扩展错误处理
5.8实现ZigBee的安全性
5.8.1安全级别
5.8.2安全密钥类型
5.8.3设置ZigBee的安全性
5.8.3.1网络级安全建立
5.8.3.2应用级安全建立
5.8.4安全密钥修改
5.8.4.1网络密钥修改
5.8.4.2应用链路密钥修改
5.9使用支持软件功能
5.9.1消息队列
5.9.1.1通用队列管理
5.9.1.2标准协议栈队列
5.9.2软件定时器
5.9.2.1设置定时器
5.9.2.2操作计时器
5.9.3临界区和互斥(Mutex的)
5.9.3.1实现临界区
5.9.3.2实现一个互斥
5.10高级功能
5.10.1终端设备老化
ZigBee的3.0堆栈
用户指南
73
74
74
75
79
79
80
80
81
81
82
82
83
83
84
85
85
86
87
88
89
89
90
90
91
92
93
93
94
96
96
98
99
99
99
100
100
101
101
102
102
103
103
104
105
106
106
JN-UG-3113 V1.5
©恩智浦半导体2018
五
内容
5.10.2分布式安全网络
在LQI值/链路成本5.10.3过滤数据包
5.10.3.1链路成本
5.10.3.2包过滤操作
5.10.3.3包过滤配置
5.10.4设备权限
第二部分:
参考信息
6. ZigBee设备对象(ZDO)API
6.1 ZDO API函数
6.1.1网络部署功能
ZPS_eAplZdoStartStack
ZPS_vDefaultStack
ZPS_eAplZdoGetDeviceType
ZPS_eAplZdoDiscoverNetworks
ZPS_eAplZdoJoinNetwork
ZPS_eAplZdoRejoinNetwork
ZPS_eAplZdoDirectJoinNetwork
ZPS_eAplZdoOrphanRejoinNetwork
ZPS_eAplZdoPermitJoining
ZPS_u16AplZdoGetNetworkPanId
ZPS_u64AplZdoGetNetworkExtendedPanId
ZPS_u8AplZdoGetRadioChannel
ZPS_eAplZdoBind
ZPS_eAplZdoUnbind
ZPS_eAplZdoBindGroup
ZPS_eAplZdoUnbindGroup
ZPS_ePurgeBindTable
ZPS_eAplZdoPoll
ZPS_eAplZdoLeaveNetwork
ZPS_vNwkNibSetLeaveAllowed
ZPS_vNwkNibSetLeaveRejoin
ZPS_vSetTablesClearOnLeaveWithoutRejoin
ZPS_vNtSetUsedStatus
ZPS_vNwkSendNwkStatusCommand
ZPS_eAplZdoRegisterZdoLeaveActionCallback
6.1.2安全功能
ZPS_vAplSecSetInitialSecurityState
ZPS_eAplZdoTransportNwkKey
ZPS_eAplZdoSwitchKeyReq
ZPS_eAplZdoRequestKeyReq
ZPS_eAplZdoAddReplaceLinkKey
ZPS_eAplZdoAddReplaceInstallCodes
107
108
108
109
109
111
115
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
137
138
139
140
141
142
143
144
145
146
147
148
149
6
©恩智浦半导体2018
JN-UG-3113 V1.5
ZigBee的3.0堆栈
用户指南
ZPS_eAplZdoRemoveLinkKey
ZPS_eAplZdoRemoveDeviceReq
ZPS_eAplZdoSetDevicePermission
ZPS_bAplZdoTrustCenterSetDevicePermissions
ZPS_bAplZdoTrustCenterGetDevicePermissions
ZPS_bAplZdoTrustCenterRemoveDevice
ZPS_vTcInitFlash
ZPS_vSetTCLockDownOverride
ZPS_psGetActiveKey
ZPS_vTCSetCallback
6.1.3寻址功能
ZPS_u16AplZdoGetNwkAddr
ZPS_u64AplZdoGetIeeeAddr
ZPS_eAplZdoAddAddrMapEntry
ZPS_vPurgeAddressMap
ZPS_u16AplZdoLookupAddr
ZPS_u64AplZdoLookupIeeeAddr
ZPS_u64NwkNibGetMappedIeeeAddr
ZPS_u64GetFlashMappedIeeeAddress
ZPS_bNwkFindAddIeeeAddr
ZPS_vSetOverrideLocalIeeeAddr
ZPS_eAplZdoGroupEndpointAdd
ZPS_eAplZdoGroupEndpointRemove
ZPS_eAplZdoGroupAllEndpointRemove
6.1.4路由功能
ZPS_eAplZdoRouteRequest
ZPS_eAplZdoManyToOneRouteRequest
6.1.5对象句柄功能
ZPS_pvAplZdoGetAplHandle
ZPS_pvAplZdoGetMacHandle
ZPS_pvAplZdoGetNwkHandle
ZPS_psNwkNibGetHandle
ZPS_psAplAibGetAib
ZPS_psAplZdoGetNib
ZPS_u64NwkNibGetEpid
6.1.6可选集群功能
ZPS_eAplZdoRegisterZdoFilterCallback
6.2 ZDO枚举
6.2.1安全密钥(ZPS_teZdoNwkKeyState)
6.2.2设备类型(ZPS_teZdoDeviceType)
6.2.3设备权限(ZPS_teDevicePermissions)
7.应用程序框架(AF)API
7.1 AF API函数
7.1.1初始化函数
JN-UG-3113 V1.5
©恩智浦半导体2018
150
151
152
153
154
155
156
157
158
159
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
188
189
189
191
191
191
7
内容
ZPS_eAplAfInit
ZPS_vAplAfSetMacCapability
ZPS_eAplAibSetApsUseExtendedPanId
ZPS_vExtendedStatusSetCallback
ZPS_bAppAddBeaconFilter
ZPS_eAplFormDistributedNetworkRouter
ZPS_eAplInitEndDeviceDistributed
ZPS_vAplAfEnableMcpsFilter
ZPS_vNwkLinkCostCallbackRegister
7.1.2数据转移功能。
ZPS_eAplAfApsdeDataReq
ZPS_eAplAfUnicastDataReq
ZPS_eAplAfUnicastIeeeDataReq
ZPS_eAplAfUnicastAckDataReq
ZPS_eAplAfUnicastIeeeAckDataReq
ZPS_eAplAfGroupDataReq
ZPS_eAplAfBroadcastDataReq
ZPS_eAplAfBoundDataReq
ZPS_eAplAfBoundAckDataReq
ZPS_eAplAfInterPanDataReq
ZPS_u8AplGetMaxPayloadSize
7.1.3端点功能
ZPS_vAplAfSetEndpointState
ZPS_eAplAfGetEndpointState
ZPS_eAplAfSetEndpointDiscovery
ZPS_eAplAfGetEndpointDiscovery
7.1.4描述功能
ZPS_eAplAfGetNodeDescriptor
ZPS_eAplAfGetNodePowerDescriptor
ZPS_eAplAfGetSimpleDescriptor
7.1.5其他功能
ZPS_vSaveAllZpsRecords
ZPS_bAplAfSetEndDeviceTimeout
ZPS_eAplAfSendKeepAlive
7.2 AF结构
7.2.1描述符结构
7.2.1.1 ZPS_tsAplAfNodeDescriptor
7.2.1.2 ZPS_tsAplAfNodePowerDescriptor
7.2.1.3 ZPS_tsAplAfSimpleDescriptor
7.2.2事件结构
7.2.2.1 ZPS_tsAfEvent
7.2.2.2 ZPS_tuAfEventData
7.2.2.3 ZPS_tsAfDataIndEvent
7.2.2.4 ZPS_tsAfDataConfEvent
7.2.2.5 ZPS_tsAfDataAckEvent
7.2.2.6 ZPS_tsAfNwkFormationEvent
7.2.2.7 ZPS_tsAfNwkJoinedEvent
192
193
194
195
196
197
198
199
200
201
203
204
206
208
210
212
214
216
218
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
235
235
237
238
239
240
240
241
242
243
244
244
8
©恩智浦半导体2018
JN-UG-3113 V1.5