TrekMax

TrekMax

BLE 协议栈 – 物理层(Physical Layer)

2024-04-23

原作者:CY大象大神(CY 原厂 AE),原链接已失效

文章搬运自红旭无线论坛,未询问获取授权

搬运地址:《BLE 协议栈 – 物理层(Physical Layer)》

文章样式有部分修改,及加入个人理解内容


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。

BLE_Physical Layer Channel

这 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_Physical Layer Channel

其中绿色的脉冲为 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)