概述
在物联网定位与数据传输场景中,DW1000 作为遵循 IEEE802.15.4-2011 UWB 标准的芯片,其核心数据传输载体是 “帧”。它像一个精密的 “快递包裹”,通过三层结构(同步头、PHY 头、PHY 服务数据单元)实现 “精准同步、清晰解析、安全传输”,既支持 10cm 精度的测距功能,又能稳定传递业务数据。下面从结构、计算、流程三方面,完整拆解 DW1000 帧的设计逻辑。
DW1000 的帧全称是PHY 协议数据单元(PPDU),整体遵循 “同步→说明→数据” 的递进逻辑,每层功能独立且环环相扣。其核心参数如下表所示
| 组成部分 | 包含内容 | 长度(符号 / 字节) | 核心作用 |
|---|---|---|---|
| 同步头(SHR) | 前导码 + SFD | 前导码:128-4096 符号;SFD:8/64 符号 | 同步时钟、识别帧开始 |
| PHY 头(PHR) | 数据速率、帧长度等 | 固定 21 符号 | 告诉接收端 “怎么解析数据” |
| PSDU | MPDU(实际数据)+ FCS | 标准 127 字节;扩展 1023 字节 | 传递业务数据 + 校验完整性 |
一、第一层:同步头(SHR):让接收端 “找到信号”
同步头是帧的 “外层标识”,作用是让接收端从复杂的无线环境中,快速识别 “这是一个有效 UWB 帧”,并校准自身时钟与发送端同步,就像快递盒上的 “快递品牌 logo”,一眼就能认出来。它包含两部分:
1.1. 前导码(Preamble):帧的 “引导员”与“时钟校准器”
前导码是一串重复的符号序列,核心作用是时钟同步和干扰过滤。接收端通过前导码调整自身时钟频率,接收端只接收匹配 UWB 前导码规则的信号,避免误接收蓝牙、Wi-Fi 等其他无线信号。
前导码长度是可配置的,常见 128、256、1024、2048 个 “符号”(类似快递面单上的 “条形码长度”)。长度越长,同步越稳定、抗干扰越强,但传输速度越慢,比如 110kbps 低速率下用 2048 符号,适合远距离传输;6.8Mbps 高速率下用 128 符号,适合近距离快传。
1.2. 帧起始定界符(SFD):帧的 “开始口令”
帧起始定界符告诉接收端 “前导码结束了,接下来是正文”,相当于快递面单上的 “拆封线”,明确标识 “从这开始是包裹内容”。
SFD可配置为8个符号(适配 850kbps/6.8Mbps 速率)或者64个符号(适配 110kbps 低速场景),是 “同步到数据” 的关键过渡。
1.3. 同步头传输时间计算
同步头的组成为若干个符号组成(前导码符号数 + 帧起始定界符符号数),而一个符号的传输时间与数据速率和 PRF(脉冲重复频率)配置有关,DW1000的data sheet会给不同数据速率和 PRF(脉冲重复频率)下的符号时长信息(见下文4.1)。
SHR 发送时间 = (前导码符号数 + SFD符号数) × T_SHR_symbol (即同步头 SHR 的符号时长);
二、 第二层:PHY 头(PHR): 告诉接收端 “怎么解析数据”
PHY 头是帧的 “说明书”,用 21 个符号(固定长度)告诉接收端:“这帧数据怎么读?多长?”,就像快递面单上的 “包裹类型(易碎 / 普通)、重量”,让快递员知道怎么处理。
它的核心信息包括:
- 数据速率:比如 110kbps、850kbps、6.8Mbps—— 接收端要按对应速率解码,不然会 “读错”。
- 帧长度:指后续 “数据部分” 的字节数 —— 接收端知道要接收多少字节,避免 “少收” 或 “多收”。
PHR发送时间 = 21 × T_PHR_symbol(即PHY 头的符号时长);
三、第三层:PHY 服务数据单元(PSDU): 实际要传的 “货物”
这是帧的 “核心内容”,包含两部分:实际数据和校验信息,就像快递里的 “物品 + 质检单”。
3.1. MAC 协议数据单元(MPDU): 实际数据本体
存放要传递的业务数据,比如传感器采集的温度、设备的位置信息等。可配置为标准长度或者扩展长度
- 标准长度:最多 127 字节(含后续 FCS),适合常规数据传输;
- 扩展模式:DW1000 支持 “专有长帧模式”,最多能传 1023 字节(需特殊配置,适合大数据量场景)。
3.2. 帧检验序列(FCS):数据的 “质检单”
用于校验数据在传输中是否损坏,发送端会根据数据计算出 2 字节的 “校验码”(FCS),接收端收到数据后重新计算,若和 FCS 一致,说明数据完好;不一致则丢弃。DW1000 会自动生成 FCS(发送时)和校验 FCS(接收时),不用手动写代码计算。
3.3. PSDU发送时间计算
PSDU(包含 MPDU+FCS)采用BPM-BPSK 调制方式,且数据部分(不含前导码、SFD、PHR)的符号传输遵循 “1 个符号承载 1 位数据” 的规则,则PSDU发送符号个数 = (数据字节数 + 2) × 8;
PSDU发送时间 = (数据字节数 + 2) × 8 × T_PSDU_symbol;
四、其他
4.1 帧发送时间计算整体示例
若你的配置如下:
- PRF:16MHz;
- 数据速率:110kbps(0.11Mbps);
- 前导码长度:1024 符号;
- MPDU 业务数据:12 字节(标准短数据);
- FCS:2 字节(默认添加);
结合DW1000的data sheet中的符号时间表,如下所示:
SHR 发送时间 = (1024 + 8)× 993.58 ns ≈ 1025.4 μs,其中在16MHz PRF下,SFD符号数选择8;
PHR 发送时间 = 21× 8205.13 ns ≈ 172.3 μs;
PSDU发送时间 = (14 + 2) × 8 × 8205.13 ns 919.1 μs;
总发送时间 = 1025.4μs + 172.3μs + 919.1μs ≈ 2116.8μs ≈ 2.12 ms;
4.2 发送过程简述
发送端按以下顺序打包帧,接收端按逆序解析:
发送端打包:
写入 MPDU 数据 → 自动添加 FCS → 生成 PHY 头(含速率 / 长度) → 添加 SHR(前导码 + SFD) → 射频发送;
接收端解析:
接收 SHR(同步时钟) → 解析 PHY 头(获取速率 / 长度) → 接收 PSDU → 校验 FCS → 输出 MPDU 数据。
4.3 关键设计注意事项
前导码长度选择:远距离场景选长前导码(如 2048 符号),近距离高速场景选短前导码(如 128 符号),平衡同步稳定性与传输效率;
长帧模式配置:需通过PHR_MODE寄存器启用(参考 DW1000 用户手册),且收发两端必须同时开启,否则无法通信;
FCS 功能:默认自动启用,若需自定义校验(如特殊协议),可通过SFCST控制位关闭自动 FCS 生成。
总结
本文详细解析了 DW1000 芯片帧的组成,包括同步头(SHR)、PHY 头(PHR)和 PHY 服务数据单元(PSDU)。通过理解这些组成部分及其功能,可以更好地设计和优化基于 DW1000 的物联网定位与数据传输系统。关键设计注意事项包括前导码长度的选择、长帧模式的配置以及 FCS 功能的使用。