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编码等操作,使蓝牙无线信号逐渐地变为可靠的数据传输方式。 
(二)蓝牙的调制方式 
 
无线信道(天线发射、接收)只能处理模拟信号,也就是连续变化的波(电磁波)。 
调制的本质是把数字数据“转换”成可以在无线信道中传输的波形,比如频率、相位、幅度的变化。 
对无线信号进行调制,是为了能高效、可靠地通过无线信道传输数据。 
在蓝牙设备中,不同工作模式下的调试方式都不一样。 
模式调制方式速率备注BRGFSK1 Mbps最基础的蓝牙模式EDRπ/4-DQPSK, 8DPSK2 / 3 Mbps提升数据速率的经典蓝牙模式BLE 1MGFSK1 MbpsBLE 默认模式,低功耗BLE 2MGFSK2 MbpsBLE 高速模式BLE CodedGFSK + FEC 编码125/500 kbpsBLE 长距离模式(低速高可靠)(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 数据包格式的区别 
 
对比项BREDR调制方式全程 GFSKGFSK(前导)+ DPSK(数据)数据率1 Mbps2 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 数据包格式格式的区别 
 
项目BLEEDR用途定位低功耗、低速、远距离通信(如IoT、穿戴设备)面向高速数据传输(如音频、文件传输)调制方式GFSK + FEC(S=2或S=8)GFSK(前导段) + π/4-DQPSK or 8DPSK(有效载荷段)FECFEC Block 1 和 Block 2不支持FEC,依靠ARQ重传机制同步机制使用 Preamble + Access Address + Coding Indicator + TERM使用 Access Code 进行同步速率较低,S=8时只有 ~125 kbps,S=2时为 ~500 kbps2 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 FECHeader是1/3 Rate FECPayload可选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 之间的区别: 
对比项BLEEDR加密算法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-CCME0标准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)0010000111111011110000对于 S=2: 
对于 S=8: 
 
- 0 ➜ 00001111
 
 - 1 ➜ 11110000
 
  其它部分的工作原理与前面 EDR 的相似,这里就不再重复了。结尾 
 
蓝牙模块为了使不可靠的无线信号变为可靠的无线数据通信,在数据包、数据处理流程、信道、协议栈等等方面都做了很多处理。 
这里主要介绍了蓝牙信号的干扰,链路层各模式下的数据包组成、数据处理流程,下一章我们将介绍蓝牙的传输层 HCI 。 
  
------------------End------------------如需获取更多内容请关注 liwen01 公众号 
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除 
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |