16位解码(16位解码器)

16位解码(16位解码器)p 接前一篇文章 WM8978 带扬声器驱动程序的立体声编解码器 3 p 1 整体概览 WM8978 芯片共有 58 个寄存器 整体总表如下 注意 WM8978 的寄存器是 9 位的 而且是只写的 只可以写 不可以读 2

大家好,我是讯享网,很高兴认识大家。



 <p>接前一篇文章&#xff1a;WM8978 —— 带扬声器驱动程序的立体声编解码器&#xff08;3&#xff09;</p> 

讯享网

1. 整体概览

WM8978芯片共有58个寄存器,整体总表如下:

注意:

WM8978的寄存器是9位的!而且是只写的,只可以写,不可以读!

2. 详细说明

在此,只介绍WM8978较为常用的那些寄存器。

(1)寄存器0 —— Software Reset

此寄存器功能用于控制WM8978的软件复位,写任意值到该寄存器地址,即可实现WM8978 的软件复位。

ADDR

B[15:9]

REGISTER


讯享网

NEME

B8 B7 B6 B5 B4 B3 B2 B1 B0

DEF'T

VAL

DEC HEX (HEX) 0 00 Software Reset Software Reset

示例代码:

讯享网

(2)寄存器1 —— Power manage’t 1

此寄存器需要使能BIASEN(Bit3)位,该位置 1,模拟部分的放大器才会工作,只有使能了该位才可以听到声音。

示例代码:

 

(3)寄存器2 —— Power manage’t 2

此寄存器需要设置ROUT1EN(Bit8)位、LOUT1EN(Bit7)和 SLEEP(Bit6)这三个位, ROUT1EN和LOUT1EN位设置为1,使能耳机输出。SLEEP设置为 0,进入正常工作模式。

示例代码:

讯享网

(4)寄存器3 —— Power manage’t 3

此存器需要要设置LOUT2EN(Bit6)、ROUT2EN (Bit5)、RMIXER(Bit3)、LMIXER(Bit2)、DACENR(Bit1)和 DACENL(Bit0)这6个位。其中,LOUT2EN和ROUT2EN位设置为1,使能喇叭输出;LMIXER和RMIXER位设置为1,使能左右声道混合器;DACENL和DACENR 位设置为1,使能左右声道的DAC。

示例代码:

 

(5)寄存器4 —— Audio Interface

此寄存器需要要设置WL(Bit6:5)和FMT(Bit4:3)这4个位。WL(Bit6:5)用于设置字长,即音频数据有效位数。00表示16位音频,10表示24位音频;FMT(Bit4:3)位用于设置IIS音频数据模式,这里设置为10,表示使用飞利浦模式(IIS)。

示例代码:

讯享网

注:

  • 此(Audio Interface)寄存器的默认值为0x050,也即默认的WL(Bit6:5)为10,表示字长为24位;默认的FMT(Bit4:3)为10,表示使用I2S(飞利浦)模式。
  • 示例代码中由于设置的值为0x50,与默认值相同,因此可以不必写这一句代码。如果要设置的值并非默认值,则需要写此一句代码(当然值就不是0x50了)。

更多寄存器说明请看下回。


小讯
上一篇 2025-05-28 10:41
下一篇 2025-06-09 10:37

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/171468.html