一、WM8978简介WM8978是一个低功耗、高质量的立体声多媒体数字信号编译码器。它主要应用于便携式应用,比如数码照相机、可携式数码摄像机。它结合了立体声差分麦克风的前置放大与扬声器、耳机和差分、立体声线输出的驱动,减少了应用时必需的外部组件,比如不需要单独的麦克风或者耳机的放大器。高级的片上数字信号处理功能,包含一个5路均衡功能,一个用于ADC和麦克风或者线路输入之间的混合信号的电平自动控制功能,一个纯粹的录音或者重放的数字限幅功能。另外在ADC的线路上提供了一个数字滤波的功能,可以更好的应用滤波,比如“减少风噪声”。WM8978可以被应用为一个主机或者一个从机。基于共同的参考时钟频率,比如12MHz和13MHz,内部的PLL可以为编译码器提供所有需要的音频时钟。二、WM8978结构框图与引脚结构结构框图引脚结构三、WM8978引脚介绍引脚引脚名引脚类型引脚描述1LIP模拟输入左麦克风前置放大同相输入2LIN左麦克风前置放大反相输入3L2/GPIO2左通道线输入/次要的麦克风前置放大同相输入/GPIO引脚4RIP模拟输入右麦克风前置放大同相输入5RIN右麦克风前置放大反相输入6R2/GPIO3右通道线输入/次要的麦克风前置放大同相输入/GPIO引脚7LRC数字输入输出DAC和ADC的采样率时钟8BCLK数字音频位时钟9ADCDAT数字输出ADC数字音频数据输出10DACDAT数字输入DAC数字音频数据输入11MCLK主时钟输入12DGND电源数字地13DCVDD数字核心逻辑电源14DBVDD数字缓冲器电源15CSB/GPIO1数字输入/输出3线微处理器片选/通用输入/输出116SCLK3线/2线微处理器时钟输入17SDIN3线/2线微处理器数据输入18MODE数字输入控制接口选择(接地,为两线控制模式I2C模式)19AUXL模拟输入左辅助输入20AUXR右辅助输入21OUT4模拟输出中轨耳机伪地缓冲或者右线输出或者单声道混合输出22OUT3中轨耳机伪地缓冲或者左线输出23ROUT2第二右输出或者BTL扬声器同相输出驱动24SPKGND电源扬声器地(供给扬声器放大器和OUT3/OUT4)25LOUT2模拟输出第二左输出或者BTL扬声器反相输出26SPKVDD电源扬声器电源(只供给扬声器放大器)27VMID参考解耦ADC和DAC的参考电压28AGND电源模拟地(供给ADC和DAC)29ROUT1模拟输出耳机右输出30LOUT1耳机左输出31AVDD电源模拟电源(供给ADC和DAC)32MICBIAS模拟输出麦克风偏置1.音频接口引脚MCK主时钟输入MCLK=fs*256;BCLK位时钟BCLK=2*16*fs或2*32*fs;LRCK采样时钟LRCK=fs;ADCDAT音频数据输出DACDAT音频数据输入2.控制引脚CSB/GPIO1输出3线微处理器片选/通用输入/输出1SCLK3线/2线微处理器时钟输入SDIN3线/2线微处理器数据输入MODE控制接口选择(接地,为两线控制模式I2C模式)(1)CSB/GPIO1是用于三线模式时的控制引脚,一般使用两线模式,即普通的I2C模式;(2)MODE选择模式管脚,接高电平为三线模式,接地为两线模式;(3)SCLK和SDIN分别为I2C的SCL和SDA引脚。四、WM8978基本配置1.寄存器R0,复位WM8978;2.寄存器R1,该寄存器主要要设置BIASEN(bit3),该位设置为1,模拟部分的放大器才会工作,才可以听到声音;3.寄存器R2,配置输出1使能;4.寄存器R3,设置输出2使能,使能左右声道DAC、使能左右声道混合器等;5.寄存器R4,设置音频数据有效位数,00表示16位音频,10表示24位音频和设置I2S音频数据格式(模式),我们一般设置为I2S格式,即飞利浦模式;6.寄存器R6,设置MCLK、BCLK和WM8978工作在主模式还是从模式等,具体查看手册;7.寄存器R10和R14,关闭静音、ADC和DAC过采样率;8.寄存器R50,R51设置DAC输出接入左右声道混合器;9.寄存器R52、R53、R54、R55设置耳机和喇叭输出音量;10.寄存器R49,设置开启过热保护;11.寄存器R45、R46、R47、R48设置MIC增益;12.还有一些3D、EQ功能,需查看手册。