liwen01 2025.10.02
前言
WiFi、蓝牙都是使用无线电进行数据交互,但是无线电是不可靠的传输,它会反射、散射、折射、衍射还会相互干涉。从用户的体验来看,就是无线信号强度变弱,连接中断、掉线、音频卡顿、失真、配对困难、传输速率下降等。
为解决无线通信中的各种问题,蓝牙模块在物理层、链路层、软件协议栈上都做了些不同的处理,使不可靠的无线传输逐渐地变为可靠的数据传输。
(一)无线通信中的不可靠性
无线信号通信中的不可靠性,一部分源自于无线信号衰减、干扰,另一部分源自于无线数据的数据安全。
(1)无线电信号衰减
信号从发射端传播到接收端过程中,强度逐渐减弱的现象称为信号衰减,衰减的原因有:
- 自由空间路径损耗
 - 穿透损耗(Penetration Loss)
 - 多径效应(Multipath Fading)
 - 噪声干扰
 - 天线方向性与增益
 
(a)自由空间路径损耗

路径损耗是指电磁波从发射天线传播到接收天线的过程中,信号强度的衰减。
即使在没有障碍物、没有反射、没有散射的理想环境中,信号也会衰减,这种损耗就叫自由空间路径损耗。
(b)穿透损耗
穿透损耗是指电磁波在穿过某种物体(例如墙壁、窗户、门、地板等)时,由于能量的吸收、反射、散射和折射等作用,导致信号强度降低的现象。
常见的如在拥挤的地铁上,手机放在口袋中,无线耳机有时就会出现断断续续的情况,主要原因是因为无线电穿透人体后信号强度降低了,导致数据接收不稳定。
(c)多径损耗
在无线电波传播过程中,信号不仅会沿着直线路径从发射端传到接收端,还可能被周围的物体(如建筑物、墙壁、地面等)反射、折射、散射或绕射,形成多个路径同时到达接收端的现象,这就叫做多径传播(Multipath Propagation)。
而由于这些路径的长度不同、到达时间不同、相位不同,它们在接收端会叠加,有时候会相互增强,有时候却会相互抵消,产生信号的波动,这种现象造成的信号衰减就称为 多径损耗(Multipath Loss)
这也叫电磁波的干涉

上图中两个波 f(x) 与 g(x) 它们相互干涉形成了紫色的波 f(x)+g(x),改变 g(x) 的相位,可以看到相干波峰值被加倍或者被抵消为 0。在无线电信号中表示信号增强和衰减
(d)噪声干扰
蓝牙标准使用的是2.4 GHz ISM(Industrial, Scientific and Medical)频段。 这个频段是与Wi-Fi(2.4GHz)重合的。
除了WiFi,还有微波炉、ZigBee、LoRa、等各种设备都是运行在该频段,它们间相互干扰,对于蓝牙而言,就容易出现上面提到的:连接中断、掉线、音频卡顿、失真、配对困难、传输速率下降等问题。
(e)天线方向性与增益
方向性 描述了天线把能量集中到某个方向的能力。
- 如果一个天线把能量平均地向各个方向辐射,它被称为全向天线(Omnidirectional)。
 - 如果一个天线在某些方向上集中发射/接收,它被称为定向天线(Directional)。
 
全向天线:像一个灯泡,360° 辐射,适合覆盖大范围但距离较近的区域
定向天线:像手电筒,能量集中在一个方向,适合远距离通信

天线增益(Antenna Gain)表示天线将电磁能量聚焦到某个方向的能力,用来衡量信号强度的提升程度,通常单位是 dBi(相对于理想全向天线的增益)。

增益越高 → 信号在特定方向上越强 → 能传播得更远。
不同国家地区对电磁辐射的要求不一样,所以也不能简单粗暴地通过提升增益来提高信号。
(2)无线数据的数据安全
(a)配对与身份验证安全
主要体现在配对过程易受攻击
- 蓝牙经典配对(Legacy Pairing),尤其是早期版本(如2.0及以前)中使用固定PIN码(如"0000"或"1234")进行配对,容易被暴力破解。
 - 蓝牙低功耗(BLE)配对 ,虽然引入了Just Works、Passkey Entry、Numeric Comparison、Out-of-Band 等多种配对方法,但其中 Just Works 模式缺乏身份验证,容易受到中间人攻击(MITM)。
 
