2. UWB物理层与协议栈基础

各位好,咱们今天聊聊 IEEE 802.15.4z 标准。这个标准是 UWB 技术的一个分水岭。2018 年之前,UWB 还停留在 4a 时代,测距精度、抗干扰能力都差点意思。4z 出来之后,才真正把 UWB 推向了消费电子和工业物联网。

我个人习惯把 4z 看作「UWB 的 2.0 版本」。它保留了 4a 的物理层基础,但新增了两个关键模式:HRP 和 LRP。说白了,一个管高性能,一个管低成本。咱们一个一个拆开看。

HRP 与 LRP 模式:两种路线,两种战场

HRP 全称是 High Rate Pulse,高脉冲重复频率模式。它面向的是高精度、高数据率的场景。比如手机上的精准定位、AR/VR 的空间交互。HRP 的脉冲重复频率可以做到 1 MHz 甚至更高,数据率能到 27.24 Mbps。

LRP 呢?Low Rate Pulse,低脉冲重复频率模式。它牺牲了数据率,换来了更低的功耗和更简单的实现。适合传感器网络、资产标签这类电池供电的设备。LRP 的脉冲重复频率通常只有 1 kHz 左右,数据率也低,但功耗能压到微瓦级。

我遇到过不少工程师,上来就问「哪个模式更好?」。其实没有好坏,只有合不合适。你想想看,手机定位需要高刷新率,HRP 是唯一选择。但一个温湿度标签,一年换一次电池,LRP 才是正解。

特性 HRP 模式 LRP 模式
脉冲重复频率 1 MHz ~ 250 MHz 1 kHz ~ 1 MHz
数据率 0.11 ~ 27.24 Mbps 0.11 ~ 1 Mbps
典型功耗 10 ~ 100 mW 0.1 ~ 10 mW
测距精度 ±10 cm 以内 ±30 cm 左右
典型应用 手机定位、AR/VR 资产标签、传感器
我的经验:选型时别只看数据手册。HRP 虽然精度高,但天线设计和时钟同步要求也高。LRP 看似简单,但低功耗下的射频前端匹配反而容易踩坑。我建议先画一个功耗预算表,再决定模式。

前导码结构:同步与测距的基石

前导码是 UWB 帧的头部,负责同步、信道估计和测距。4z 标准定义了两种前导码:SYNC 和 SFD。SYNC 用于粗同步和自动增益控制(AGC),SFD 用于帧起始定界。

HRP 的前导码由多个符号组成,每个符号包含一个特定的脉冲序列。标准里规定了 8 种前导码长度,从 16 个符号到 4096 个符号不等。长度越长,同步性能越好,但开销也越大。

LRP 的前导码更简单。它使用一种叫做「基序列」的结构,长度固定为 31 个符号。嗯,这里要注意,LRP 的 SFD 是嵌入在 SYNC 里的,不像 HRP 那样分开。这种设计是为了降低接收机的复杂度。

我曾经在一个项目中,为了省功耗把前导码长度从 1024 砍到 64。结果在强多径环境下,接收机死活锁不住信号。后来老老实实改回 256,问题才解决。所以前导码长度不是越小越好,得看实际信道条件。

核心要点:前导码长度直接影响测距精度和抗多径能力。HRP 推荐使用 256 或 1024 符号长度,LRP 固定 31 符号。不要为了省几微秒的开销,牺牲整个系统的鲁棒性。

数据帧格式:从 PHR 到 PSDU

UWB 的数据帧分为三部分:SHR(同步头)、PHR(物理层头)和 PSDU(物理层服务数据单元)。SHR 就是咱们刚说的前导码。PHR 携带帧控制信息,PSDU 是真正的数据载荷。

PHR 只有 19 位,但信息量不小。它包含数据率、帧长度、测距标志、前导码长度等。我习惯把 PHR 看作「帧的身份证」,接收机必须先解析 PHR,才知道怎么处理后面的 PSDU。

PSDU 的长度可变,最大 127 字节。对于 HRP,PSDU 可以包含 MAC 帧、安全头、FCS(帧校验序列)。LRP 的 PSDU 更短,通常只有几十字节,因为它的应用场景不需要传大量数据。

// PHR 字段结构(HRP 模式)
// 位 0-2: 数据率索引
// 位 3-4: 前导码长度索引
// 位 5:   测距标志
// 位 6-16: 帧长度(单位:字节)
// 位 17-18: 保留位

uint16_t phr = 0;
phr |= (data_rate_idx & 0x07);        // 数据率
phr |= (preamble_len_idx & 0x03) << 3; // 前导码长度
phr |= (ranging_flag & 0x01) << 5;     // 测距标志
phr |= (frame_length & 0x7FF) << 6;    // 帧长度
避坑指南:我曾经在解析 PHR 时,忽略了帧长度字段的位偏移。结果接收到的 PSDU 长度总是对不上,导致 CRC 校验失败。后来查标准才发现,帧长度是从位 6 开始的,不是位 5。细节决定成败,真的。

安全特性:STS 与 AES-128

4z 标准最大的安全改进,是引入了 STS(加扰时间戳序列)。STS 是一种基于 AES-128 的加密时间戳,用于防止测距欺骗攻击。说白了,就是防止有人伪造测距信号,让你误以为目标在某个位置。

STS 的工作原理是这样的:发送方和接收方共享一个密钥。发送方用密钥加密当前时间戳,生成一个伪随机序列,嵌入到前导码或数据帧中。接收方用同样的密钥解密,验证时间戳是否匹配。如果不匹配,说明信号被篡改过。

HRP 和 LRP 都支持 STS,但实现方式不同。HRP 的 STS 长度可配置,从 32 位到 128 位。LRP 的 STS 固定为 32 位,因为它的计算能力有限。

除了 STS,4z 还支持 AES-128 对 PSDU 进行加密。加密模式是 CCM(Counter with CBC-MAC),同时提供机密性和完整性保护。嗯,这里要注意,STS 和 AES-128 可以同时使用,也可以单独使用。具体看应用场景的安全需求。

我的建议:如果你的产品涉及金融支付或门禁控制,务必开启 STS。虽然会增加几十微秒的延迟,但能有效防止中继攻击。我在做智能门锁项目时,就遇到过有人用信号放大器欺骗测距,开启 STS 后问题彻底解决。

知识体系总览

下面这张图,是我梳理的 4z 标准核心逻辑。从模式选择到帧结构,再到安全机制,一条线串起来。你保存下来,以后做方案设计时可以参考。

IEEE 802.15.4z 标准核心结构 IEEE 802.15.4z HRP 模式(高脉冲重复频率) LRP 模式(低脉冲重复频率) 前导码:SYNC + SFD(长度可配置) 前导码:基序列(固定 31 符号) 数据帧:SHR(前导码) + PHR(19位控制信息) + PSDU(最大127字节) 安全特性:STS(加扰时间戳) + AES-128 CCM 加密 HRP 适合高精度、高数据率场景(手机定位、AR/VR) LRP 适合低功耗、低成本场景(资产标签、传感器)