codec原理图

codec接口
①音频输入接口,连接mic
②音频输出接口,连接speaker
③sai/i2s接口,连接soc,soc和codec互发音频数据
④i2c接口,连接soc,soc配置codec
sai音频接口
MCLK:主时钟,WM8960 工作的时候还需要一路主时钟,此时钟由 I.MX6ULL 提供,MCLK 频率等于采样率的 256 或 384 倍,因此大家在 WM8960 的数据手册里面常看到MCLK=256fs 或 MCLK=384fs。
BCLK:位时钟,用于同步音频数据传输。
ADCDAT:ADC 数据输出引脚,采集到的音频数据转换为数字信号以后通过此引脚传输给主控制器。
ADCLRC:ADC 数据对齐时钟,也就是帧时钟(LRCK),用于切换左右声道数据,此信号的频率就是采样率。此引脚可以配置为 GPIO 功能,配置为 GPIO 以后 ADC 就会使用 DACLRC引脚作为帧时钟。
DACDAT:DAC 数据输入引脚,主控器通过此引脚将数字信号输入给 WM8960 的 DAC。
DACLRC:DAC 数据对齐时钟,功能和 ADCLRC 一样,都是帧时钟(LRCK),用于切换左右声道数据,此信号的频率等于采样率。
i2s音频接口
MCLK (Master Clock): 这是主时钟信号,通常用于音频系统中作为所有音频信号的时钟基准。它为其他音频接口(如BCLK和LRCLK)提供时钟源。
BCLK (Bit Clock): 位时钟信号,它用于同步音频数据传输。BCLK指定每个数据位的传输速率。在I2S接口中,BCLK控制数据的时序。
LRCLK (Left-Right Clock): 左右声道时钟(也叫Word Clock),用于指示音频数据的左右声道。每个周期表示一个音频数据帧的开始(左右声道交替)。
SDI (Serial Data Input): 串行数据输入引脚,用于接收音频数据。在I2S接口中,SDI通常用于接收来自外部音频源的音频数据。
SDO/PDMDATA (Serial Data Output / PDM Data): 串行数据输出引脚,用于输出音频数据。这个引脚的功能可能根据应用不同有所变化。例如,PDM(脉冲密度调制)信号时,SDO可能会输出PDM数据流。
PDMCLK (PDM Clock): PDM时钟信号,用于同步PDM(脉冲密度调制)音频数据流的传输。PDM是通过改变信号的脉冲密度来表示音频信号的技术。