蓝牙状态、角色、地址与网络结构是什么?

摘要:liwen01 2025.10.01 前言 在一个笔记本电脑上,它的蓝牙可以同时连接:手机,蓝牙耳机、音响、键盘、鼠标、打印机等等外设。 这些设备有些是 BREDR, 有些是BLE,所以笔记本电脑的蓝牙肯定是双模蓝牙,能同时支持BRED
liwen01 2025.10.01 前言 在一个笔记本电脑上,它的蓝牙可以同时连接:手机,蓝牙耳机、音响、键盘、鼠标、打印机等等外设。 这些设备有些是 BR/EDR, 有些是BLE,所以笔记本电脑的蓝牙肯定是双模蓝牙,能同时支持BR/EDR 和 BLE 设备。 在这个由多个蓝牙设备组成的网络中,它们处于什么状态,各自的角色是什么,它们又是通过什么来区分彼此? 实际在不同的蓝牙版本中,它们的定义有很大的变化。 在查看蓝牙相关资料时,有些概念容易被搞混,也常常造成理解上的偏差。 (一)蓝牙状态 BR/EDR 与 BLE 使用不同的控制器,所以它们的链路控制器的状态也存在明显差异。 (1)经典蓝牙状态 STANDBY(待机状态):设备默认状态,在该状态下设备没有发出任何蓝牙射频信号,所以它功耗最低。在此状态下,它只是在等待外部命令触发状态切换。 INQUIRY(查询状态):用于主动查找附近的蓝牙设备,设备发送Inquiry请求,目标设备在Inquiry Scan状态中会响应。 INQUIRY SCAN(查询扫描状态):设备周期性监听查询请求(Inquiry packets),如果收到合法的 Inquiry 请求,设备会回应其地址和信息。 PAGE(寻呼状态):发起连接使用的状态,发起方已知目标设备的地址,发送Page(寻呼包)尝试建立连接、Page包中包含目标设备的 BD_ADDR、重复发送寻呼直到目标设备响应或超时。 PAGE SCAN(寻呼扫描状态):目标设备在该状态中监听寻呼包,如果接收到寻呼包,进入配对流程并建立连接。 SYNCHRONIZATION TRAIN(同步训练状态):发送一组同步包,让对方设备更容易锁定频道,减少设备发现时间。 SYNCHRONIZATION SCAN(同步扫描状态):设备监听并锁定同步训练包,成功锁定后进入下一步操作(如连接、配对)。 CONNECTION(连接状态):双方已经完成握手(Paging)并建立同步,可进行数据传输,包括 L2CAP 数据包、控制包、音频数据等。 (2)经典蓝牙 Page 状态 使用 Wireshark 搭配 Bluetooth Dongle 抓取的 HCI 数据包,你会发现:没有 Page 阶段的数据包,因为它发生在控制器内部的射频层(Baseband + LMP)。 你在 Wireshark 的 HCI 视图中只能看到: Sent: Create Connection Event: Connection Complete 中间的page流程是控制器内部完成的,这部分数据不需要经过Wireshark,所以也就显示不了。 (3)经典蓝牙 CONNECTION 子模式 它们的关系可以简化为下面关系: Connection State ├── Active Mode │ ├── Sniff Mode │ ├── Hold Mode │ └── Park Mode └── Connectionless Peripheral Broadcast Mode 注意:在蓝牙核心规范V5.3中,Active Mode 模式下已经没有 Park Mode 这个模式了。 Active Mode(活动模式):Active Mode 是默认模式。在此模式中,设备(从机)保持同步并始终监听主机(Master)的 Poll 包。主从设备之间的通信是持续的、周期性的。从机必须在每个主机 Poll 时间点监听,功耗较高。 Sniff Mode(嗅探模式):Sniff 模式是一种低功耗模式。从机不再持续监听,而是按照约定的 Sniff 间隔(T_sniff) 定期监听主机。其余时间从机关闭接收机进入休眠。在 Sniff 窗口期间,从机能收发数据;窗口外从机不响应主机。 例如耳机在待机播放时段,保持低功耗但仍能响应主机的控制命令。优点是节能,缺点是通信延迟变高 Hold Mode(保持模式):Hold 模式也是低功耗模式的一种,但与 Sniff 不同。从机在指定时间内完全不参与连接通信;在 Hold 时间结束后,再恢复到 Active 模式。Hold 模式通常在从机需要执行其他任务(如扫描、建立新连接、或暂时关闭射频)时使用 比如:一个设备可能暂时挂起当前连接以执行页面扫描操作(Page Scan) (4)BLE 蓝牙状态 BLE 状态机以Standby为中心,其他状态围绕它转换,设计更为节能与高效。 Standby(待机)状态:BLE默认状态为 Standby,不进行任何广播、扫描或连接操作,该模式下功耗最低。它是所有状态的中心枢纽,可跳转到任何其他状态。
阅读全文