深入理解蓝牙5之远距离通信

物联网时代
     据高盛的一篇文章所述,在20世纪90年代,大约有10亿台设备连接到互联网上。进入21世纪,随着智能手机的普及,这个数字上升到20亿。ABI研究公司预测,到2021年,将有480亿台设备连接到互联网上,我们称之为“物联网时代”。在这480亿台设备中,预计将有30%的设备是蓝牙设备。
     这不是巧合。低功耗蓝牙的快速发展,使蓝牙技术成为物联网的关键推动者。现在,蓝牙5更为这项技术带来了一些重大的进步,使其成为更多物联网应用场景的理想选择。

蓝牙4及其通信距离
     低功耗蓝牙技术的通信距离比人们普遍认为的要长得多,即使在版本4中也是如此。作者用一台Android智能手机和低功耗蓝牙MCU进行了简单的测试,结果显示,智能手机在距离MCU 350米远的地方成功接收到了蓝牙通知。这个测试是在一个对无线电通讯不太理想的环境中进行的,它包含了大量的人和树木。市场上也有许多商用蓝牙模块,相关数据显示,通信距离可达500米。
深入理解蓝牙5之远距离通信_第1张图片

越多越好
     既然蓝牙4的低功耗无线通信距离已经很长了,为什么还要再增加呢?因为在许多应用场景中,需要更大的通信距离。比如说智能家居就是一个例子,这在一定程度上,体现了蓝牙5增加通信距离的目的。
    想象一下在一个大房子里,每个房间都布有各种各样的传感器,墙壁里,地板下,阁楼上,甚至每扇门和每个窗户。照明、暖气和空调系统,都是由蓝牙控制的。更进一步,想想户外的灯光,还有更多的传感器在花园里,在围墙和大门上。这是对智能家居的一个相当准确的描述,能够监控自己的居住、安全状况、能源效率等等,并支持自动和手动控制关键系统和设备。
深入理解蓝牙5之远距离通信_第2张图片
    智能家居对无线技术提出了重大要求。通信范围必需覆盖整个家庭,实现这一目标的一个方法是确保点对点之间的信号即使在通过墙壁等物理屏障衰减后也能满足这一要求。

三种物理层
物理层
    蓝牙是一个完整的协议栈。协议栈的底层称为物理层,通常称为“PHY”。
深入理解蓝牙5之远距离通信_第3张图片
    蓝牙5相对于蓝牙4加入了两种新的物理层。每一种物理层都有其独特的特点,并为不同的应用场景而设计。在蓝牙规范中这三种物理层分别为 LE 1M, LE 2M 和 LE Coded。

LE 1M
    蓝牙4中使用的物理层是LE 1 M。它使用了高斯频移键控(GFSK)技术,符号率为1 Mb/s。因为一个符号对应一个数据位,所以在协议栈上层比特率也是1 Mb/s。蓝牙5也使用了LE 1 M物理层,并且蓝牙5协议规范中明确规定必需支持LE 1 M物理层。

LE 2M - 双倍速率
    新的LE 2 M物理层的速度可达2 M/s上,相比蓝牙4的LE 1 M物理层速度提高一倍。协议栈可以自由选择是否支持这种物理层,它不是必需的。

LE 2M - 4倍距离
    与蓝牙4相比,蓝牙5的LE Coded物理层可以将通信距离扩大到四倍左右,而且不需要增加传输功率,从而降低功耗,这一点非常重要。要理解它是如何完成的,需要我们明白无线通信系统中所谓的“范围”是什么意思。
     蓝牙是一种无线电技术,无线电是电磁辐射的一种形式。在通信领域,最大通信范围是指“从接收到的信号中可以正确提取数据的最大范围”,而不是“信号可以传输多远还可以被探测到的距离”。
    区别在于我们如何使用无线电来编码和传输数据,以及背景噪声如何影响接收器的数据解码。通过调制载波信号来表示二进制0或1,然后进行传输。接收方接收到这个信号并将其转换为相同的0或1。如果传输的是1,接收器将其解码为0,则表示传输错误。
    由于环境中存在背景辐射或“噪音”,接收器的工作因此变得复杂起来。背景噪音与接收信号的距离越近,就越难解码接收到的信号,这样就有可能出现解码错误。
    我们将信号强度与背景噪声的比值,称为信噪比(SNR)。接收器离发射器距离越远,接收到的信号强度越小。因此,背景噪声的存在会导致信噪比降低,从而提高解码出错率。
    我们可以将错误程度进行量化,称之为误比特率(BER)。误比特率是指每个传输的比特被接收器错误解码的概率。我们可以根据接收器的接收强度等级对误比特率的范围进行限制。在蓝牙中,规定接收器的最大误比特率不能超过0.1% 。误比特率限制以及接收器接收强度等级通常被称为接收器的灵敏度。
    因此,如何在不增加发射功率的情况下增加蓝牙的通信距离确实是一个问题。换句话说,就是如何增加接受器的灵敏度,从而在更远距离,更低信噪比的情况下依然可以达到误比特率的要求,正确解码数据。
深入理解蓝牙5之远距离通信_第4张图片

错误处理
    在通信系统中,主要通过两种方法来进行错误处理。一个是错误检测,第二个是错误纠正。

