3. 物理层与射频基础:2.4GHz ISM频段、跳频技术、调制方式(GFSK)、发射功率与接收灵敏度、链路预算计算
各位同学,咱们今天聊点实在的。蓝牙这东西,说到底就是个无线通信。无线通信靠什么?靠电磁波。而蓝牙用的,就是那个大名鼎鼎的 2.4GHz ISM 频段。
ISM 是 Industrial, Scientific, Medical 的缩写。说白了,就是工业、科学和医疗用的免费频段。你不用申请牌照,买颗芯片就能用。听起来很爽对吧?但代价就是——太挤了。
我做过一个智能家居网关的项目,调试的时候发现蓝牙老是断连。拿频谱仪一看,好家伙,Wi-Fi 信道 6 和 11 上两个大胖子占着位置,蓝牙的信号被压得死死的。这就是 2.4GHz 频段的日常。
2.4GHz ISM 频段:拥挤的免费高速公路
这个频段范围是 2.400 GHz 到 2.4835 GHz,总共 83.5 MHz 的带宽。蓝牙把它分成了 40 个信道,每个信道 2 MHz。
你想想看,Wi-Fi 一个信道就占 20 MHz 甚至 40 MHz。蓝牙这小身板,怎么跟人家抢?
嗯,这里就要靠跳频技术了。
跳频技术:打一枪换一个地方
蓝牙的跳频,说白了就是不让别人抓住你的规律。它会在 40 个信道之间快速切换,每秒跳 1600 次。每次只在一个信道上待 625 微秒,然后立刻跳到下一个。
为什么要这么做?两个原因:
- 抗干扰:某个信道被 Wi-Fi 占了?没关系,我跳走就是了。丢一个包,下一个包换个信道重传。
- 抗多径衰落:室内环境信号反射严重,某些频率点会形成死区。跳频能避开这些坑。
我曾经遇到过一个客户,说他们的蓝牙耳机在会议室里总是断断续续。我过去一看,会议室天花板上装了 4 个 Wi-Fi AP。我建议他们把蓝牙的跳频算法从基本模式改成自适应跳频(AFH),把被 Wi-Fi 占用的信道标记为“坏信道”,跳频序列自动避开它们。问题立刻解决了。
下面这张图展示了蓝牙跳频的基本流程:
调制方式:GFSK 是怎么工作的?
蓝牙物理层用的调制方式是 GFSK,全称是 Gaussian Frequency Shift Keying。名字挺长,但原理不复杂。
FSK 就是用两个不同的频率代表 0 和 1。比如频率 f1 代表 1,频率 f2 代表 0。GFSK 就是在 FSK 前面加了一个高斯滤波器,把信号的边沿变平滑。
为什么要加这个滤波器?
- 减少带宽占用:信号边沿变缓了,高频分量就少了,占用的频谱更窄。
- 降低邻道干扰:隔壁信道的设备不会被你吵到。
BLE 的 GFSK 调制指数在 0.45 到 0.55 之间。调制指数决定了两个频率的间隔。间隔太小,接收端不好区分 0 和 1;间隔太大,占用的带宽就宽了。0.5 是个折中值。
发射功率与接收灵敏度
这两个参数决定了你的蓝牙能传多远。
发射功率:BLE 标准规定最大发射功率是 +10 dBm(10 毫瓦)。实际产品通常用 0 dBm(1 毫瓦)或 +4 dBm(2.5 毫瓦)。
接收灵敏度:BLE 标准要求接收机能检测到 -70 dBm 的信号(误码率低于 0.1%)。好的芯片能做到 -96 dBm 甚至 -100 dBm。
我做过一个工业网关的项目,要求覆盖半径 100 米。我算了一下,0 dBm 发射功率、-96 dBm 接收灵敏度,在自由空间传播下,理论距离是 200 米左右。但实际测试只有 50 米。为什么?因为厂房里有金属货架、电机干扰、混凝土墙。这就是理论和现实的差距。
| 参数 | BLE 标准要求 | 典型芯片性能 | 说明 |
|---|---|---|---|
| 最大发射功率 | +10 dBm | 0 ~ +8 dBm | 功率越大,功耗越高 |
| 接收灵敏度 | ≤ -70 dBm | -90 ~ -100 dBm | 数值越低,接收能力越强 |
| 链路预算 | ≥ 70 dB | 90 ~ 110 dB | 发射功率 + 接收灵敏度绝对值 |
链路预算计算:到底能传多远?
链路预算就是算一下信号从发射机到接收机,一路上会损失多少能量。
公式很简单:
链路预算 (dB) = 发射功率 (dBm) + 发射天线增益 (dBi) - 路径损耗 (dB) + 接收天线增益 (dBi) + 接收灵敏度 (dBm)
实际项目中,天线增益通常按 0 dBi 估算(因为蓝牙天线大多是全向的,增益不高)。所以公式简化为:
链路预算 (dB) = 发射功率 (dBm) - 路径损耗 (dB) + 接收灵敏度 (dBm)
路径损耗用自由空间传播模型估算:
路径损耗 (dB) = 20 × log10(距离) + 20 × log10(频率) - 27.55
其中距离单位是米,频率单位是 MHz。对于 2.4 GHz,公式变成:
路径损耗 (dB) = 20 × log10(距离) + 40.05
举个例子:
- 发射功率:0 dBm
- 接收灵敏度:-96 dBm
- 链路预算:0 - (-96) = 96 dB
- 路径损耗不能超过 96 dB
- 代入公式:96 = 20 × log10(距离) + 40.05
- 解得:log10(距离) = 2.7975,距离 ≈ 627 米
这是自由空间的理论值。实际环境中,室内有墙壁、家具、人体遮挡,路径损耗会大很多。一般室内环境按 30~40 米估算比较靠谱。
实际项目中的射频设计要点
做蓝牙网关开发,射频部分有几个坑一定要避开:
- 天线匹配:天线和射频芯片之间需要做阻抗匹配,通常是 50 欧姆。不匹配会导致反射,发射功率出不去,接收信号进不来。
- PCB 布局:射频走线要短、要直,避免直角拐弯。射频电路周围不要走数字信号线,尤其是时钟线。
- 电源去耦:射频电路对电源噪声很敏感。PA(功率放大器)工作时会从电源吸取大电流,如果去耦电容不够,电源电压会跌落,导致发射功率不稳定。
- 屏蔽:如果网关里有 Wi-Fi 模块,一定要做好屏蔽。Wi-Fi 的发射功率比蓝牙大得多,会直接把蓝牙接收机堵死。
我见过最离谱的一个案例,是有人把蓝牙天线直接放在金属外壳里面。信号根本出不去,通信距离不到 1 米。后来在外壳上开了一个槽,把天线露出来,距离立刻到了 30 米。
好了,物理层和射频基础就聊到这里。这些是蓝牙通信的底层基石,后面讲协议栈的时候,你会反复用到这些概念。