(b)加密与隐私问题
加密强度不足
- 蓝牙使用对称加密(如E0(经典) 、AES-CCM(BLE)),但如果加密密钥协商过程被劫持或猜解,数据就可能被解密。
 - 部分BLE设备根本未启用加密或加密配置不当。
 
(C)协议层漏洞
蓝牙协议栈实现复杂,容易被发现安全漏洞。例如:
- BlueBorne攻击:远程执行代码漏洞;
 - SweynTooth漏洞组:影响BLE协议栈的连接和安全过程;
 - BrakTooth攻击:针对蓝牙通信协议栈中的缓冲区管理漏洞。
 - 广播包攻击 :攻击者可发送恶意广播包 或利用UUID欺骗诱导设备连接错误的服务或特征。
 
为了解决无线网络的不可靠问题,蓝牙对信号进行了调制处理,在链路层将数据进行进一步的封装,然后再对数据进行加密、白化、FEC编码等操作,使蓝牙无线信号逐渐地变为可靠的数据传输方式。
(二)蓝牙的调制方式
无线信道(天线发射、接收)只能处理模拟信号,也就是连续变化的波(电磁波)。
调制的本质是把数字数据"转换"成可以在无线信道中传输的波形,比如频率、相位、幅度的变化。
对无线信号进行调制,是为了能高效、可靠地通过无线信道传输数据。
在蓝牙设备中,不同工作模式下的调试方式都不一样。
| 模式 | 调制方式 | 速率 | 备注 | 
|---|---|---|---|
| BR | GFSK | 1 Mbps | 最基础的蓝牙模式 | 
| EDR | π/4-DQPSK, 8DPSK | 2 / 3 Mbps | 提升数据速率的经典蓝牙模式 | 
| BLE 1M | GFSK | 1 Mbps | BLE 默认模式,低功耗 | 
| BLE 2M | GFSK | 2 Mbps | BLE 高速模式 | 
| BLE Coded | GFSK + FEC 编码 | 125/500 kbps | BLE 长距离模式(低速高可靠) | 
(1)GFSK(高斯频移键控)调制方式
使用场景:BR、LE 1M/2M PHY
特点:
- 抗干扰能力较好(频移调制易区分)
 - 实现简单,适合低功耗设备
 - 频谱利用效率中等
 
使用它的原因:
- 早期蓝牙(BR)注重简单实现与稳定性;
 - 低功耗蓝牙(LE)强调低功耗与低复杂度,GFSK非常适合;
 
(2)π/4-DQPSK(π/4-差分四相位键控)
使用场景:EDR(2 Mbps)
特点:
- 比GFSK传输速率更高
 - 相邻符号差分编码,便于相位变化检测
 - 对于接收器的相位同步要求较低
 
使用它的原因:
- 为了在保持较好误码率的同时提升传输速率,引入相位调制;
 - π/4偏移设计避免了相位跨越 180°,提升解调稳定性;
 
(3) 8DPSK(8相位差分键控)
使用场景:EDR(3 Mbps)
特点:
- 使用8种相位,单符号携带3 bit信息
 - 频谱效率更高,但误码率较高
 
使用它的原因:
- 为了进一步提高速率;
 - 但对噪声敏感,接收机设计复杂,因此只用于短距离高带宽应用;
 
(4)LE Coded (带前向纠错的LE编码)
使用场景:LE Long Range(远程模式,1M PHY编码)
调制:GFSK + FEC(前向纠错)
特点:
- 传输速率变慢(125 kbps / 500 kbps)
 - 增强抗干扰性和通信距离(最长可达1公里)
 
使用它的原因:
- 用于低速、远距离、可靠性高的场景(如IoT、Beacon)
 
(三)蓝牙链路层数据包格式
这里介绍的是蓝牙链路层的数据包格式,其中BR与EDR链路层数据包格式是相似的,但它们与 BLE 在链路层的数据包格式却差异很大
(1)BR 数据包格式

(a)Access Code(接入码)
所有蓝牙数据包的开头都有一个接入码。这个码由主设备分配,是从设备同步和识别主设备的关键部分。接收端通过匹配 Access Code 来判断该包是否是发送给自己的。
Access Code 的长度为 72 bit,主要作用是:
- 唤醒接收设备;
 - 实现设备识别;
 - 提供同步信息(位对齐和时钟同步)。
 
