具有蓝牙功能的设备即使在最具复杂的情况下也能够实现高度可靠的通信。蓝牙技术在每一层设计时都考虑了可靠性,并采用了多种技术来降低遭受干扰的可能性。
最近,蓝牙特殊兴趣小组(SIG)的开发人员关系经理Martin Woolley发表了一篇探讨蓝牙技术可靠性的论文。在对蓝牙可靠性的深入探讨中,Woolley解释了尽管无线电固有的不可靠特性,蓝牙技术通过什么技术建立可靠的连接。
以下是论文摘要
从不可靠的基础创建可靠性
蓝牙技术使用无线电,并且无线电不可靠,但是蓝牙通信效果很好,那么如何解释这种明显的矛盾呢?答案在于蓝牙通信系统设计的各个方面,包括其无线电的使用及其协议。
蓝牙技术是一种模块化系统,并且可能有多个堆栈配置。
图:支持蓝牙网格的堆栈配置
智能手机和可连接的外围设备将包括带有主机组件的低功耗蓝牙(LE)控制器,该主机组件支持通用访问配置文件(GAP)和通用属性配置文件(GATT)以及诸如属性协议(ATT)和安全管理器协议(SMP)。
蓝牙Mesh网络还将包含蓝牙LE控制器,但主机部分将包含蓝牙Mesh网络堆栈的各层。
无论堆栈配置如何,每一层都有明确定义的职责以及将数据传递到上方和下方相邻层的方法。蓝牙技术的特征缓解或减少了某些类型的潜在可靠性问题的可能性,这些特征存在于堆栈的各个部分。一些此类机制适用于蓝牙技术的所有可能使用,而其中某些机制仅适用于特定情况。
一般适用的特征和缓解技术
我们将首先预览通常适用于所有情况的蓝牙技术的可靠性增强功能。图示为蓝牙空中接口分组。
包含ATT PDU的蓝牙数据包示例
蓝牙调制方案
蓝牙技术的可靠性始于最根本的问题,涉及如何将无线电用作数字数据载体。在蓝牙堆栈中,这些问题在物理(PHY)层中处理。
物理层必须处理的主要问题之一是能够识别蓝牙无线电传输并正确提取编码为信号的数据。这是迈向可靠性之路的绝对基础。
无线电是一种模拟的物理现象。物理学家通常根据电波来模拟无线电信号。无线电波具有电磁能,并且具有一系列基本特性,包括振幅,波长和频率。以某种方式使用波的基本属性来编码信息的策略称为调制方案。有许多调制方案,有些使用信号幅度的变化;有些则使用变化的幅度;有些使用无线电相位编码信息;有些使用频率变化。
当可靠性是无线电通信系统的重要设计目标时,某些调制方案要优于其他方案。基于幅度的调制方案在某种程度上容易受到噪声引起的干扰,而基于频率的方案则在这方面较不易受到影响。
基本波特性
频率特性
蓝牙技术使用一种特殊的二进制频移键控调制方案,称为高斯频移键控(GFSK)。这是一种二进制调制方案,因为每个符号仅代表一个值为零或一的位。
二进制频移键控通过选择一个称为载波的中心频率,然后将其上移给定的频率偏差以表示1或将其下移相同的频率偏差以表示0,从而对数字数据进行编码。蓝牙核心规范中指定了允许的许可数量,具体取决于所选的符号率,即蓝牙LE中的1或2兆符号每秒(Msym / s)。对于1 Msym / s的符号率,指定的最小频率偏差为185 kHz,而对于更快的符号率,则指定的最小频率偏差为370 kHz。仔细选择这些值可以帮助可靠地识别编码的1和0。
根据定义,频移键控(FSK)调制方案在每次符号值更改时都涉及频率更改。频率的突然变化会产生噪声及干扰。此外,在实际电路中,存在频谱泄漏的可能性,其中信号会无意中溢出到其他频率,这使得在接收机处对其进行解码更加困难。
蓝牙技术通过使用高级FSK调制方案来减少干扰。GFSK的高斯方面通过包括一个滤波器来修改标准的FSK方法,该滤波器可使频率转换更平滑,从而使噪声更小,频谱宽度更窄,从而减少了对其他频率的干扰。
前导
在所有蓝牙的第一个LE数据包被称为前导。它是8位长,包含二进制1和0的交替模式。其目的是为接收器提供可用于查找在分组其余部分中用于编码数字1和0的频率的信息。无线电的自动增益控制也可以使用它来优化信号强度。准确建立信号中使用的频率并将无线电参数设置为最佳状态是确保可靠接收数据包的第一步。
访问地址
当蓝牙控制器正在侦听数据的信道,它将接收由该信道定义的频率范围内的所有无线电信号。收到的信号可能是:
发送到此设备的蓝牙数据包
不适用于此设备的蓝牙数据包
与其他无线通信技术有关的数据包,它们在相同的ISM频带中运行并且使用当前正在扫描的蓝牙无线电信道中的频率
背景噪音
蓝牙控制器必须能够区分准确信号,并准确挑选出对发送到该设备的蓝牙数据包进行编码的信号。其他任何事情都必须忽略。
所有蓝牙数据包都包含一个32位访问地址,该地址几乎可以肯定地允许蓝牙信号在最早的机会被快速拾取,而其他信号则被立即丢弃。
访问地址有两种类型。广告链访问地址是0x8E89BED6的固定值,其中大部分被数据包使用。选择该值是因为它具有良好的关联。关联是用于识别信号中特定模式的数学过程。
在两个连接的设备之间进行通信期间交换的数据包包含一个访问地址,该地址由链路层分配,该值唯一地标识与该连接有关的所有数据包。这些生成的访问地址值在很大程度上是随机的,但要遵守其他规则,这些规则旨在提高正确识别访问地址的可靠性。
与不同的周期性广告链和不同的B路播同步流(BIS)相关的数据包均具有唯一的访问地址。访问地址允许选择与接收设备有关的信号。蓝牙协议栈的链路层负责检查访问地址。
由于访问地址的32位长度,将随机的背景电磁噪声误认为是蓝牙信号的可能性非常小。万一随机背景噪声的模式与与接收器相关的访问地址匹配,则进一步的位流处理将迅速确定它不是有效的蓝牙数据包。
快速选择相关信号并丢弃其他信号是蓝牙接收器操作的另一个关键步骤,有助于可靠的通信。
循环冗余校验(CRC)
所有蓝牙数据包均包含循环冗余校验(CRC)字段,该字段显示在数据包末尾或附近。CRC是一种常用的机制,用于检测由于冲突等问题而意外更改了传输数据的情况。
当链路层制定新的数据包时,通过将CRC算法应用于数据包中的其他位来计算CRC值。然后将所得的24位值添加到数据包中。接收到数据包后,接收设备中的链路层会重新计算CRC,并将结果与接收到的数据包中包含的CRC值进行比较。如果两个值不相同,则得出结论,所发送的分组中的一个或多个比特已被改变并且该分组被丢弃。
应当指出,CRC不是安全机制,因为可以故意更改数据包并且很容易重新计算CRC。
图 具有MIC字段的加密的蓝牙LE数据包
消息完整性代码(MIC)
蓝牙 LE数据包要进行加密。所有加密的数据包都包含一个称为消息完整性检查(MIC)的字段。实际上,MIC是消息验证码,但是由于首字母缩写词MAC在通信领域还有其他用途,因此在蓝牙规范中,使用了MIC 。
MIC本身不是可靠性功能。这是一种安全功能,其目的是能够检测到故意篡改数据包内容的企图。但是,由于我们对可靠性的非正式定义的一部分是,传输的数据应该是接收到的数据,并且我们承认更改可能是无意的或有意的,因此出于完整性考虑,在此将其包括在内。
毕竟,不安全的沟通不可以被认为是可靠的。
扩频
蓝牙技术使用2.4GHz ISM无线电频段。2.4 GHz ISM并未定义单个频率,而是定义了一个频率范围,在这种情况下,频率范围始于2400 MHz,结束于2483.5 MHz。与蓝牙LE一起使用时,此频率范围分为40个通道,每个通道2 MHz宽。蓝牙BR / EDR将其分为80个1 MHz宽度的通道。
从通道零开始,对每个通道进行编号。频道零的中心频率为2402 MHz,在界定频道零的最低频率与ISM 2.4 GHz频带的起点之间留有1 MHz的间隔。通道39的中心频率为2480 MHz,与ISM 2.4 GHz频带的末端之间留有2.5 MHz的间隙。
下图描绘了将ISM频段划分为蓝牙LE使用的无线电信道。请注意,通道号始终以从0到39的连续顺序递增,通道索引则以略有不同的方式分配给ISM通道集。
图 ISM 2.4 GHz频段内的蓝牙LE通道
蓝牙数据通信使用多个无线电信道,使用多个无线电信道使蓝牙通信在可能发生冲突和干扰的繁忙无线电环境中高度可靠。
以这种方式使用多个频率称为扩频技术,在不同情况下,如何使用扩频技术的细节各不相同。
解决共存和并置问题
许多不同的无线电技术同时使用相同的无线电频段带来了潜在的挑战。一种技术可能会干扰另一种技术的传输,这些问题统称为共存问题。蓝牙技术,Wi-Fi,无绳DECT电话甚至微波炉都在2.4 GHz ISM频段内运行,因此这些技术和设备类型之间可能存在共存问题。
共存问题主要通过使用扩频技术在蓝牙中解决。通过在这种情况下在蓝牙中使用扩频技术的特定方式连接两个设备时,可以实现更高的可靠性。
并置是一个术语,用于描述同一设备内存在多个无线电,每个无线电都支持不同的通信技术或一组技术。设备中不同无线电之间存在一定的干扰范围。在4G移动电话系统中使用的长期演进(LTE)无线电可以在与2.4 GHz ISM频带相邻的频带中运行,这引起了潜在的问题,例如阻止一个无线电接收而另一个无线电接收,传输。大多数搭配问题不在蓝牙核心规范本身的范围之内,但向实施者提供了建议。缓解措施包括使用滤波器,以减少无线电之间的干扰以及建议实施者适应的无线电时隙调度注意事项。
无线电时隙调度是一个复杂的问题,与确定无线电何时可用和不可用有关。调度的某些方面属于蓝牙核心规范的范围。与其他无线电设备并置以及其他考虑因素和约束(例如操作系统可能施加的那些因素)有关的问题不会出现。但是,定义了一种称为插槽可用性掩码(SAM)的功能,该功能使两个蓝牙设备可以相互提供有关哪些时隙可以使用的信息,并通过考虑这些信息来确定每个设备使用的调度为了避免可能使用与配置相关的干扰的时隙,可以对时隙进行优化。
LE编码的PHY
蓝牙 LE提供了使用无线电的三种不同的方式。这三种选择是物理层的一部分,每一种都以缩写PHY表示。定义的三个PHY是:
LE 1M – 1 Msym / s符号率
LE 2M – 2 Msym / s符号率
LE编码–具有前向纠错(FEC)的1 Msym / s符号率
LE编码PHY提高了接收器的灵敏度,因此与LE 1M PHY相比,直到接收器与发射器之间的距离更大时,才遇到0.1%的BER。LE编码与名为S的参数设置为2或8一起使用。当S = 2时,LE编码大约使通信可靠范围加倍。当S = 8时,范围约为四倍。
LE编码PHY可以在更长的范围内实现可靠的通信,而不会通过在每个数据包中包含额外的数据来增加传输功率,从而可以使用称为前向纠错的数学技术来检测和纠正错误。范围的增加伴随着数据速率的降低,但是,S = 2产生500 Kb / s,S = 8产生125 Kb / s。
LE编码PHY的主要目的是增加范围,但这是通过降低较低信号强度下的误码率来实现的,从而使较长范围内的通信足够可靠。