BLE 5协议栈-物理层
文章转载自:http://www.sunyouqun.com/2017/04/page/4/
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. 频段和跳频
大多数无线通信的频段需要申请授权才可以使用,不同地区开辟了少量免授权频段,只要产品满足当地无线电规范,即可免授权使用。下图展示了全球免授权的频段及其分布(链接):
图中2.4GHz的频段很强势,覆盖了整个地图,是专为工业(Industrial)、科学(Scientific)和医学(Medical)三个机构使用,称为ISM频段。全球范围都可以免授权使用ISM频段。
BLE即工作在2.4GHz频段。
2.4GHz频段信号有明显的优缺点,优点是免费、技术成熟,缺点是频段拥挤、信号传播特性差、遇水衰减。目前除了蓝牙信号外,WIFI、ZigBee、无线键盘、无线玩具甚至微波炉都工作在这个频段,当一个空间内同时运行着多个无线设备时,频带占用情况如下图(链接):
其中绿色的脉冲为BLE信号,红色信号分别是WIFI、微波炉和无线设备,它们形成了干扰噪声。
BLE工作在2.400GHz – 2.480GHz频率区间,并将这个区间均匀分为40个频道,相邻频道间隔2MHz。在不引起误解的情况下,频道也称为信道,40个信道的频率和分布如下图:
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
频率调制是将低频数据信号加载到高频载波上,数据的变化反映为调制波频率的疏密变化,如下图所示:
数字化的信号仅有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 发射机框图
图中信号从左向右流动,基带信号经过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 接收机框图
接收过程是发射过程的逆过程,但相比于发射机而言更加复杂,相关研究文献也更加丰富。
这篇项目报告(链接)详细论述了蓝牙接收机的解调器,截取其中的接收机架构框图如下:
蓝牙信号进入到芯片内部,首先经过低噪声放大器(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产品框图,有实际的参考价值(链接):
(完)