1. 杰理TWS产品线开发全景解析
作为一名在音频和智能穿戴领域摸爬滚打多年的硬件工程师,我完整参与过杰理AC79系列芯片的TWS耳机、智能音箱和手表项目开发。今天想和大家系统分享这套方案的技术架构和落地经验。杰理方案之所以能在白牌市场占据半壁江山,关键在于其高集成度设计——单颗AC79系列芯片就能搞定蓝牙5.3双模、降噪算法和触控管理,BOM成本比竞品低30%以上。
先看这张架构图(图1),这是典型的杰理TWS耳机方案框图。主控芯片通过PCM接口直接驱动动圈单元,内置的DSP同时处理ENC环境降噪和AAC音频编解码。最精妙的是其双耳同步机制,采用私有协议在2.4GHz频段实现<5ms的延迟,实测比络达AB1562方案更稳定。我经手的项目中,这套架构在电商平台产品上的返修率能控制在1.2%以内。
2. 硬件设计关键点剖析
2.1 核心元器件选型
主控首选AC7901A(TWS耳机)或AC7906(智能手表),这两款芯片都内置了16MB Flash,支持离线语音唤醒。有个坑要注意:杰理官方的参考设计里LDO用的是ETA1061,但批量采购时经常缺货。我们实测发现圣邦微的SGM2036可以完美替代,成本还能降0.3元/片。
电池选型直接影响续航表现。以TWS耳机为例:
- 单耳容量:35mAh(入门款)到60mAh(旗舰款)
- 充电电流:建议限制在0.5C以下(即30mAh电池不超过15mA)
- 保护IC:必须选用带NTC温控的型号如DW01D
2.2 PCB布局避坑指南
射频部分布局是成败关键。我们踩过的坑包括:
- 天线馈线长度必须控制在λ/4的整数倍(2.4GHz约31mm)
- 蓝牙滤波器要尽量靠近芯片ANT引脚
- 晶振下方所有层都要做净空区
有个实用技巧:在PCB边缘预留测试点,方便量产时用弹簧针夹具快速测试:
- TP1:VBAT电压
- TP2:充电电流
- TP3:RF信号强度
3. 软件开发实战经验
3.1 开发环境搭建
杰理提供的是基于Eclipse的定制IDE,安装时要注意:
- JDK必须用1.8版本(高版本会报错)
- 安装路径不能有中文
- 首次烧录前要执行
clean_build_all.bat
SDK目录结构解析:
code复制/application # 用户代码
/tws # 双耳通信协议
/ble # 蓝牙协议栈
/drivers # 外设驱动
/i2s # 音频接口
/touch # 电容触摸
3.2 功能开发示例:实现入耳检测
杰理的电容检测方案比传统红外方案更省电。配置步骤:
- 初始化触摸通道:
c复制touch_init(TOUCH_CH4, TOUCH_MODE_PROXIMITY);
- 设置触发阈值(单位pf):
c复制#define EARBUD_THRESHOLD 15 // 典型值12-18
touch_set_threshold(TOUCH_CH4, EARBUD_THRESHOLD);
- 中断回调处理:
c复制void touch_isr() {
if(touch_get_state(TOUCH_CH4)) {
aic_power_on(); // 唤醒音频解码器
} else {
aic_power_off(); // 进入低功耗模式
}
}
4. 量产测试方案
4.1 音频性能测试项
我们自建的自动化测试台包含:
- 频响曲线测试(20Hz-20kHz)
- THD+N失真度(要求<1%@1kHz)
- 左右耳平衡度(差异<3dB)
- 延迟测试(音乐模式<80ms)
测试脚本示例(Python):
python复制import pyvisa
rm = pyvisa.ResourceManager()
audio_analyzer = rm.open_resource('GPIB::12::INSTR')
def test_frequency_response():
audio_analyzer.write('FREQ:START 20')
audio_analyzer.write('FREQ:STOP 20000')
result = audio_analyzer.query('MEAS:FRESP?')
return parse_result(result)
4.2 常见故障排查
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 单耳无声 | 焊盘虚焊 | 用3D X-ray检查焊点 |
| 充电发热 | 充电IC过流 | 调整REG04电阻值 |
| 蓝牙断连 | 天线匹配问题 | 重调π型匹配网络 |
5. 产品差异化开发
5.1 自定义EQ调节
通过修改audio_eq.c实现:
c复制const int16_t user_eq_bands[5] = {
60, // 低频增益(单位0.1dB)
200,
1000,
3000,
12000 // 高频增益
};
5.2 智能手表UI优化
杰理GUI引擎采用LVGL框架,优化技巧:
- 使用局部刷新代替全屏刷新
- 关键动画用硬件加速层
- 字体用内置点阵字库(省30%内存)
内存优化前后对比:
code复制优化前:帧率12fps | 内存占用78%
优化后:帧率24fps | 内存占用52%
在最近一个儿童手表项目中,通过这些优化使续航从3天提升到5天。有个细节:把秒针刷新从每秒60次改为每秒10次,CPU负载直接降了40%。
