1. 杰理平台MIC1作为通话麦克风的修改方法解析
作为一名在音频硬件领域摸爬滚打多年的工程师,我经常遇到需要调整麦克风配置的场景。今天要分享的是在杰理(AC692X/AC693N等)方案上,将MIC1设置为通话麦克风的具体实现方法。这个需求在实际项目中很常见——比如当主板布局限制导致默认MIC0位置不理想时,或者需要优化双麦克风阵列的指向性时。
注意:不同杰理芯片型号的寄存器地址可能略有差异,建议先查阅对应型号的Datasheet
1.1 硬件电路确认
在修改软件配置前,必须先确认硬件设计是否符合要求。MIC1作为主麦克风使用时需要检查:
- 电路连接:确保MIC1已正确连接到芯片的MIC1N/MIC1P引脚
- 偏置电压:典型值为2.2V,可通过测量MIC1P对地电压验证
- 防pop电路:串联的22Ω电阻和100nF电容是否齐全
- 接地隔离:模拟地和数字地的单点连接是否合理
我遇到过最典型的坑是硬件同事把MIC1的偏置电阻焊成了10kΩ(标准应为2.2kΩ),导致录音灵敏度异常。用万用表测量时发现偏置电压只有1.8V,远低于正常值。
1.2 寄存器配置修改
杰理平台的音频路由是通过AF_CTRL寄存器控制的,具体修改步骤如下:
c复制// 默认配置(MIC0作为主麦)
#define DEFAULT_MIC_CFG 0x0001A000
// 修改为MIC1的配置
#define MIC1_AS_MAINMIC 0x0002A000
void audio_init()
{
// 原配置
// REG_WRITE(AF_CTRL, DEFAULT_MIC_CFG);
// 新配置
REG_WRITE(AF_CTRL, MIC1_AS_MAINMIC);
// 需要同步更新的寄存器
REG_WRITE(ADC_CTRL, 0x001F); // 设置ADC增益
REG_WRITE(MIC_BIAS, 0x03); // 启用MIC1偏置
}
关键位域解析:
- AF_CTRL[17:16]:主麦克风选择(00=MIC0,01=MIC1)
- AF_CTRL[13]:MIC1使能位
- ADC_CTRL[4:0]
