物理层测试:1Mbps/2Mbps PHY、编码PHY、发射功率与接收灵敏度

各位工程师朋友,咱们今天来聊聊物理层测试。说实话,物理层是整个蓝牙协议栈的基石。你上层的协议栈写得再漂亮,如果物理层不过关,设备就是连不上。我这些年踩过的坑,有一半都跟物理层有关。

物理层测试,说白了就是验证你的芯片能不能「说清楚话」和「听清楚话」。咱们分四个维度来讲:速率模式、编码方式、发射功率、接收灵敏度。

1. 1Mbps 与 2Mbps PHY 测试

BLE 4.x 时代只有 1Mbps 一种速率。到了 5.0,增加了 2Mbps 模式。为什么要加?因为很多场景需要更高的吞吐量,比如 OTA 升级、音频传输。

测试要点:

  • 频率偏移测试:1Mbps 模式下,频率偏移应控制在 ±150kHz 以内。2Mbps 模式更严格,±75kHz。我遇到过一款国产芯片,2Mbps 模式下偏移量飘到了 90kHz,结果对端设备频繁丢包。
  • 眼图测试:用示波器看差分信号的眼图。1Mbps 的眼图开口应该清晰,2Mbps 因为速率翻倍,对 PCB 走线更敏感。我个人习惯在 2Mbps 测试时,把示波器的采样率调到 4GSa/s 以上。
  • 跳频时间:BLE 5.0 要求跳频时间不超过 150μs。2Mbps 模式下,因为数据包更短,跳频时间反而更容易达标。

核心指标速查表:

参数1Mbps2Mbps
符号速率1 Msym/s2 Msym/s
调制方式GFSK, BT=0.5GFSK, BT=0.5
频率偏移±150kHz±75kHz
接收带宽1.2MHz2.4MHz

2. 编码 PHY(Coded PHY)测试

编码 PHY 是 BLE 5.0 的一大亮点。它通过前向纠错(FEC)和模式映射,把通信距离提升了 4 倍。说白了,就是用速率换距离。

编码 PHY 有两种模式:

  • S=2 模式:每 1 位数据用 2 位编码传输,有效速率 500kbps。适合中等距离。
  • S=8 模式:每 1 位数据用 8 位编码传输,有效速率 125kbps。适合超远距离。

测试时要注意什么?

我曾经在测试一款智能门锁时,发现 S=8 模式下,距离确实远了,但连接建立时间从 30ms 增加到了 200ms。为什么?因为编码 PHY 的 preamble 更长,接收机需要更多时间做同步。

我的经验:编码 PHY 测试一定要在真实场景下做。实验室里信号干净,S=8 模式能跑 400 米。但到了工厂仓库,有金属货架和叉车干扰,实际距离可能只有 150 米。所以,我建议你们在测试计划里加入「多径环境」和「干扰环境」两个子项。

编码 PHY 的误码率测试:

  • S=2 模式:要求 BER ≤ 0.1% @ -95dBm
  • S=8 模式:要求 BER ≤ 0.1% @ -103dBm

注意,这里的灵敏度指标比 1Mbps 模式(通常 -93dBm)要低很多。这就是编码增益带来的好处。

3. 发射功率测试

发射功率测试,很多人觉得简单——拿频谱仪看峰值功率就行了。其实没那么简单。

测试项目:

  1. 峰值功率:BLE 5.0 规定最大发射功率为 +10dBm(10mW)。但很多芯片厂商会做到 +12dBm 甚至 +15dBm。嗯,这里要注意,功率越大,谐波也越大,FCC 认证可能过不了。
  2. 功率平坦度:在 2.4GHz 频段内(2402MHz ~ 2480MHz),发射功率波动应小于 ±2dB。我遇到过一款芯片,在 2480MHz 频点功率比 2402MHz 低了 3.5dB,结果导致远端设备在某些信道收不到数据。
  3. 功率斜坡:发射机从关闭到开启,功率上升时间应小于 10μs。下降时间也一样。如果斜坡太慢,会干扰相邻时隙。

避坑指南:我曾经测试过一款模组,发射功率标称 +8dBm,但实际测出来只有 +5dBm。查了半天,发现是 PCB 天线匹配网络里的电容焊错了容值。所以,我建议你们在测试发射功率时,一定要在模组的天线端口直接测量,不要通过天线辐射来反推。

4. 接收灵敏度测试

接收灵敏度,是衡量蓝牙芯片「听力」的关键指标。BLE 5.0 标准要求 1Mbps 模式下,误码率 ≤ 0.1% 时,接收功率应 ≤ -70dBm。但实际好的芯片能做到 -95dBm 甚至 -98dBm。

测试方法:

  • 直接耦合法:用信号发生器直接注入射频信号。这是实验室最常用的方法,重复性好。
  • 辐射法:通过天线发射信号,被测设备接收。这种方法更接近真实场景,但受环境影响大。

影响灵敏度的关键因素:

  • 噪声系数:接收机前端的 LNA 噪声系数每增加 1dB,灵敏度就恶化 1dB。
  • 本振相位噪声:相位噪声太大会导致相邻信道干扰。我调试过一款芯片,本振相位噪声在 1MHz 偏移处是 -110dBc/Hz,灵敏度只能做到 -88dBm。后来换了晶振,相位噪声降到 -125dBc/Hz,灵敏度直接提升到 -95dBm。
  • DC 偏移:零中频架构的接收机,DC 偏移会直接影响解调。很多芯片内部有 DC 校准电路,但校准时机不对也会出问题。

灵敏度测试的「黄金三步」:

  1. 先用信号发生器发一个标准 BLE 测试包,确认设备能正常接收。
  2. 逐步降低信号功率,每步 1dB,记录每个功率点的误码率。
  3. 找到误码率刚好超过 0.1% 的那个功率点,再回退 1dB,就是你的实际灵敏度。

5. 综合测试建议

最后,我给大家几个实操建议:

  • 先测 1Mbps,再测 2Mbps:如果 1Mbps 都过不了,2Mbps 肯定没戏。别浪费时间。
  • 编码 PHY 要测边界条件:比如在 -100dBm 的弱信号下,S=8 模式能不能稳定工作?我见过有些芯片在弱信号下编码 PHY 反而比 1Mbps 还差,因为 FEC 解码器本身也会引入延迟和误码。
  • 发射功率和灵敏度要一起看:有些芯片发射功率调大了,接收灵敏度反而下降。为什么?因为 PA 和 LNA 共用电源,PA 工作时拉低了 LNA 的供电电压。这种问题在低功耗设计中很常见。

物理层测试,说白了就是「一分耕耘,一分收获」。你花在测试上的时间,最终都会体现在产品的稳定性和用户体验上。好了,这一章就到这里。下一章咱们聊聊链路层测试,那才是真正考验协议栈功底的地方。