1. 硬件连接与原理图分析
做嵌入式音频开发,最怕的就是硬件连接没搞清楚就开始写代码。我在RK3566平台上调试ES7202麦克风矩阵时,第一件事就是拿着原理图反复核对,这个习惯让我少走了很多弯路。
RK3566的PDM接口确实很强大,支持多通道音频采集。从原理图上看,它有四个数据输入通道:PDM_SDI0_M0、PDM_SDI1_M0、PDM_SDI2_M0和PDM_SDI3_M0。还有两个时钟信号:PDM_CLK0_M0和PDM_CLK1_M0。理解这些接口的对应关系非常重要,因为后续的DTS配置完全依赖于这些硬件连接。
我们的硬件设计使用了三个ES7202芯片,实现了4个麦克风加2路回采的配置。ES7202是一款高性能的PDM麦克风ADC芯片,每个芯片可以处理2个通道。具体连接是这样的:第一个ES7202处理2个麦克风,第二个ES7202处理另外2个麦克风,第三个ES7202专门处理2路回采通道。
在实际连接中,我们使用了PDM_CLK1_M0作为主时钟,数据通道使用了PDM_SDI1_M0、PDM_SDI2_M0和PDM_SDI3_M0。I2C控制总线使用的是I2C4,所有芯片都采用3.3V供电。这里有个细节需要注意:PDM_SDI0_M0和PDM_CLK0_M0没有被使用,这在后续的DTS配置中需要特别注意,否则会导致通道映射错误。
2. DTS设备树配置详解
2.1 声卡设备定义
设备树配置是整个音频系统的核心,它定义了硬件如何被操作系统识别和使用。在RK3566上配置ES7202声卡,首先需要定义声卡设备:
es7202-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "pdm";
simple-audio-card,name = "rockchip,es7202";
simple-audio-card,mclk-fs = <256>;
status = "okay";
simple-audio

3472

被折叠的 条评论
为什么被折叠?