(b)Header(包头)
包头携带的是控制信息,该控制信息控制着链路层的逻辑和通信协议流程,并且为了增加可靠性,会进行 3 次重复发送 + 多比特纠错。
总长度是 54 bit ,是由 18bit 的信息重复 3 次构成。
包含字段有:
- AM_ADDR(Active Member Address):用于标识从设备;
 - Type:包类型(如:DM1、DH1 等);
 - Flow:流控制位;
 - ARQN:确认请求;
 - SEQN:顺序控制;
 - HEC(Header Error Check):校验头部。
 
(c)Payload(负载)
负载中包含实际的数据内容。不同的 BR 包类型支持不同长度的 Payload(如 DM1、DH1、DM3、DH3、DM5、DH5),总的长度范围是0 ~ 2745 bit
主要结构有:
- Payload Header(有效载荷头);
 - Payload Body(有效载荷体);
 - CRC(循环冗余校验,为可选)
 
(d)调制方式
在 BR 数据包中,所有的字段和数据都是使用 GFSK 调制方式。
(2)EDR 数据包格式

EDR 链路层数据包中包含了 6 个组成部分,使用了两种不同的调制模式。
(a)Access Code(接入码) 与 Header(头部)
BR 与 EDR 在Access Code(接入码) 与 Header(头部) 部分是完全相同的。
它们使用相同的数据结构,以及它们都是采用 GFSK 调制方式。
(b)Guard(保护间隔)
Guard 是 EDR 独有的部分,因为 EDR 使用两种调制模式。
EDR 数据部分使用 DPSK(差分相移键控)调制,而前面的部分用的是 GFSK(高斯频移键控),中间需要一点间隔时间(guard time)切换调制方式,避免误码。
Guard 的作用就是为后续使用不同调制方式的部分做准备,避免调制冲突。
(c)Sync(同步)
Sync(同步)的作用是为了接收端的解调器可以正确解码 DPSK 信号。
Sync 字段有特定比特图案,帮助接收端锁定时钟与相位,对准 DPSK 调制的起始点。
(d)Enhanced Data Rate Payload(增强速率载荷)
该部分是承载实际数据内容的部分。
它使用 π/4-DQPSK 或 8DPSK 调制技术,以更高的速率(2 Mbps 或 3 Mbps)传输数据,相比基本速率的 GFSK 更快。
- π/4-DQPSK:每个符号传输 2 比特。
 - 8DPSK:每个符号传输 3 比特。
 
(e)Trailer(结尾段)
Trailer 是 EDR 数据包中用于"优雅地收尾"DPSK 调制段的符号填充区,确保收发双方同步、调制状态切换顺畅,并不承载实际业务数据。
它的具体符号由控制逻辑决定,长度也不是固定的。
(3)BR 与 EDR 数据包格式的区别
| 对比项 | BR | EDR | 
|---|---|---|
| 调制方式 | 全程 GFSK | GFSK(前导)+ DPSK(数据) | 
| 数据率 | 1 Mbps | 2 Mbps 或 3 Mbps | 
| 结构复杂度 | 简单 | 复杂(多字段用于调制转换) | 
| 新增字段 | 无 | Guard、Sync、Trailer | 
| 应用 | 基本数据传输、语音 | 高速音频、更快文件传输 | 
因为 EDR 对带宽的要求比较高,所以在一个数据包中,它使用了两种调制方式。
为了两种调制方式能更好地同步,所以新增加了Guard、Sync、Trailer 字段。
整体而言,BR 与 EDR 在链路层中的数据包格式是相似的。
(4)BLE 数据包格式

这是 蓝牙5.0及以上在低功耗通信中引入的一种编码方式,用于扩展通信距离(Long Range 功能)。
它使用前向纠错(FEC)和编码因子 S=2 或 S=8 进行低速率的高可靠通信。
BLE 整个数据包可分为两个部分:
- FEC Block 1 :固定长度、使用 S=8编码;
 - FEC Block 2 :可变长度、使用 S=2或S=8编码,具体由 CI 决定。
 
(a)Preamble(前导码)
用于接收端的频率同步和位同步,固定长度为10bit(1010101010),编码后为80 µs,它固定使用 S=8 编码 。
它主要用于无线同步,帮助接收端完成:自动增益控制(AGC)、解调器定时同步、滤波器稳定。
(b)Access Address(接入地址)
长度为 32 bits,编码后为 256 µs 。 每个连接事件中唯一的 32 bit地址。
同时,也用于标识连接和广播事件,如果是广播,通常固定为:0x8E89BED6(广播包)
(c)CI(Coding Indicator)
长度为 2 bits(编码后 16 µs)
作用:
- 指示 FEC Block 2 使用的编码因子 S;
 S=2→ 高速传输;S=8→ 高可靠传输(更适合远距离或低信噪比)。
