zoukankan      html  css  js  c++  java
  • 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. 频段和跳频

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

    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

    (完)

  • 相关阅读:
    艾伟:几个ASP.NET小技巧 狼人:
    艾伟:.Net架构网站又一传奇:PlentyOfFish.com 狼人:
    艾伟:WCF从理论到实践(3):八号当铺之黑色契约 狼人:
    艾伟:WCF从理论到实践(1):揭开神秘面纱 狼人:
    艾伟:WCF从理论到实践(8):事件广播 狼人:
    艾伟:WCF从理论到实践(4):路在何方 狼人:
    艾伟:WCF从理论到实践(7):消息交换模式 狼人:
    增加联系人到通讯录
    [置顶] 第五周项目一:三角形类(构造函数)@(1)
    5_4学生类
  • 原文地址:https://www.cnblogs.com/yeshenmeng/p/10818318.html
Copyright © 2011-2022 走看看