认识BLE 5协议栈 —— 物理层

转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-physical-layer/


1. 简介

物理层(Physical Layer)是BLE协议栈最底层,它规定了BLE通信的基础射频参数,包括信号频率、调制方案等。

BLE工作频率是2.4GHz,它使用GFSK频率调制,并使用跳频机制来解决频道拥挤问题。

BLE 5的物理层有三种实现方案,分别是1M Sym/s的无编码物理层、2M Sym/s的无编码物理层和1M Sym/s的编码物理层。其中1M Sym/s的无编码物理层与BLE v4系列协议的物理层兼容,另外两种物理层则分别扩展了通信速率和通信距离。

2. 频段和跳频

大多数无线通信的频段需要申请授权才可以使用,不同地区开辟了少量免授权频段,只要产品满足当地无线电规范,即可免授权使用。下图展示了全球免授权的频段及其分布(链接):

Free frequency band in the world

图中2.4GHz的频段很强势,覆盖了整个地图,是专为工业(Industrial)、科学(Scientific)和医学(Medical)三个机构使用,称为ISM频段。全球范围都可以免授权使用ISM频段。

BLE即工作在2.4GHz频段。

2.4GHz频段信号有明显的优缺点,优点是免费、技术成熟,缺点是频段拥挤、信号传播特性差、遇水衰减。目前除了蓝牙信号外,WIFI、ZigBee、无线键盘、无线玩具甚至微波炉都工作在这个频段,当一个空间内同时运行着多个无线设备时,频带占用情况如下图(链接):

Crowded Frequency Band

其中绿色的脉冲为BLE信号,红色信号分别是WIFI、微波炉和无线设备,它们形成了干扰噪声。

BLE工作在2.400GHz – 2.480GHz频率区间,并将这个区间均匀分为40个频道,相邻频道间隔2MHz。在不引起误解的情况下,频道也称为信道,40个信道的频率和分布如下图:

BLE frequency channels

BLE使用跳频技术来解决频段拥挤问题,即令每次数据通信发生在不同的信道上,假如某个信道拥挤,则避开该信道,选择其他可用信道进行通信。

一个简单的跳频算法是:F(n+1) = [F(n) + hop] % 37,其中hop参数为物理层自己设定的跳频参数。

实际中使用自适应跳频算法来更新通信信道。

自适应跳频的工作机制是,如果某个信道拥挤则做上标记,工作时维护一张信道表以记录各信道的拥挤情况,并将拥挤信道映射到可用信道中,然后结合上述简单跳频算法共同完成信道选择。假如简单跳频算法结果指向一个拥挤信道,则进一步跳转到它映射的可用信道上,从而实现数据通信总是工作在可用信道上。

3. 调制

3.1 调制方式

物理层定义了两种调制方式。

一种方案采用高斯频移键控GFSK,具有1MSym/s的符号速率。第二种方式是与第一种相似(Similar),但是具有2MSym/s的符号速率。

第一种方式又分成两种类型:

  • LE 1M Uncoded PHY。该方式的比特率为1Mb/s,它是BLE v4版本协议保持兼容。
  • LE 1M Coded PHY。该方式对报文进行编码,使接收端收到的报文具有前向纠正的能力,在相同误码率条件下,能够显著降低误码重传次数,从而提高通信速率。 如果采用8符号编码,比特率为125kb/s,如果采用2符号编码,比特率为500kb/s。

LE 1M Uncoded PHY是BLE协议强制要求实现的物理层,而LE 1M Coded PHY则是可选方案。

这两种实现方式符号速率都是1MSym/s。

符号速率中的“符号”是指单次采样所得到的信息,这个信息可能包含多个比特,也可能多个信息等效于一个比特。比如一个电压幅度调制系统中,用+5V表示11b, +2V表示10b, -2V表示01b, -5V表示00b,那么采样一次电压可以获得两个比特信息,此时比特率是符号速率的两倍。在LE 1M Coded PHY机制中,用8个符号表示1个比特,此时比特率是符号速率的1/8。