(d)TERM1(终止字段1)
长度为 3 bits,编码后 24 µs
作用是:FEC Block 1 的结尾标记,用于接收端同步恢复。
(e)PDU(Protocol Data Unit)
该部分为链路层实际的数据,长度为:1~255 Byte
(f)CRC(循环冗余校验)
CRC 是用作链路层校验,长度为 24 bits,编码后为 24 × S µs
CRC 确保 PDU 数据的完整性。
(g)TERM2(终止字段2)
长度为:3 bits(编码后为 3 × S µs) 它是FEC Block 2 的结尾标志
(5)BLE 与 EDR 数据包格式格式的区别
| 项目 | BLE | EDR | 
|---|---|---|
| 用途定位 | 低功耗、低速、远距离通信(如IoT、穿戴设备) | 面向高速数据传输(如音频、文件传输) | 
| 调制方式 | GFSK + FEC(S=2或S=8) | GFSK(前导段) + π/4-DQPSK or 8DPSK(有效载荷段) | 
| FEC | FEC Block 1 和 Block 2 | 不支持FEC,依靠ARQ重传机制 | 
| 同步机制 | 使用 Preamble + Access Address + Coding Indicator + TERM | 使用 Access Code 进行同步 | 
| 速率 | 较低,S=8时只有 ~125 kbps,S=2时为 ~500 kbps | 2 Mbps(π/4-DQPSK)或 3 Mbps(8DPSK) | 
| 复杂度 | 结构复杂,字段多、时序明确,适配纠错和冗余 | 结构较简单,强调速率优先 | 
| 适用场景 | IoT、低功耗传感器、BLE广播、远距离设备通信 | 蓝牙耳机、音频传输、大文件传输 | 
| 控制字段 | 有 CI(Coding Indicator)指示调制编码 | 无明确调制指示字段 | 
| 数据段 | 属于 FEC Block 2,编码后传输 | 直接使用DPSK调制方式传输 | 
(四)蓝牙数据处理流程
在上面链路层数据包格式中,我们看到 BR 与 EDR 的包格式是相似的,它们的数据处理流程也是相似。
它们都有 HEADER 和 PAYLOAD 部分,在数据处理流程中,这两部分又存在差异。
(1)BR/EDR Header 数据处理流程

Header 从生成到被接受被解析,需要经过下面一个流程:
TX header → HEC generation → whitening → FEC encoding → RF interface(发送)
→ RF interface(接收)→ decoding → de-whitening → HEC checking → RX header
        (a)HEC generation(Header Error Check 生成)
在蓝牙 BR/EDR 模式中,链路层包头是18 bit(3字节中的前18位),蓝牙协议为其添加 8 bit的 HEC 校验码,用于 检测头部是否在传输过程中出现比特错误。
HEC generation 的目的:
- 检测链路层包头的传输错误
 - HEC 只保护 header(18 bit),payload 的错误校验由 CRC24 来完成
 - HEC 检查是早期过滤机制,快速检测非法包,节省解码资源
 - HEC 校验失败时,蓝牙设备不会处理该包(例如不会回应 ACK)
 
HEC 有专门的生成算法,对于接收方,接到 Header 后按算法校验即可。
(b) Whitening(数据白化)与 de-whitening
Whitening 是一种数据随机化处理技术,目的是避免数据中出现长时间的 0 或 1 序列,以改善频谱分布、降低误码率,提高抗干扰能力。
数据白化的目的:
- 
减少长时间不变的比特模式(如 00000 或 11111):
- 长时间重复比特会导致载波频偏检测困难,降低接收端灵敏度。
 
 - 
改善频谱平坦性:
- 数据白化使得信号在频域上能量分布更均匀,降低干扰和串扰。
 
 - 
