BLE 协议栈 – 物理层(Physical Layer)
原作者:CY大象大神(CY 原厂 AE),原链接已失效
文章搬运自红旭无线论坛,未询问获取授权
文章样式有部分修改,及加入个人理解内容
BLE 协议栈 – 物理层(Physical Layer)
BLE 物理层解决了最基础的通信问题,比如调制解调
、信号放大
与滤波
等。在实际使用中,几乎不会关注物理层的情况
,但是在 BLE 产品测试阶段,要测试频偏
,信号强度
等项目,只有对物理机制有所了解,才能理解测试项目的目的。
相关内容:
- 调制解调
- 信号放大
- 滤波
关注点:
-
测试阶段
-
物理特性:频偏、信号强度等
调制 (Modulation)
通信领域,有模拟调制
和数字调制
,BLE 使用数字调制。
数字调制也分为幅值调制
和频率调制
,BLE 使用频率调制,该技术名称叫:频移键控(Frequency Shift Keying, FSK),通过改变载波的频率,来表征比特信息。
如果调制波的频率高于载波频率,则表示比特 1,如果低于,则表示比特 0。调制前先将信号通过高斯滤波器做滤波,可以减少带外辐射,收窄信号带宽,从而增加信道容量。对滤波后的信号做 FSK 调制,这种方式叫高斯频移键控(Guassian Frequency Shift Keying, GFSK),也就是 BLE 所采用的调制方式。
调制波与载波频率之差称为频偏。显然正频偏表示比特 1,负频偏表示比特 0。BLE 技术中,频偏大约为 180KHz,才能被准确检测出来。比如,对于中心频率为 2402MHz 信号,比特 1 的信号频率约为(2402 + 0.18)MHz,比特 0 约为(2402 – 0.18)MHz。在 BLE 中,中心频率为 2402MHz 的通信频段称为一个信道。
相关内容:
- 调制方式
关注点:
-
测试阶段
-
物理特性:频偏、信号强度等
关键词:
-
频移键控
-
带外辐射
-
信号带宽
信道 (Channel)
BLE 有 40 个物理信道,均匀分布在 2402MHz, 2404MHz, … 2480MHz。
这 40 个信道中,37、38、39 三个信道用于发送广播信息,如上图中橘色信道,其他 37 个信道发送数据信息。BLE 在连接时,会在这些数据信道中循环跳动
,叫**”跳频“**。比如每次连接事件使用某个数据信道,下一次连接事件则会跳到另一个信道中去。
跳频有一定的算法,比如: f(n+1) = (f(n) + hop) % 37
。
hop 是一个跳频参数,假如 hop = 10,本次使用信道 0,那么下一次就使用 (0 + 10) % 37 = 10,即信道 10。为什么要这么复杂,在不同频率间跳来跳去呢?因为 BLE 使用的是免费的2.4G ISM(Industrial Scientific Medical)频段。WIFI 也使用这个频段,可想这个频段非常拥挤,假如 WIFI 信号浓密,BLE 信号就会受到干扰。
BLE 跳频技术,会记录每个信道是否拥挤,假如拥挤则标记为坏道,跳频时候避开该信道,等空闲下来,再移除坏道标记。这样 BLE 通信就总是能够在相对良好的频段内进行。
其中绿色的脉冲为 BLE 信号,红色信号分别是 WIFI、微波炉和无线设备,它们形成了干扰噪声。
相关内容:
- 信道
关注点:
- 广播信道、数据信道
关键词:
-
BLE 跳频技术
-
干扰噪声
精度 (Precision)
BLE 芯片外置的 24MHz 的晶振,是射频信号的时钟源
。为了保证信号频率的精度,要求晶振的精度一定要高。
晶振的精度到底要多高才能满足使用?
对于 BLE 的信道,中心频率的容限是 ±150kHz,举个例子:使用16MHz 的外部石英晶振为射频提供时钟,16MHz 扩频到 2.4GHz 需要放大 150倍,其误差也将一同放大 150 倍。假如它的误差为 ±50ppm,即 16MHz × ±50ppm = ±800Hz,放大 150 倍后变成±120kHz,这几乎达到 ±150kHz 的频偏限制,因此许多芯片都限制射频晶振的误差要小于 50ppm。
假如使用 24MHz 的晶振,扩频倍数降低,那么相同的误差等级的晶振,将获得更优良的射频频偏参数。(不过16MHz的晶体更便宜和常用)可以推测,使用不同晶振频率,其精度要求也会发生变化。
当获得足够精准的信号频率,还需要足够灵敏的接收机,才能将比特 0 与比特 1 区分开来。接收机灵敏度使用 dBm 来表示,目前市面上各家的 BLE 芯片,接收灵敏度大约在 -90dBm ~ -95dBm
之间。由于距离越远,信号越弱,即接收机的灵敏度越强,则能达到的通信距离越远。
信号的强度取决于发射机的输出功率。输出功率越大越好,但是考虑无线电产品要通过 FCC 等认证,无线信号输出功率不能太大。通常 BLE 芯片的默认输出功率为 0dBm,即 1mW。
不同厂家的芯片可以支持更高的发射功率,比如 3dBm、8dBm 等。射频信号一旦脱离发射机,就要面临穿越空气而造成的损耗。接收机可以获得信号的能量损耗值(RSSI)
路径损耗与通信距离有如下相关性:
path loss = 40 + 25 × log(distance)
于是,可以利用 RSSI 来反向获得距离信息
,这个是 BLE 做室内定位的理论基础。
但是 RSSI 极易受到干扰,因此需要获取多个 RSSI 数据,并利用分析算法,甄别出实际的路径损耗。
关注点:
-
信号频率的精度
-
晶振射频频偏参数
-
信号的能量损耗值(RSSI)
- 1
- 1
-
分享