1. TWS连接基础:蓝牙经典与BLE的区别、TWS耳机拓扑结构、连接状态机详解
各位同学,咱们今天聊聊TWS连接的基础。说实话,这个章节是整个课程的基石。你如果搞不懂蓝牙经典和BLE的区别,后面那些优化方案根本无从下手。我在项目里见过太多人,上来就调参数,结果连基础概念都搞混了。
1.1 蓝牙经典与BLE:到底差在哪?
很多人觉得蓝牙经典和BLE都是蓝牙,能有多大区别?嗯,区别大了去了。我打个比方:蓝牙经典就像一辆大卡车,能拉很多货(高带宽),但油耗高(功耗大);BLE就像一辆小电驴,拉不了多少货,但省电啊。
具体到TWS耳机场景,我们来看看核心差异:
| 特性 | 蓝牙经典 (BR/EDR) | BLE (低功耗蓝牙) |
|---|---|---|
| 传输速率 | 最高 3 Mbps (EDR) | 最高 2 Mbps (LE 2M PHY) |
| 功耗 | 较高(约 10-30 mA) | 极低(约 1-5 mA) |
| 连接建立时间 | 较慢(约 2-5 秒) | 极快(约 3-10 毫秒) |
| 数据包结构 | 固定时隙,同步性强 | 灵活,支持广播和连接 |
| 典型应用 | 音频流(A2DP)、通话(HFP) | 配对、电量同步、OTA升级 |
关键点:在TWS耳机里,蓝牙经典负责音频传输,BLE负责控制信令。两者分工明确,缺一不可。
为什么会这样设计?你想想看,音频流需要持续稳定的带宽,蓝牙经典的同步连接(SCO/eSCO)正好合适。而配对、电量同步这些控制信息,数据量小,用BLE更省电。我在做一款低端TWS芯片时,曾经尝试过只用BLE传音频,结果延迟高得离谱,根本没法用。
1.2 TWS耳机拓扑结构:左右耳怎么连?
TWS耳机的拓扑结构,说白了就是手机、左耳、右耳三者之间的连接关系。目前主流的有三种方案:
方案一:转发模式(Relay Mode)
这是最经典的方案。手机连左耳(主耳),左耳再把音频转发给右耳(从耳)。
- 优点:实现简单,兼容性好
- 缺点:左耳功耗高,转发有延迟
- 适用场景:早期TWS耳机,如AirPods 1代
方案二:监听模式(Snoop Mode)
手机同时连左右耳,但只给左耳发数据。右耳通过监听左耳和手机的通信来获取音频。
- 优点:左右耳功耗均衡,延迟低
- 缺点:对芯片要求高,需要支持监听功能
- 适用场景:中高端TWS耳机
方案三:双发模式(True Wireless Stereo)
手机同时连左右耳,独立发送左右声道数据。这是目前最先进的方案。
- 优点:延迟最低,左右耳完全独立
- 缺点:需要手机端支持,兼容性差
- 适用场景:旗舰级TWS耳机
我的经验:如果你在做产品选型,建议优先考虑监听模式。转发模式太费主耳电池,双发模式又太挑手机。监听模式是当前最平衡的方案。
1.3 连接状态机详解:从配对到断连
连接状态机,说白了就是耳机在不同状态之间切换的规则。我习惯把它分成四个核心状态:
状态机流转图(文字版):
待机(Idle) → 广播(Advertising) → 连接(Connected) → 断开(Disconnected)
↑ |
└──────────────────────────────────────────────────────┘
状态一:待机状态(Idle)
耳机在充电仓里,或者刚开机但还没开始搜索。这个状态下,功耗最低,几乎不耗电。
- 触发条件:开机、从充电仓取出
- 行为:等待唤醒
- 功耗:< 1 μA
状态二:广播状态(Advertising)
耳机开始发送广播包,告诉手机「我在这儿」。这个状态很关键,我遇到过很多连接不上的问题,都是广播参数没调好。
- 广播间隔:20 ms - 10.24 s(可配置)
- 广播通道:37、38、39(三个通道轮流发)
- 功耗:约 1-3 mA
避坑指南:我曾经把广播间隔设成 100 ms,结果手机扫描时老是漏掉广播包,导致配对失败。后来改成 30 ms,问题就解决了。广播间隔太短费电,太长又容易丢包,需要根据实际场景调优。
状态三:连接状态(Connected)
手机和耳机建立连接后,进入这个状态。这里又分两个子状态:
- 连接参数协商:交换连接间隔、延迟、超时时间等参数
- 数据传输:音频流、控制命令的传输
连接间隔(Connection Interval)是个重要参数。我建议设成 7.5 ms - 50 ms 之间。太短了功耗高,太长了延迟大。我一般取 20 ms,算是比较折中的值。
状态四:断开状态(Disconnected)
连接异常断开后,耳机需要快速重连。这里有个细节:
- 快速重连:断开后立即进入高速广播,间隔 20 ms
- 慢速重连:如果 30 秒内没连上,切换到慢速广播,间隔 1 秒
- 休眠:如果 5 分钟还没连上,进入深度休眠
核心要点:连接状态机的设计,本质上是在功耗、延迟、稳定性三者之间做权衡。没有完美的方案,只有最适合你产品的方案。
好了,这一章的内容就到这里。下一章我们会深入讲解蓝牙经典音频协议栈,包括A2DP、HFP、AVRCP这些协议的具体实现。到时候我会分享一些我在调试音频卡顿时的实战经验,保证让你少走弯路。