1. 杰理695/696 SDK与蓝牙低功耗技术背景
杰理AC695/AC696系列是珠海杰理科技推出的高性能蓝牙音频SoC芯片,主要面向TWS耳机、蓝牙音箱等消费电子领域。这两款芯片在2018-2020年间占据中低端蓝牙音频市场重要份额,其SDK开发包为开发者提供了完整的蓝牙协议栈实现。
蓝牙低功耗(BLE)Sniff模式是蓝牙协议中的一种节能机制,允许从设备(Slave)在保持连接的同时降低功耗。当主从设备协商进入Sniff模式后,从设备只需在预设的时间窗口(Sniff Interval)内唤醒监听,其余时间可保持睡眠状态。根据蓝牙核心规范v4.2,Sniff间隔可配置范围为10ms到4.08s,实际功耗可降低至常规连接的1/3到1/5。
在杰理SDK中,bt_sniff功能主要通过以下底层机制实现:
- HCI层:通过HCI_Sniff_Mode命令(OGF=0x03,OCF=0x03)与控制器交互
- L2CAP层:管理逻辑信道的数据流控制
- 基带层:处理时序同步和跳频算法适配
注意:695/696的Sniff模式实现与经典蓝牙(BR/EDR)规范略有差异,实际使用时需参考杰理提供的参数范围说明文档。
2. SDK中bt_sniff功能的配置方法
2.1 开发环境准备
杰理SDK通常以压缩包形式提供,包含以下关键目录:
code复制JL_SDK/
├── bsp/ # 板级支持包
├── components/ # 蓝牙协议栈组件
├── examples/ # 参考示例
└── tools/ # 编译调试工具链
推荐使用Keil MDK 5.25+作为IDE,需提前安装JLINK或ST-Link驱动支持。
2.2 核心API调用流程
启用Sniff模式的标准代码流程如下:
c复制// 1. 初始化蓝牙控制器
bt_controller_init();
// 2. 设置Sniff参数(单位:slot,1slot=0.625ms)
tBTM_SNIFF_PARAM sniff_param = {
.min_interval = 160, // 100ms
.max_interval = 800, // 500ms
.attemp
