1. AC695X芯片按键调试背景解析
作为蓝牙音频SoC领域的成熟方案,AC695X系列芯片在TWS耳机、蓝牙音箱等产品中广泛应用。其按键功能调试是硬件开发中最基础却最容易出问题的环节之一。去年我们团队接手某外贸音箱项目时,就曾因按键响应异常导致整批产品返工。本文将结合实战经验,系统梳理AC695X的按键调试要点。
芯片的GPIO矩阵支持最多16个独立按键检测,采用行列扫描方式实现矩阵按键布局。与早期AC690X系列相比,AC695X新增了按键消抖硬件电路和多重采样机制,但这也带来了新的配置复杂度。
2. 硬件电路设计要点
2.1 典型连接电路
推荐使用10KΩ上拉电阻配合100nF电容组成RC滤波电路,可有效抑制触点抖动。实测表明这种配置下按键抖动时间能控制在5ms以内。特别注意:
避免使用超过47μF的电容,否则会导致按键释放延迟明显
2.2 GPIO模式配置
在硬件原理图阶段就需要确定GPIO工作模式:
c复制// 输入模式配置示例
gpio_set_pull_up(KEY_GPIO, 1); // 使能上拉
gpio_set_direction(KEY_GPIO, 0); // 设为输入
3. SDK软件配置详解
3.1 按键参数结构体
在key_driver.c中需要填充key_para结构体:
c复制struct key_para {
u8 key_type; // 按键类型:K_TYPE_LEVEL/K_TYPE_EDGE
u8 long_time; // 长按判定时间(单位:100ms)
u8 repeat_speed; // 连击间隔
u8 repeat_enable; // 连击使能
};
3.2 消抖参数优化
通过修改key_debounce_time参数调整消抖时间:
- 普通按键建议值:15-30ms
- 金属按键建议值:50-80ms
- 防水设备需增至100ms
4. 常见问题排查指南
4.1 按键无响应
排查步骤:
- 测量GPIO电压:按下时应低于0.8V,释放时高于2.4V
- 检查
sdk_config.h中的`TCFG_IOKEY_EN
