一、蓝牙的两种模式
(1)经典蓝牙(BR/EDR)
用于高数据速率应用,如无线耳机、音箱、键盘。
特点是连接稳定,适合持续传输音频或大量数据。
(2)低功耗蓝牙(BLE)
专为低功耗设备设计,如智能手环、温度计、传感器。
特点是耗电低,适合间歇性传输小数据。
总结:两种模式底层都用无线信号传输数据,都遵循蓝牙协议,只是侧重点不同。经典蓝牙重视速度和稳定,BLE重视省电和简单连接。
二、蓝牙核心系统组成
蓝牙核心系统由主机(Host)和控制器(Controller)两部分组成。
主机负责高层协议和控制逻辑,控制器处理底层射频和信号传输。两者分工合作,设备才能正常工作。
三、主机部分(Host)
主机包含多个协议模块,经典蓝牙和BLE有所不同。
经典蓝牙主要模块:
GAP(通用访问协议):管理设备发现和连接建立。
SDP(服务发现协议):帮助设备发现对方支持的服务。
L2CAP(逻辑链路控制协议):管理数据流,负责数据分段和重组。
SMP(安全管理协议):负责加密连接和密钥管理。
BLE主要模块:
GAP(通用访问协议):管理设备发现和连接建立。
GATT(通用属性协议):规定设备如何描述和交换数据属性。
ATT(属性协议):按照GATT规则传输数据。
SMP(安全管理协议):负责加密连接和密钥管理。
经典蓝牙工作流程:
-
GAP搜索附近设备并建立连接
-
SDP查找对方支持的服务
-
L2CAP处理数据传输,分段重组
-
SMP管理密钥和加密
BLE工作流程:
-
GAP搜索附近设备并建立连接
-
GATT列出设备支持的服务和数据属性
-
ATT按照GATT规定格式传送数据
-
SMP保障连接和数据安全
四、控制器部分(Controller)
控制器处理蓝牙底层功能,直接与硬件交互。
主要模块:
LL(链路层):管理蓝牙设备的链路状态和数据包传输。
RF(射频层):处理蓝牙信号的发送和接收。
IAL(等时音频层):BLE特有,处理高实时性数据传输,例如音频。
控制器主要负责:
链路管理:连接的建立、维持、断开。
无线信号传输:信号调制解调、频率管理、纠错编码。
硬件交互:直接控制无线电模块发射和接收。
五、HCI(主机控制器接口)
HCI是连接主机和控制器的桥梁,负责两部分之间通信。
特点:
标准化接口,让不同厂商的设备互相兼容。
传输命令、事件和数据包。
举例:手机的应用层通过HCI命令告诉蓝牙芯片"开始扫描附近设备",芯片执行后通过HCI事件返回扫描结果。
六、双模蓝牙
双模蓝牙同时支持经典蓝牙和BLE,一个设备两种能力
硬件层面同时支持BR/EDR和BLE。软件层面整合经典蓝牙和BLE的高层协议。
支持经典蓝牙的SDP和BLE的GATT,灵活切换。
举例:手机可以同时连接蓝牙耳机(经典蓝牙)和智能手环(BLE)
七、总结
经典蓝牙和BLE虽然侧重不同,但架构相似:都是主机管逻辑,控制器管硬件,通过HCI通信
经典蓝牙适合持续大数据传输,BLE适合低功耗间歇传输。
双模设备兼具两种能力,应用更广泛。