第二种物理层实现方式为:

  • LE 2M Uncoded PHY。该方案的比特率为2Mb/s,是可选的实现方式。

官方文档使用LE 1M PHY、LE Coded PHY、LE 2M PHY来表示以上三种不同的物理层实现方式:

物理层 调制方式 编码方案
(报头部分)
编码方案
(有效载荷)
比特率
LE 1M PHY 1Msym/s 方式 无编码 无编码 1Mb/s
LE 2M PHY 2Msym/s 方式 无编码 无编码 2Mb/s
LE Coded PHY 1Msym/s 方式 编码S=8 编码S=8;

编码S=2

125kb/s;

500kb/s

表中的S=8表示8个符号编码成1个比特。

3.2 GFSK

频率调制是将低频数据信号加载到高频载波上,数据的变化反映为调制波频率的疏密变化,如下图所示:

frequency modulation

数字化的信号仅有0、1变化,在调制时,可以定义载波频率正向偏移视为1,负向偏移视为0。这种调制方式称为“频移键控(FSK)”。数字信号发生0/1变换时,会产生大量噪声,引入高斯滤波器能够延展0/1变换时间,从而降低噪声。这种做法称为“高斯频移键控(GFSK)”。

GFSK技术成熟,实现简单,适合低功耗BLE的需求。

BLE协议规定,中心频率正向偏移大于等于185kHz视为比特1, 负向偏移大于等于185kHz视为比特0。如果选择2402MHz作为中心频率,比特1的频率应为2402.185MHz, 比特0的频率应为2401.815MHz。

4. 发射机

4.1 发射机框图

RF Transmitter

图中信号从左向右流动,基带信号经过GFSK调制分成同相(I信号)和正交(Q信号)两路信号,再依次经过DA转换和低通滤波器,然后利用频率合成器进行频率上转换,再将两个信号分量合成后通过PA放大将信号推送到天线上。