避免信道的系统性偏差被数据"触发":
- 如:调制器某些位模式会引起失真或功率峰值。
 
 
Whitening 的工作原理:
发送端 :蓝牙使用 线性反馈移位寄存器(LFSR) 生成伪随机序列,并将其与原始数据进行 按位异或(XOR),从而达到扰动的目的。
接收端:只需要使用相同的 LFSR 初始化参数,对接收到的数据再次 XOR,即可恢复原始数据(de-whitening)。
数据经过白化之后,也就不会存在多个连续的 0 或是多个连续的 1 了。
(c)FEC encoding(前向纠错编码)
FEC(前向纠错编码)是一种在发送数据时添加冗余信息 的技术,以便接收端即使在数据传输中出现部分比特错误,也可以检测并纠正错误,而不必请求重传。
在蓝牙 BR/EDR 模式中,FEC 主要用于增强链路的可靠性,特别是在噪声大、信号弱的环境下。
在 BR/EDR中, FEC encoding 的使用范围是:
| 数据部分 | 使用 FEC | 编码类型 | 
|---|---|---|
| Access Code | 是 | 1/3 Rate FEC | 
| Header | 是 | 1/3 Rate FEC | 
| Payload | 可选 | 1/3 或 2/3 Rate FEC,或不使用 | 
蓝牙支两种 FEC 编码方式:
- 1/3 Rate FEC(重复编码)
 - 2/3 Rate FEC(卷积编码)
 
具体编码细节这里不做介绍了,对应于接收端,它需要做的是解码。
(d)RF Interface(射频接口)
RF Interface(射频接口) 是蓝牙协议栈的物理层(PHY)部分,负责将经过编码和调制的数据转换为无线电信号(电磁波)进行无线传输,并在接收端完成反向过程。
RF Interface 发送端的主要任务有:
- 接收调制后的比特流
 - 载波调制(如 GFSK、π/4-DQPSK、8DPSK)
 - 频率选择/跳频控制
 - 发射功率控制
 - 模拟信号处理(上变频、放大)
 - 通过天线发送 RF 信号
 
RF Interface 接收端的主要任务有:
- 接收天线接收电磁波
 - 低噪声放大器(LNA)放大接收信号
 - 下变频器(Mixer)将 RF 信号转换为中频/基带
 - 滤波器去除带外干扰
 - 模数转换(ADC)并送入基带处理模块
 
RF Interface 还需要控制发送与接收模式的切换,蓝牙 RF 与 与WiFi 一样,都是半双工工作模式,不能同时收发数据,它们是时分复用的模式。
(2)BR/EDR Payload 数据处理流程

在 BR/EDR中,包头与负载数据的处理方式大致是相同的,但也存在差异。
在同一个数据包中,为啥要做两种不同的数据处理方式呢?这背后的设计逻辑是:
- Header 是整个包的
导航信息,必须保证极高的可靠性,因此强制使用 FEC 和 HEC,即便牺牲带宽。 - Payload 是实际数据内容,容许根据场景权衡可靠性 vs 吞吐率,因而 FEC 可选、支持加密、带 CRC、长度灵活。
 
较大区别的是数据加密和CRC校验
(1)CRC → E0
先计算 CRC,再进行 E0 加密
加密流程
- 计算 CRC :对原始数据计算 循环冗余校验(CRC),并附加到数据末尾。
 - 加密(E0 流密码) :使用 E0 流密码(E0 Cipher) 对整个数据包(包括 CRC)进行加密。
 
解密流程
- 解密(E0 流密码):先用 E0 算法解密整个数据包(包括 CRC)。
 - 校验 CRC:解密后再进行 CRC 校验,以验证数据是否正确。
 
优点:
- 保护了 CRC 校验码,如果数据被篡改,解密后 CRC 可能不匹配,从而检测到篡改。
 - E0 是流加密,适用于低时延数据传输。
 
缺点:无法抵御主动篡改攻击(bit flipping 攻击)
- 由于 E0 是流密码(类似于 XOR),攻击者可能可以篡改加密数据,使得解密后仍然通过 CRC 校验。
 - 举例:攻击者可以修改密文中的特定位,使得解密后仍然是一个有效的数据包。
 
(1)AES-CCM → CRC
先加密数据,再计算 CRC
加密流程
- AES-CCM 加密 :使用 AES-CCM(AES 计数器模式 + CBC-MAC)对原始数据进行加密。
 - 计算 CRC :对加密后的数据计算 CRC 校验,并附加到数据末尾。
 
解密流程
- CRC 校验:先进行 CRC 校验,以检测传输过程中是否发生错误。
 - AES-CCM 解密 :对数据进行 AES-CCM 解密 ,恢复原始数据并验证 MIC(消息完整性码)。
 
