2、广播物理层基础:BLE 4.x与5.x的物理层对比、1M PHY与2M PHY、编码PHY与长距离模式

好,咱们直接进入正题。这一节聊的是广播的“地基”——物理层。说白了,就是信号在空气里怎么飞、飞多快、能飞多远。我刚开始接触BLE 5.0时,第一反应是:“这不就是4.2加了个2M速率吗?”后来踩了坑才发现,事情远没那么简单。

2.1 BLE 4.x与5.x的物理层:到底改了啥?

先看一张对比表,心里有个底:

特性 BLE 4.x BLE 5.0
物理层模式 仅1M PHY 1M PHY + 2M PHY + 编码PHY
广播信道 3个(37/38/39) 3个(37/38/39)
数据信道 37个 37个
最大广播包长度 37字节(PDU) 255字节(PDU)
长距离模式 不支持 支持(编码PHY)

嗯,这里要注意:广播信道数量没变,还是那3个老朋友。但5.0在广播信道上引入了扩展广播,数据包能塞进255字节。我在项目中遇到过,有些开发者以为5.0广播信道也增加了,其实没有——只是把数据信道临时借来用一下。

2.2 1M PHY vs 2M PHY:快与稳的博弈

1M PHY是BLE的“元老”,每秒传1兆个符号。2M PHY是5.0的新宠,速率翻倍。你想想看,同样传一个100字节的包,2M PHY耗时只有1M PHY的一半左右。这对功耗和吞吐量都是利好。

但代价是什么?灵敏度下降。我实测过,2M PHY的接收灵敏度比1M PHY大约差3-5 dB。什么意思?就是信号弱一点就丢包。所以,如果你做的是耳机、鼠标这种近距离设备,2M PHY很香。但如果是门锁、传感器这种需要穿墙的,我建议老老实实用1M PHY。

核心结论:

  • 1M PHY:兼容性好,距离远,适合大多数场景
  • 2M PHY:速率高,延迟低,适合近距离高速传输

2.3 编码PHY与长距离模式:信号怎么飞得更远?

长距离模式,是BLE 5.0最让我兴奋的特性。它靠的是编码PHY,说白了就是把每个bit重复传多次,接收端用“少数服从多数”的方式纠错。

编码PHY有两种模式:

  • S=2编码:每个bit传2次,速率降到500 kbps
  • S=8编码:每个bit传8次,速率降到125 kbps

为什么会这样?因为冗余越多,抗干扰能力越强。我曾在一条200米长的走廊里测试过,用1M PHY大概80米就断连了,换成S=8编码PHY,直接干到180米还有信号。当然,代价是速率慢得像蜗牛——125 kbps,传个固件升级包得等半天。

避坑指南:

我曾经在项目中把编码PHY用在需要实时音频传输的场景上,结果延迟大到没法用。记住:长距离模式只适合低速率、对延迟不敏感的应用,比如温湿度传感器、门锁状态上报。

2.4 实际项目中的选择策略

我个人习惯,在项目初期就定好物理层策略:

  1. 先看距离需求:10米以内,优先2M PHY;10-50米,1M PHY;50米以上,考虑编码PHY
  2. 再看数据量:广播包超过31字节,必须用扩展广播(5.0专属)
  3. 最后看兼容性:如果设备需要兼容4.x手机,只能用1M PHY做广播

嗯,这里有个小技巧:很多芯片支持在广播阶段用1M PHY,连接后切换到2M PHY。这样既保证了兼容性,又享受了高速率。我建议你在设计时留好这个切换逻辑。

警告:

编码PHY的广播包不能直接发给4.x设备。如果你需要同时支持新旧设备,必须做双模广播——一个通道用1M PHY,另一个用编码PHY。我见过有人只开了编码PHY广播,结果老手机死活搜不到设备,排查了一整天。

2.5 小结

这一节我们聊了物理层的三个核心模式:1M PHY是老兵,2M PHY是快枪手,编码PHY是长跑健将。选哪个,取决于你的距离、速率和兼容性需求。下一节我们会深入广播信道的具体结构,看看数据包是怎么组装起来的。

记住:物理层是基础,基础不牢,地动山摇。我当年就是没搞懂2M PHY的灵敏度问题,导致产品在远距离场景下频繁断连,后来重新改版才解决。希望你别走我的老路。