RK3568系列13——ES7202麦克风矩阵配置
ES7202是一个双通道的模拟麦克风采集芯片,通过最多8个组合使用可以实现麦克风矩阵。项目采用两块ES7202芯片实现四通道音频采集。硬件设计参考公版提供的[RK3568_AIoT_REF_SCH_V11_20210611]。
预备知识
- DAI(Digital Audio Interface):CPU端声音输出通路,有I2S、PDM、SPDIF等格式
- codec:物理音频芯片
- sound-card:软件驱动,用于连接DAI和codec
原理图分析
- 第一块芯片I2C地址:从高到低[2:0],地址位为
0b000,因此I2C地址为0x30 - 第二块芯片I2C地址:从高到低[2:0],地址位为
0b001,因此I2C地址为0x31 - 第一块芯片DATA脚:连至RK3568的
PDM_SDI1_M0 - 第二块芯片DATA脚:连至RK3568的
PDM_SDI2_M0
配置要点
- RK3568的
PDM_SDI0_M0脚已分配给ES8316使用,需要在PIN-CTRL中删除 - 组合多个CODEC,不能使用
simple-audio-card,而要使用multicodecs-card - CPU端使用PDM通道
DTS配置
1 |
/ { |
Android配置
- 在HAL层将
ES7202加入至合法的麦克风设备列表
1 |
diff hardware/rockchip/audio/tinyalsa_hal/audio_hw.c |
- 设置声卡路由,由于项目采用的主声卡是
ES8316,因此修改的是es8316_config.h,其他声卡修改同目录下的其他配置文件。项目需求为没有插入耳机时,麦克风采用ES7202麦克风阵列;插入耳机时,使用耳机的麦克风
1 |
diff hardware/rockchip/audio/tinyalsa_hal/codec_config/es8316_config.h |
- 设置声卡采样参数(比特率、波特率、声道等)
1 |
diff device/rockchip/rk356x/alpha/media_profiles_default.xml |
测试工具
1 |
# 查看系统加载的声卡,ES7202索引为1(第二个声卡) |