ZigBee PHY层

时间:2021-03-02 15:02:46

1. 介绍

ZigBee PHY层,即IEEE 802.15.4 PHY层,这里主要介绍了802.15.4-2003版本

PHY主要实现了如下功能

- 启动和关闭RF收发器
- 信道能量检测(Channel ED)
- 接收数据包链路质量检测(LQI)
- CSMA-CA的信道忙闲评估(CCA)
- 信道频率选择
- 数据的发送和接收

需要注意区分:  收发器(transceiver)、发射器(transmitter)、接收器(receiver)

2. 服务

PHY通过RF固件和硬件为MAC层提供了两种类型的服务:PHY数据服务和PHY管理服务
PHY数据服务使PHY能通过物理无线信道传输和接收PHY协议数据单元(PPDU);PHY管理服务为PLME提供接口

PHY包括一个称为PLME的管理实体;PLME提供了层管理服务接口,通过该接口可以调用层管理功能;PLME还负责维护与PHY有关的被管理对象的数据库,该数据库被称为PHY PIB

其中,PHY数据服务,通过PD-SAP(PHY Data SAP)访问;PHY管理服务,通过PLME-SAP(PLME's SAP)访问

参考模型如下图所示

ZigBee PHY层

2.1 数据服务

PD-SAP支持在对等MAC子层实体之间传输MPDU
PD-SAP支持的原语为PD-DATA;PD-DATA包括Request、Confirm、Indication

2.1.1 PD-DATA request/confirm

PD-DATA.request原语由MAC层发起,向PHY层请求MPDU数据的传输

PHY实体收到该原语并且收发器使能时(TX_ON状态),PHY首先构造包含PSDU的PPDU,然后传输该PPDU;传输完成时,通过PD-DATA.confirm原语反馈结果

该原语语法和参数为

- PD-DATA.request(psduLength, psdu)
- PD-DATA.confirm(status)
psduLength: 待传输PSDU字节数, ~aMaxPHYPacketSize
psdu: 待传输PSDU数据
status: 数据传输结果, SUCCESS、RX_ON、TRX_OFF

2.1.2 PD-DATA Indication

PD-DATA.indication原语指示MPDU从PHY到本地MAC子层实体的传送

该原语由PHY实体生成并发布到其MAC子层实体以传送接收的PSDU;当psduLength为零或大于aMaxPHYPacketSize,则不生成该原语;收到该原语后,MAC层则会被通知一个PSDU的到达

该原语语法和参数为

- PD-DATA.indication(psduLength, psdu, ppduLinkQuality)
psduLength: 待接收PSDU字节数, ~aMaxPHYPacketSize
psdu: 待接收PSDU数据
ppduLinkQuality: PSDU接收时LQ值, 0x00-0xff

2.2 管理服务

PLME-SAP用于在MLME和PLME之间传输管理命令
PLME-SAP支持的原语为PLME-CCA、PLME-ED、PLME-GET、PLME-SET-TRX-STATE、PLME-SET;
每个原语包括Request、Confirm

2.2.1 PLME-CCA

MLME通过PLME-CCA.request原语向PLME请求CSMA-CA信道忙闲评估;
PLME完成CCA后,通过PLME-CCA.confirm原语反馈CCA结果

该原语语法和参数为

- PLME-CCA.request()
- PLME-CCA.confirm(status)
status: TRX_OFF、TX_ON、BUSY、IDLE

2.2.2 PLME-ED

MLME通过PLME-ED.request原语向PLME请求信道能量检测,PLME对PHY执行该操作;
操作完成后PLME通过PLME-ED.confirm反馈结果

该原语语法和参数为

- PLME-ED.request()
- PLME-ED.confirm(status, EnergyLevel)
status: 检测结果, SUCCESS、TRX_OFF、TX_ON
EnergyLevel: 当前信道能量值, 0x00-0xff

2.2.3 PLME-GET

MLME通过PLME-GET.request原语向PLME请求获取PHY PIB Attribute值;
PLME从数据库中检索并通过PLME-GET.confirm反馈对应结果

该原语语法和参数为

- PLME-GET.request(PIBAttribute)
- PLME-GET.confirm(status, PIBAttribute, PIBAttributeValue)
status: 请求结果, SUCCESS、UNSUPPORTED_ATTRIBUTE
PIBAttribute: 待获取PHY PIB attribute
PIBAttributeValue: PHY PIB attribute值

2.2.4 PLME-SET-TRX-STATE

MLME通过PLME-SET-TRX-STATE.request原语请求PLME改变receiver的操作状态,PLME对PHY执行该操作;
操作完成后PLME通过PLME-SET-TRX-STATE.confirm反馈操作结果

该原语语法和参数为

- PLME-SET-TRX-STATE.request(state)
- PLME-SET-TRX-STATE.confirm(status)
state: 请求状态, RX_ON、TRX_OFF、FORCE_TRX_OFF、TX_ON
status: 请求结果或者当前状态, SUCCESS, RX_ON、TRX_OFF、TX_ON、BUSY_RX、BUSY_TX

2.2.5 PLME-SET

MLME通过PLME-SET.request原语向PLME请求写入PHY PIB Attribute值;
PLME将对应数据写入数据库并通过PLME-SET.confirm反馈结果

该原语语法和参数为

- PLME-SET.request(PIBAttribute, PIBAttributeValue)
- PLME-SET.confirm(status, PIBAttribute)
status: 操作结果, SUCCESS、UNSUPPORTED_ATTRIBUTE、INVALID_PARAMETER
PIBAttribute: 待写入PHY PIB attribute
PIBAttributeValue: 待写入PHY PIB attribute值

2.3 枚举描述

下图显示了PHY规范中定义的枚举值的描述

ZigBee PHY层

3. PPDU格式

PPDU, PHY Protocol Data Unit, 即PHY协议数据单元

TIP: 八位字节字段应首先发送或接收最低有效八位字节,并且每个八位字节应首先发送或接收LSB;该规定适用于PHY和MAC子层之间传输的数据传输

3.1 报文格式

PPDU包由以下组成部分

- SHR, Synchronization Header, 允许接收设备同步并锁定比特流
- PHR, PHY Header, 包含帧长度信息
- PHY Payload, MAC层帧数据, 长度可变

通用格式如下图所示

ZigBee PHY层

3.2 字段描述

PPDU各字段含义如下

Preamble: 前导码, 通常为32个二进制零, 收发器用以获得与传入消息的芯片和符号同步
SFD: Start-of-Frame Delimiter, 帧定界符, 8bit, 用来指示前导码的结束和分组数据的开始, 格式如下图

ZigBee PHY层

Frame Length: 帧长度字段, 7bit, 标识PSDU字节数, 取值范围为0~aMaxPHYPacketSize

ZigBee PHY层

PSDU: 可变长度并包含PHY分组数据; 长度为5或者8及以上时, PSDU包含MAC层帧

4. PHY常量和PIB属性

4.1 PHY常量

在PHY中定义了如下两个常量

ZigBee PHY层

4.2 PIB属性

PHY PIB定义了管理PHY所需的属性;可以分别使用PLME-GET.request和PLME-SET.request原语读取或写入

ZigBee PHY层

5. PHY规范

该章节主要介绍了2.4 GHz PHY的规范要求

5.1 速率

2.4GHz PHY速率应为250 kb/s

5.2 调制和扩频

2.4GHz PHY采用16进制准正交调制技术,其调制和扩频功能参考如下图

ZigBee PHY层

5.2.1 Bit-to-symbol映射

Bit-to-symbol将PPDU中包含的所有二进制数据映射到数据符号中

从前导码开始至最后一个八位字节结束,对于每个二进制八位字节先处理最低有效位,然后是高有效位
以一个八位字节为例, 先将其4个LSB(b0,b1,b2,b3)应映射成一个数据符号,随后将4个MSB(b4,b5,b6,b7)映射到下一个数据符号

5.2.2 Symbol-to-chip映射

Symbol-to-chip是将每个数据符号映射到下表中规定的32码片PN(Pseudo-random Noise)序列
其中,PN序列通过循环移位和/或共轭(即,奇数索引的码片值的反转)彼此相关

ZigBee PHY层

5.2.3 O-QPSK调制

O-QPSK调制过程将芯片序列通过半正弦脉冲整形滤波器进行O-QPSK调制至载波
其中,偶数索引的码片调制到I-Phase载波上,奇数索引的码片调制到Q-Phase载波上
因为数据符号由32码片序列表示,所以码片速率(通常为2.0 Mchip / s)是符号速率的32倍;为了形成I相和Q相芯片调制之间的偏移,Q相芯片应相对于I相芯片延迟Tc(Tc是芯片速率的倒数)

ZigBee PHY层

5.2.4 脉冲形状

用于描述基带芯片的半正弦脉冲形状由如下公式描述

ZigBee PHY层

其形状如下

ZigBee PHY层

5.2.5 芯片传输顺序

对于芯片序列的传输,首先发送最低有效位c0,最后发送最高有效位c31

5.3 无线电规范

除满足不同地区监管要求外,在2.4 GHz频段工作的设备还应满足下面的无线电要求

!!! 在下无能,规范这里真心是看不懂!!!

6. 通用无线电规范

这里介绍的无线电规范同时适用于2.4 GHz PHY和868/915 MHz PHY

6.1 TX-to-RX周转时间

TX-to-RX周转时间应小于aTurnaroundTime
其测量方式为从最后发送的符号的后沿开始,直到接收器准备好开始接收下一个PHY分组结束

6.2 RX-to-TX周转时间

RX-to-TX周转时间应小于aTurnaroundTime

其测量方式为从接收分组的最后一个Symbol的最后一个Chip的后沿开始,直到发射器准备好开始发送所得到的确认结束; 实际传输开始时间由MAC子层指定

6.3 误差矢量幅度

误差矢量幅度, EVM(Error-vector magnitude),是在一个给定时刻理想无误差基准信号与实际发射信号的向量差,是衡量一个RF系统总体质量指标

在802.15.4中,通过EVM测量来确定接收器的调制精度
其测量方式为: 捕获N个接收的复合码片值的时间记录ZigBee PHY层 ;对于每个接收到的复合码片,决定传输哪个复合码片值;所选复合码片的理想位置由矢量表示ZigBee PHY层; 误差向量定义为从理想位置到接收点实际位置的距离ZigBee PHY层

其中,接收矢量是理想矢量和误差矢量之和 ZigBee PHY层

ZigBee PHY层

IEEE Std 802.15.4-2003 EVM计算公式如下(S为???)

ZigBee PHY层

IEEE 802.15.4要求1000次chip其EVM值应小于35%

6.4 频率容差

频率容差,frequency tolerance,发射的特征频率偏离参考频率的最大允许偏差,单位为百万分之几(ppm)

传输中心的频率容差最大为±40 ppm

6.5 发射功率

发射功率,transmit power,IEEE 802.15.4规定发射器必须能够发射至少-3dBm; 设备应尽可能传输较低的功率,以减少对其他设备和系统的干扰;最大发射功率受当地监管机构的限制

6.6 接收器最大输入电平

IEEE 802.15.4 接收器最大输入电平应大于或等于-20 dBm

6.7 能量检测

接收器ED的测量旨在作为信道选择算法的一部分由网络层使用,它是IEEE 802.15.4信道带宽内接收信号功率的估计值

ED测量结果通过PLME-ED.confirm上报被MLME,范围为0x00-0xff;最小值0表示接收功率低于规定的接收器灵敏度10dB;ED值跨越的接收功率应至少为40dB;在此范围内,从接收功率(以分贝为单位)到ED值的映射应为线性,精度为±6dB

6.8 LQI

LQI测量是对接收分组的强度和质量的表征;可以使用接收器ED,信噪比估计或这些方法的组合来实现测量;IEEE 802.15.4未规定网络层或应用层对LQI结果的使用

应对每个接收到的数据包执行LQI测量,并使用PD-DATA.indication将结果报告给MAC子层,范围为0x00到0xff;最小和最大LQI值应与最低和最高质量相关联

6.9 CCA

IEEE 802.15.4 PHY应提供根据以下三种方法中的至少一种执行CCA的能力:

- CCA模式1: 能量高于阈值, 在检测到高于ED阈值的任何能量时, CCA应报告介质繁忙
- CCA模式2: 仅限载波侦听, 只有在检测到具有IEEE 802.15.4的调制和扩频特性的信号时, CCA才应报告介质繁忙; 该信号可以高于或低于ED阈值
- CCA模式3: 载波检测能量高于阈值, 只有在检测到具有IEEE 802.15.4的调制和扩频特性且能量高于ED阈值的信号时, CCA才应报告繁忙的媒体

对于任何CCA模式,如果在接收PPDU期间PHY接收到PLME-CCA.request原语,则CCA应报告介质繁忙;在检测到SFD之后,PPDU接收被认为正在进行中,并且它一直在进行,直到已经接收到由解码的PHR指定的八位字节的数量

繁忙信道应由PLME-CCA.confirm原语指示,状态为BUSY;空闲信道应由PLME-CCA.confirm原语指示,状态为IDLE

PHY PIB属性phyCCAMode应指示适当的操作模式
CCA参数符合以下标准:

a) ED阈值应至少比指定的接收机灵敏度高10dB
b) CCA检测时间应等于8个符号周期

参考:
<IEEE 802.15.4-2003>
<End-to-End IEEE 802.15.4 PHY Simulation>