优点:更高的安全性、更强的抗篡改能力
- AES-CCM 包含 MIC(消息完整性码),可以防止数据被篡改。
 - 即使攻击者篡改了加密数据,MIC 校验会失败,数据包会被丢弃。- 比 E0 更安全,因为 MIC 机制可抵御比特翻转攻击。
 
缺点:计算开销较高
- 需要额外计算 MIC ,并进行 AES 计算,相较于 E0 流密码有更高的计算成本。
 - 但 BLE 设备通常是低功耗设备,AES-CCM 经过优化,可在硬件层面高效执行。
 
(3)BLE Uncoded PHYs 数据处理流程

这里我们介绍的是BLE PDU(数据负载)部分的数据处理流。
BLE的PDU又因为数据是否使用FEC编码而区分为:BLE Uncoded PHYs 和 BLE coded PHYs
BLE Uncoded PHYs

BLE 使用的加密,就是上面介绍的AES-CCM → CRC,白化过程也相似,不同的是调制模式和 RF 模块 ,这部分前面也已有介绍。
数据加密部分,BLE 与 EDR 之间的区别:
| 对比项 | BLE | EDR | 
|---|---|---|
| 加密算法 | AES-CCM(128-bit) | E0 stream cipher(40/56/128bie) | 
| 密钥长度 | 固定 128 位(强安全性) | 最长 128 位,早期设备可能是 40 或 56 位 | 
| 安全管理协议 | SMP(Security Manager Protocol) | HCI、LMP、Link Manager | 
| 加密层级 | 仅加密 链路层 Payload | 加密整个 Baseband 层(基本带帧结构) | 
| 加密启动时机 | 连接建立后,主设备发起加密请求 | 连接建立期间协商密钥,立即启用加密 | 
| 抗攻击能力 | 强(AES 标准,使用随机数生成密钥) | 中等偏弱(E0 被认为不够强) | 
| 防重放攻击 | 有(Nonce + Packet Counter) | 无明显防重放机制 | 
| 是否支持认证 | 支持,使用配对和绑定机制 | 支持,使用 PIN 码等验证方式 | 
AES-CCM 与 E0 加密的区别
| 特性 | AES-CCM | E0 | 
|---|---|---|
| 标准 | NIST 标准对称加密算法 | 蓝牙自定义流密码 | 
| 安全性 | 被广泛认为是安全的 | 已经被研究界攻击过多次 | 
| 用途 | BLE / Zigbee / LoRa 等标准 | 仅用于蓝牙 EDR Baseband 层 | 
(4)BLE coded PHYs 数据处理流程

BLE coded PHYs 与 BLE Uncoded PHYs 的区别是多加了FEC encoding 和 Pattern mapper 步骤。
(a)FEC encoding
LE Coded PHY 使用的是一种称为 (3,1) 确定性卷积码(deterministic convolutional code),也被称作 Rate 1/3 卷积编码。
核心特征:
- 输入1比特,输出3比特
 - 编码增大了冗余,从而提升解码的鲁棒性
 - 多出的比特可以被接收方用于纠错
 
(b)Pattern Mapper
Pattern Mapper 的目的是将 FEC 输出的比特流映射为更长的符号序列(spreading pattern)以增强信号可靠性。
- 它增加了冗余度,
 - 提高了在远距离和低信噪比情况下的解码成功率。
 
Pattern Mapping 的规则:
- 每一个比特都被映射为一个预定义的symbol pattern。
 
这些符号不是新的信息位,而是用来占据无线信道,提高解码器从噪声中恢复原始比特的能力。
具体 Pattern Mapping 表:
蓝牙规范定义了一个固定的映射表:
| FEC 比特 | S=2 映射符号模式(2bit) | S=8 映射符号模式(8bit) | 
|---|---|---|
| 0 | 01 | 
00001111 | 
| 1 | 10 | 
11110000 | 
对于 S=2:
0➜011➜10
对于 S=8:
0➜000011111➜11110000
其它部分的工作原理与前面 EDR 的相似,这里就不再重复了。
结尾
蓝牙模块为了使不可靠的无线信号变为可靠的无线数据通信,在数据包、数据处理流程、信道、协议栈等等方面都做了很多处理。
这里主要介绍了蓝牙信号的干扰,链路层各模式下的数据包组成、数据处理流程,下一章我们将介绍蓝牙的传输层 HCI 。
------------------End------------------ 如需获取更多内容 请关注 liwen01 公众号