-
ZigBee
协议层次分析总结
ZigBee
协议层次及结构
应用层首部
应用层帧
网络层首部
网络层帧载荷
MAC
层首部
前同步码
定界符
帧长
MAC
层帧载荷
物理层帧载荷
FCS
图
1
ZigBee
帧结构
ZigBee
物理层
ZigBee
物理层协议数据单元
(
< br>PPDU
)
又称物理层数据包,
其格式如图所示。
4
字节
前同步码
1
字节
帧定界符
1
字节
帧长度
(7
位
)
保留位
(1
位
)
可变
PSDU
物理层载荷
同步包头
物理层
包头
表
1
物理层帧结构
1
、
前同步码
接收设备根据接收的前同步
码获得同步信息,识别每一位,从而进一步
区分出“字符”
。<
/p>
IEEE802.15.4
规定前同步码由
32
个
0
组成。
2
、
帧定界符
帧定界符
< br>(
SFD
)
用来指示前同步码结
束和数据包的开始,
由
1
字节组成,<
/p>
其值用二进制表示为
11100101
3
、
物理层帧首部
物理层帧首部由
1
字节组成,其中的
7
位用来表示帧的长度,即有效载
荷的数据长度。按
PSDU<
/p>
的不同,长度值有如下表所列几种情况。
帧长度值
/
字节
0~4
5
6~7
8~127
表
2
帧长度值
载荷类型
保留
MPDU
(确认帧)
保留
MPDU
数据帧
4
、
PSDU
域
PSDU
是物理层携带的有效载荷,
也就是欲通过物理层发送出
去的数据。
PSDU
的长度为
0~12
7
字节。当长度值等于
5
字节或大于<
/p>
7
字节时,
PSDU
是
MAC
层的有效帧。
ZigBee
MAC
层
一个完整的
MAC
层帧由帧首部、帧载荷(即数据)和帧尾
3
p>
部分构成。其
中帧首部又有若干个域按一定顺序排列,
但并不是所有的帧中都包含有全部的域。
MAC
层的
帧结构如下图所示。由图可知,帧首部有帧控制域、序列号、地址域
等,其中地址域又包
含目的
PAN
(个人区域网)标识符、目的地址、源
PAN
标识
符和源地址等。
2
字节
帧控制
1
字节
序列号
0/2
字节
目的
PAN
标识符
0/2/8
字节
目的地址
0/2
字节
源
PAN
标识符
0/2/8
字节
源地址
可变
帧载荷
MAC
Payload
(MAC
载荷
)
表
3
MAC
层帧结构
2
字节
FCS
地址域
MHR(MAC
层帧首部
)
MFR
(
帧尾
)
1
、
帧控制域
帧控制域的长度为
16
位,其结构如下表所示。
位序
0~2
3
4
5
6
7~9
帧类型
未处理
安全允
数据标
许控制
记
请求确
认
P
AN
内
部标记
保留
10~11
目的地
址模式
12~13
保留
14~15
源地址
模式
表
4
帧控制域格式
(
1
)
帧类型
(
Frame Type
)
子域的长度为
3
位
,
其代表的类型如下表所示。
帧类型
b2 b1 b0
000
001
010
011
100~111
描述
信标帧(
Beacon
)
数据帧(
Data
)
< br>
确认帧(
Acknowledgement
)
MAC
命令(
Command
)
保留(
Reserved
)
表
5
帧类型子域描述
(
2
)
安全允许控制(
Security Enabled
)子域的长度为
1
位,如果该位置
1
,
则对该帧按预定的方案进行加密处理后再传送到物
理层;为
0
时,不
进行加密处理。
p>
(
3
)
未处理数据标记
(
Frame Pen
ding
)
子域的长度为
1
位,
如果该位置
1
,
p>
则表示除该帧的数据外,本设备中还有应发送给对方的数据。因此,
接收该帧的设备应向发送方再次发送请求数据命令,直到所有的数据
都传送完。若发送设
备中已没有要发送给接收方的数据,则该位为
0.
(
4
)
请求确认(
Ack
Request<
/p>
)子域的长度为
1
位,置
1
时,接收方接收到
有效帧后应向发送方发送确认帧;
为
0
时接收方不需要发送确认帧。
(
5
)
PAN
内部标记(
Intra
PAN
)子域的长度为
1
位,置
1
时,表示该
MAC
帧在本身所属的
PAN
内传输,
这时帧的地址域中不包含源
PAN
标识符;
为
0
时,表示该帧是传输到另外一个
PAN
,帧中必须包含源和目的的
PAN
标识符。
(
6
)
目的地址模式(
Dest
Addressing
Mode
)子
域的长度和源地址模式
(
Source Addressing
Mode
)子域的长度均为
2
位,表示
的意义如表所
示。
地址模式值
b1 b0
00
01
10
11
表
6
地址模式
描述
PAN
标识符和地址子域不存在
保留
包含
1
6
位段地址子域
64
位扩展地址子域
2
、
序列号子域
帧序列号子域的长度为<
/p>
8
位,它是帧的唯一序列标识符。在协议栈初始
< br>化时,软件将它们置为随机的值,在通信过程中,每生成一个帧,其相应的
序列号
加
1
,并将其值插入到帧的序列号子域。如果需要确认,则接收
方将
接收到的数据帧或者命令帧中的序列号作为确认帧的序列号。如果发送方在
规定的时间里没有接收到对方的确认,则发送方使用原来的序列号重新发送
该帧。可见,接收方可以根据帧中的序列号来判断接收的帧是否是新的。
3
、
目的<
/p>
PAN
标识符子域
目的
PAN
标识符子域的长度为
1
6
位,它是接收该帧的设备所在
PAN
的
唯一标识符。当标识符的值为
0xFFFF
< br>时,代表该帧为广播方式,即在同一信
道上的所有设备都可以接收该帧。仅在帧控
制子域的目的地址模式为非
00
时,本子域才存在。
4
、
目的地址子域
该地址是接收帧设备的
地址。根据帧地址控制子域不同的情况,目的地
址为
16
位或
64
位。地址
0
xFFFF
是广播地址。同样,仅在帧控制子域的目的
地址模式
为非
00
时,本子域才存在。
5
、
源
p>
PAN
标识符子域
源
p>
PAN
标识符子域的长度为
16
位,它是发送该帧的设备所在
PAN
的唯
一标识符。仅在帧控制子域的源地址模式为非
00
和内部
PAN
标记位为
0
时,本
子域才存在。
PAN
标识符在
PAN
建立时有
PAN
p>
协调器确定,若与其他的
PAN
标
识符冲突,协调器应能自行解决。
6
、
源地址子域
该地址是帧发送设备的地
址。与目的地址子域相同,根据帧地址控制子
域不同的情况,源地址为
< br>16
位或
64
位。同样,仅在帧
控制子域的源地址模
式为非
00
时,本
子域才存在。
7
、
帧有效载荷
帧有效载荷即帧传送的数
据,其长度视具体帧而定,最长为最长物理帧
长度减去
MAC<
/p>
帧头长度。
8
、
帧校验子域
帧校验子域包含一
16
位的
CRC
校验
码。校验码包含对帧头和载荷部分
的校验。
ZigBee
网络层
网络帧通用结构
与一般的帧结构类似,由帧首部和有效载荷部分组成,如表
p>
7
所示。
2
字节
帧控制域
2
字节
目的地址
2
字节
源地址
0/1
字节
广播半径域
路由域
0/1
字节
广播序列号
可变长
帧载荷
网络帧首部
表
7
网络层帧通用结构
网络帧有效
载荷
1
、
帧控制域
帧控制域长度为
16
位,其中包含了帧的类型、地址、序列号及其他
一些信息。其结构如表
8
所示。
位序
0~1
帧类型
2~5
协议版本
6~7
发现路由
表
8
帧控制域结构
8
保留
9
安全性
10~15
保留
(
1
)
帧类型子域
帧类型子域长
2
位,取值为
0x00
代
表数据帧,取值为
0x01
则代
表命令
帧,其他值目前保留不用。
(
2
)
协议版本子域
协议版本子域长
4
位,其值代表了所实现的
ZigBee
p>
协议的版本。
通常该值保存在网络层常量
n
wkcProtocolVersion
中,目标
ZigBee
协议
的版本为
0x01
。
(
3
)
发现路由子域
发现路由子域长
2
位,相应的发现路由算法标识如下表所示。
路由发现子域值
功能描述
0x00
0x01
0x02
0x03
表
9
发现路由子域
压缩路由发现
使能路由发现
强迫路由发现
保留
(
4
)
安全子域
安全子域长
1
位,当需要对网络层帧进行安全处理时,应将该子
域置
p>
1
。
2
、
目的地址域
目的地
址域长度为
2
字节,其值为
16
位的目的设备网络地址,它就
是目的设备
MA
C
层的
IEEE802.15.4
的网
络地址,
或者是广播地址
0xFFFF
。
3
、
源地址域
源地址域是发送帧的设备的地址,与目的地址域相似。
4
、
广播半径域
广播半径域总是存在,<
/p>
长度为
1
字节。
其值规定了广播帧的传输范围。
在传输时,每个设备接收一次广播帧,并将该域的值减<
/p>
1
。
5
、
广播序列号域
序列号
域在每一个帧中都存在,
其长度为
1
字
节。
设备每发送一个新
的帧,
该值会加
1.
通常帧的序列号与它的源地址域一起用来唯一识别一个
p>
帧,以避免
1
字节长序列号会产生的混淆。
6
、
帧载荷域
帧载荷的长度可变,是帧传送的数据。
数据帧的结构
与通用帧结构完全相同
。其帧控制域的类型子域应为
0x00
,以表
-
-
-
-
-
-
-
-
-
上一篇:大学英语专业八级词汇
下一篇:春奥鹏《现代远程学习概论》在线作业1多选题