一 蓝牙低功耗(BLE)协议栈 之 PHY层

一 2.4GHz

物理层相对于软件工作者来说是最简单的一层,几乎不用关心,但是这一层却非常重要,直接体现出蓝牙芯片的好坏。

蓝牙工作在2.4GHz的频段,具体的频段范围是2400MHz到2483.5MHz,频段宽度为83.5MHz。BLE将这83.5MHz的宽度分成了0到39共40个通道,每一个通道宽度为2MHz。

各个通道的中心频率计算公式:
f c = 2402 + 2 k f_{c} = 2402 + 2k fc=2402+2k

在这里插入图片描述

其中广播通道为37/38/39,对应的中心频率分别为2402MHz、2426MHz、2480MHz。BLE在广播的时候会轮流使用这3个通道进行广播。

从图中可以看出BLE的3个广播通道并不是连在一起的,从上图可以看出wifi使用的也是2.4G的频段,如果在有wifi信号的情况会对BLE的广播造成干扰从而导致不能有效的进行广播。所以BLE的设计者将三个广播通道设计成这样。

虽然广播通道的频段是不连续的,但是编号却是连续的。这样设计的目的是为了保证数据通道编号的连续性,跳频算法方便计算。跳频算法我将在后面的文章再做介绍。

二 发射功率和接收功率

RSSI(接收信号强度)Received Signal Strength Indicator

发射功率

2.4GHz ISM频段对无需授权的设备具有最大发射功率的限制。对于BLE规范规定最大发射功率为+10dBm,最小的发射功率为-20dBm。如果发射功率过小则不能被其他设备发现。

+10dBm的发射为10mW,-20dBm的发射功率仅为10μW。

接收灵敏度

接收机检测其他设备发出的无线信号有多灵敏称之为接收灵敏度。灵敏度通常以dBm为测量单位,这是一个非常小的单位。低功耗蓝牙规定接收机的灵敏度要高于-70dBm。换句话说,接收机接收到0.000 000 1mW的电磁能量时要能正常工作。但是,噪声总是存在的。如果不能对其正确解码,仅仅检测到信号是没有意义的。因此,实践中,接收灵敏度阀值要在一个可接受的误比特率(BER)条件下定义。低功耗蓝牙选择的误比特率为0.1%.

支持低功耗蓝牙的控制器,其接收机灵敏度可达到-90dBm,或者说1pW。这是另人难以置信的、从频段噪声中能检测到的少量能量,而这也导致了客观的通信距离。

功率P(单位mW)和信号强度SSI(单位dBm)的换算公式
其换算公式如下:
S S I = 10 ∗ l o g 10 ( P ) SSI=10* log10(P) SSI=10log10(P)

  • 例如10mW的发射功率:
    S S I = 10 ∗ l o g 10 ( 10 ) = 10 ∗ 1 = 10 d B m SSI=10* log10(10) = 10 * 1 = 10dBm SSI=10log10(10)=101=10dBm
  • 例如0.000 000 1mW的接收灵敏度
    S S I = 10 ∗ l o g 10 ( 1 0 − 7 ) ) = 10 ∗ ( − 7 ) = − 70 d B m SSI=10* log10(10^{-7})) = 10 * (-7) = -70dBm SSI=10log10(107))=10(7)=70dBm

三 BLE调制原理

在这里插入图片描述
低功耗蓝牙采用了高斯频移键控。高斯滤波器通过增加从一个值到另一个值得频率转换时间,优化了一个符号到下一个符号的转换。如果没有高斯滤波器,频率转换会非常快,从而导致很大的噪声。高斯滤波器的引入,意味着从比特0到比特1的转换迅速而高效。

低功耗蓝牙的物理层比特率为1Mbit/s(或记为1Mbps),每个符号1bite。调制指数约为0.5,也就是说非常接近最优的最小频移键控。实际的调制指数可以在0.45 ~ 0.55之间,意味着低功耗蓝牙不是严格意义上的最小频移键控,但它具有最小频移键控的大多数特点,比如减少了边带发射功率,这意味着无需复杂的滤波器就能满足频谱监管的要求。

负频偏代表了比特0,正频偏代表了比特1.最小的频偏约为180KHz。也即是说,如果中心频率选取了2402MHz,比特0意味着传输2401.815MHz,比特1意味着传输2402.185MHz。

在传输报文的时候中心频率并不是严格的2402MHz,会受到一些因素的影响。比如晶振存在误差,或者存在频率漂移。

晶振的误差
由于晶振本身存在一定的误差,一个蓝牙芯片的频率是经过晶振倍频而来,所以晶振的误差也被放大。比如一个16MHz的晶振,需要放大150倍才能得到2400MHz的频率。如果晶振的实际频率为16.0001MHz,则中心频率将偏移150KHz,我们称这个晶振的误差为62ppm也就是百万分之62。通常晶振的误差越小价格就越昂贵,只要误差在我们容忍的范围之内就可以了。

由于晶振不精准导致的频率偏移就是通常所说的频偏。

频率漂移
漂移是指芯片在工作的时候由于芯片内部发热,导致频率轻微发生漂移,在BLE的报文发送过程中漂移不允许超过50kHz。

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值