物理层与射频:BLE 的“空中语言”
各位好,欢迎来到第二章。
上一章我们聊了 BLE 的整体架构。今天要深入到底层——物理层和射频。说白了,就是数据到底是怎么通过空气从 A 点传到 B 点的。
很多人觉得这层太“硬”,做软件开发的可以跳过。我个人习惯是,不管做上层还是底层,射频的基本概念必须清楚。否则你连“为什么这个设备连不上”、“为什么距离这么短”都分析不了。
2.1 BLE 的工作频段
BLE 工作在 2.4GHz ISM 频段。这个频段是开放的,全球通用。你想想看,Wi-Fi、Zigbee、蓝牙、甚至微波炉都挤在这里。
具体范围是 2400 MHz 到 2483.5 MHz。BLE 把这个频段划分成了 40 个信道,每个信道 2 MHz 宽。
核心要点: BLE 使用 2.4GHz 频段,共 40 个信道,信道间隔 2 MHz。
我记得刚做第一个 BLE 项目时,在实验室里设备总是断连。排查了半天,发现旁边就是一台老式微波炉。嗯,那玩意儿一启动,2.4GHz 频段直接被干扰炸了。从那以后,我每次做射频测试都会先关掉微波炉。
2.2 信道划分:广播信道与数据信道
40 个信道不是随便用的。BLE 把它们分成了两类:广播信道和数据信道。
| 信道类型 | 信道编号 | 中心频率 | 用途 |
|---|---|---|---|
| 广播信道 | 37、38、39 | 2402 MHz、2426 MHz、2480 MHz | 设备发现、广播、连接建立 |
| 数据信道 | 0-36(共 37 个) | 2404 MHz ~ 2478 MHz | 连接后的数据传输 |
为什么只有 3 个广播信道?
这是有意设计的。BLE 把广播信道放在 2.4GHz 频段的三个“缝隙”里——避开 Wi-Fi 常用的 1、6、11 信道。这样广播不容易被 Wi-Fi 干扰。我做过一次对比测试,在 Wi-Fi 密集的办公区,广播信道的丢包率比数据信道低很多。
小技巧: 如果你的设备广播不稳定,先检查 37、38、39 这三个信道周围有没有强 Wi-Fi 信号。用频谱仪扫一下,一目了然。
2.3 调制方式:GFSK
BLE 使用 GFSK(高斯频移键控)调制。简单说,就是用频率变化来表示 0 和 1。
GFSK 的好处是抗干扰能力强,实现简单。BLE 的调制指数是 0.5,属于“窄带”调制。这意味着它的频谱利用率高,但同时也对频率偏移比较敏感。
具体参数:
- 比特率:1 Mbps(BLE 4.0/4.1/4.2)
- 符号率:1 Msym/s
- 调制指数:0.5 ± 0.01
- 频率偏移:≥ 185 kHz
我曾经遇到过一个坑:某款芯片的晶振精度不够,导致频率偏移超标。结果设备在低温下完全连不上。后来换了 ±20 ppm 的晶振才解决。嗯,晶振的精度直接影响调制质量,这个不能省。
2.4 发射功率与接收灵敏度
这两个参数直接决定了 BLE 的通信距离。
发射功率: BLE 的发射功率范围通常是 -20 dBm 到 +10 dBm。大多数手机和耳机用 0 dBm(1 mW)左右。工业模块可以做到 +10 dBm(10 mW)。
接收灵敏度: BLE 规范要求接收灵敏度至少达到 -70 dBm(误码率 0.1%)。但实际芯片通常能做到 -90 dBm 甚至 -95 dBm。
经验公式: 发射功率每增加 6 dB,距离大约翻一倍。接收灵敏度每提升 6 dB,距离也翻一倍。但实际环境中有多径衰落和干扰,别太乐观。
我做过一个项目,客户要求 100 米通信距离。我们选了 +10 dBm 发射功率、-95 dBm 灵敏度的芯片。理论上自由空间损耗算下来能到 200 米。但实际在工厂里,金属货架一挡,30 米就断了。所以,永远给链路预算留余量。
注意: 不同国家的发射功率限制不同。美国 FCC 限制 2.4GHz 频段最大 30 dBm,但 BLE 设备通常受限于 EIRP(等效全向辐射功率)不超过 +10 dBm。中国 SRRC 也有类似规定。做产品前先查法规。
2.5 跳频技术
BLE 使用 自适应跳频(AFH)。
为什么需要跳频?因为 2.4GHz 频段太拥挤了。如果一直用同一个信道,遇到干扰就完蛋。跳频的意思是,通信双方按照一个伪随机序列,在 37 个数据信道之间快速切换。
跳频的流程是这样的:
- 连接建立时,主设备生成一个跳频序列。
- 每次通信事件,双方根据当前信道索引和跳频算法,计算出下一个信道。
- 如果某个信道被标记为“坏信道”(干扰严重),就跳过它。
- 主设备定期更新信道映射,把坏信道排除在外。
跳频算法其实不复杂。核心公式是:
next_channel = (current_channel + hop_increment) mod 37
其中 hop_increment 是一个 5 到 16 之间的奇数。这样能保证遍历所有信道。
我调试过一个跳频问题:设备在电梯里总是断连。后来发现电梯井里有强电磁干扰,导致连续几个信道都被标记为坏信道。跳频序列里可用的信道太少,最终连接超时。解决方案是增加重传次数,同时优化信道扫描算法。
避坑指南: 我曾经遇到一个设备,跳频序列设计不合理,导致它总是在两个信道之间来回跳,其他信道根本不访问。检查后发现是 hop_increment 设置成了偶数。记住,必须是奇数。
2.6 知识体系总览
下面这张图总结了物理层和射频的核心知识点。你可以把它当作本章的“地图”。