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 实际项目中的选择策略
我个人习惯,在项目初期就定好物理层策略:
- 先看距离需求:10米以内,优先2M PHY;10-50米,1M PHY;50米以上,考虑编码PHY
- 再看数据量:广播包超过31字节,必须用扩展广播(5.0专属)
- 最后看兼容性:如果设备需要兼容4.x手机,只能用1M PHY做广播
嗯,这里有个小技巧:很多芯片支持在广播阶段用1M PHY,连接后切换到2M PHY。这样既保证了兼容性,又享受了高速率。我建议你在设计时留好这个切换逻辑。
警告:
编码PHY的广播包不能直接发给4.x设备。如果你需要同时支持新旧设备,必须做双模广播——一个通道用1M PHY,另一个用编码PHY。我见过有人只开了编码PHY广播,结果老手机死活搜不到设备,排查了一整天。
2.5 小结
这一节我们聊了物理层的三个核心模式:1M PHY是老兵,2M PHY是快枪手,编码PHY是长跑健将。选哪个,取决于你的距离、速率和兼容性需求。下一节我们会深入广播信道的具体结构,看看数据包是怎么组装起来的。
记住:物理层是基础,基础不牢,地动山摇。我当年就是没搞懂2M PHY的灵敏度问题,导致产品在远距离场景下频繁断连,后来重新改版才解决。希望你别走我的老路。