I/Q相位分量并行操作用以抑制镜像频率,PLL驱动的频率合成器可以产生稳定和精确的频率信号,其他的滤波和变换则比较容易理解。(链接

4.2 发射机参数

(1)发射功率

最小输出功率 最大输出功率
0.01mW (-20dBm) 100mW (+20dBm)

当两个设备首次连接时,应该避免将输出功率调至最大,这可能导致对端设备的接收器瞬间饱和,造成通信失败。

BLE协议按照输出功率将BLE设备分成如下几类:

功率等级 最大输出功率 最小输出功率
1 100mW (+20dBm) 10mW (+10dBm)
1.5 10mW (+10dBm) 0.01mW (-20dBm)
2 2.5mW (+4dBm) 0.01mW (-20dBm)
3 1mW (0dBm) 0.01mW (-20dBm)

第一等级值得注意,如果设备最大输出功率为+20dBm,那么最小功率等于+10dBm。

(2)调制参数

调制方式:GFSK

带宽时间积BT:0.5

调制因子:0.45-0.55

有效频率偏移为:±185kHz

时钟精度:±50ppm

(3)杂散波

使用某个频率发射随机数据,在相邻±2MHz的频点位置,杂散波功率应小于-20dBm,在相邻±3MHz以上的频点位置,杂散波功率应小于-30dBm。

(4)射频容限

中心频率偏移小于等于±150kHz。

最大频率漂移小于等于±50kHz。

最大频率漂移速率小于等于400Hz/us。

由于射频频率稳定性跟晶振有直接关联,所以频偏参数限定了外部射频晶振的误差值。

举个例子,使用16MHz的外部石英晶振为射频提供时钟,16MHz扩频到2.4GHz需要放大150倍,其误差也将一同放大150倍。假如它的误差为±50ppm,即16MHz × ±50ppm = ±800Hz,放大150倍后变成±120kHz,这几乎达到±150kHz的频偏限制,因此许多芯片都限制射频晶振的误差要小于50ppm。

假如使用24MHz的晶振,扩频倍数降低,那么相同的误差等级的晶振,将获得更优良的射频频偏参数。(不过16MHz的晶体更便宜和常用。)

5. 接收机

5.1 接收机框图

接收过程是发射过程的逆过程,但相比于发射机而言更加复杂,相关研究文献也更加丰富。

这篇项目报告(链接)详细论述了蓝牙接收机的解调器,截取其中的接收机架构框图如下:

RF Receiver

蓝牙信号进入到芯片内部,首先经过低噪声放大器(LNA),仍然是分成I/Q两个相位分量,再通过带通滤波器,使用VGA(Variable Gain Amplifier)进行放大,最后转成数字信号传入处理器中,这里框图省略了GFSK的解调过程,它位于AD转换器之后。

5.2 接收机参数

(1)误码率

BLE通信过程,可能因为外部干扰而导致数据发送失败,使用误码率BER(Bit Error Rate)表征比特传输失败的几率。

误码率过高会影响通信速率,BLE协议要求传输小型报文时,误码率要低于0.1%。这也是BLE设备RF性能测试的一个标准。

BLE协议规定了传输不同长度报文的误码率的阈值:

最大支持的Payload长度 BER阈值(%)
≤ 37 0.1
38 ~ 63 0.064
64 ~ 127 0.034
≥ 128 0.017

(2)接收灵敏度

BLE协议对于编码型和非编码型物理层给出了不同的接收灵敏度要求:

物理层类型 接收灵敏度(dBm)
LE Uncoded PHY ≤ -70
LE Coded PHY with S=2 coding ≤ -75
LE Coded PHY with S=8 coding ≤ -82

市面上的BLE芯片大多都宣称达到-90dBm甚至更低的接收灵敏度,某BLE 5的芯片其接收灵敏度甚至高达-97dBm。

在理想的条件下,假设发射机输出功率是0dBm,接收机灵敏度是-90dBm,发射机输出信号经过一段路径到达接收机,功率衰减到-90dBm,意味着这段路径上的路径损耗等于90dB。如果输出功率是20dBm,当衰减至-90dBm时,路径损耗就是110dB。

路径损耗与通信距离有如下相关性:

path loss = 40 + 25 × log(distance)

做成表格将更加直观:

路径损耗(path loss) 通信距离(distance)
50dB 2.5m
60dB 6.3m
70dB 16m
80dB 40m
90dB 100m
100dB 250m
110dB 630m

如果通信距离为630m,通信系统需要能够承受110dB的路径损耗。

当发射功率为默认0dBm,接收灵敏度为BLE协议规定的最小值-70dBm,那么可实现的最大距离为16m,这也是许多文档认为BLE是一个10米范围的通信技术的原因。考虑到大多数BLE芯片的接收灵敏度都优于-90dBm,实际通信距离应大于10米。

BLE 5的推出,极大提升了通信距离的潜力,各芯片厂商正努力提升通信距离。最近Nordic和TI针对自家BLE 5芯片做了实际测试,在良好的环境下通信距离超过1000米,令人吃惊。

(3) 抗干扰能力

一个接收机的同频道噪声抵抗能力为21dB,相邻的1MHz频点处的噪声抵抗能力为15dB。

1M PHY与2M PHY的要求略有不同。

对带外(2.4GHz范围外的频段)噪声,也应有相应的抵抗能力。

(4)最大有效功率

接收机至少在-10dBm下能够正常工作,保证BER优于0.1%。

6. 收发机

前面介绍了发射机和接收机,在实际的BLE芯片中,接收机和发射机放在同一个电路中,称为收发机(Transceiver),下图是一个2.4GHz产品框图,有实际的参考价值(链接):

RF Transceiver

猜你喜欢

转载自blog.csdn.net/weixin_42396877/article/details/82900067