错误检测
    接收器检测错误有多种方式。奇偶校验是一种常用的方式。有线,串行通信系统中经常使用奇偶校验位,来检测到一个或多个比特的解码错误。
    我们还可以使用计算校验和的方式来进行错误检测。蓝牙中使用了循环冗余校验(CRC)技术。所有的数据包都有一个24位的CRC值,由发射器进行计算,并附加到数据包中。接收器重新计算CRC,并将计算值与数据包中的的CRC值进行比较。如果它们不相同,就说明传输出现了错误。
深入理解蓝牙5之远距离通信_第5张图片
    如果检测到了错误,系统可以采用多种方式进行响应。系统可能认为这是一个非常严重的错误,并终止通信,也可以请求发送者再次发送数据,以获取正确的数据。在蓝牙4和蓝牙5中,如果CRC校验失败,接收器就不会发送应答,发送器如果收不到应答便会再次发送数据。

错误纠正
    我们不仅可以检测传输错误,还可以对其进行一定程度的纠正,这样就不需要重新传输数据了。蓝牙4中的低功耗蓝牙技术不能进行错误纠正,只可以进行错误检测。蓝牙5 引入了错误纠正功能。使用错误纠正技术可以在更低信噪比的情况下正确解码数据,从而增大传输距离。
    如果我们不使用任何形式的错误校正方法,距离信源越远,传输的数据误比特率(BER)就会越大。在某一个位置,误比特率达到我们允许的最大值。如们使用一些纠正方法减少这些错误,BER就会降低,这样通信的有效范围就会增加。当然,在更远的某一位置,BER仍会达到我们允许的最大值,只不过这次距离更远。这就是蓝牙5通信距离增加的基本原理。只是用到了一些数学方法,并没有什么魔法。

FEC
     LE Coded 物理层使用了前向纠错技术(FEC),通过在数据包中加入额外的数据位来支持FEC算法进行错误纠正。如下图所示,LE Coded PHY在链路层新加入了编码,解码两个阶段,进行数据流处理。
深入理解蓝牙5之远距离通信_第6张图片

     FEC编码使用了卷积编码器,借助下面的多项式为每一个输入的数据位生成两个数据位:
深入理解蓝牙5之远距离通信_第7张图片

     如下图所示,LE Coded可以使用2种不同的编码方式,即S = 2,S = 8。模式映射器将FEC 编码器输出的每一位转换为符号P,P的值取决于你所使用的编码方式。如果S = 2,则没有变化,如果S = 8,则FEC编码器输出的每一位变成4位。
深入理解蓝牙5之远距离通信_第8张图片
     选择不同的编码方式。即S = 2或S = 8,会产生两种不同结果。当S = 2时,BLE的通信范围会增加一倍,当S = 8时,BLE的通信范围大约是原来的四倍。但是由于需要额外的数据位来支持FEC算法,所以BLE的数据传输速率会降低。总的来说,当S = 2时,1位通过FEC编码器和模式映射器变成2位,当S=8时,1位通过FEC编码器和模式映射器变成8位。

LE Coded 包结构
     如下图所示,LE Coded PHY使用了新的修改过的包结构。
深入理解蓝牙5之远距离通信_第9张图片
与蓝牙4和LE 1M相比,它们之间的区别如下:
    扩展前导:接收器使用前导字段设置增益控制,以确定用于表示0和1的频率,并进行符号定时估计。蓝牙4的数据包以及蓝牙5 1M PHY的数据包使用8位0,1交替的前导。LE 2 M使用了16位前导,由于它的符号率增加了,所以它们传输花费的时间相同。LE Coded 使用了80位的前导,由10组 “00111100” 组成。这里需要注意的是,前导不受FEC编码的影响。我们还可以利用前导来确定数据包对应的是哪种物理层。
    FEC Block 1:数据包的剩余部分划分为FEC Block 1和FEC Block 2两部分。FEC Block 1用S = 8编码,以获得最大冗余。FEC Block 1中的编码指示(CI)表示FEC Block 2的编码方式(S=2或S=8)。每个块的末尾都有一个TERM值,这个值是000。在位流处理过程中,TERM值具有重置FEC编码器的效果。
    FEC Block 2:FEC Block 2 包含数据包PDU以及CRC。它的编码方式由FEC Block 1中的CI决定。

LE Coded 符号率
    LE Coded PHY 的符号率为1 Ms/s,与LE 1M PHY的符号率相同。

三种物理层比较
    蓝牙5三种物理层的各项指标如下:
深入理解蓝牙5之远距离通信_第10张图片

三种物理层比较
     本文的主要关注点是蓝牙5的远距离通信能力,它使用了新的LE Coded物理层。主机可以使用主机控制器接口(HCI)“LE Set PHY”命令选择不同的物理层,进行发送(TX)和接收(RX),它们之间彼此独立。应用程序可以选择“2Ms/s模式”进行高速数据传输或者切换到“长距离模式”进行远距离通信(这样可以控制无人机)。
    主机可以使用HCI“LE Set Default PHY”命令设置默认的物理层,并使用HCI“LE Read Remote Features ”命令查询远端设备的功能。后者返回各种信息,包括远端设备支持的PHYs的详细信息。

总结
    蓝牙5代表了蓝牙技术的重大进步。使用新型长距离 LE Coded PHY,通信距离可以覆盖整个家庭甚至整栋建筑。新的工业应用将成为可能,一些智能城市应用也将成为可能。蓝牙5作为物联网时代的低功耗无线技术,将在更多领域产生重大影响!

你可能感兴趣的:(IOT,Communication)