当前位置:网站首页 > 编程语言 > 正文

16位解码(16位解码器)



接前一篇文章:WM8978 —— 带扬声器驱动程序的立体声编解码器(3)

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了)。

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

到此这篇16位解码(16位解码器)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • xmouse怎么设置速点(xmouse怎么将鼠标中键改成)2025-09-07 15:54:06
  • 安装虚拟机对电脑有什么影响吗苹果(苹果装虚拟机伤电脑吗)2025-09-07 15:54:06
  • libglesv2.dll丢失(lib.dll文件丢失)2025-09-07 15:54:06
  • 神秘代码网站(神秘代码 知乎)2025-09-07 15:54:06
  • 网页传输文件到手机(如何用网页传输文件)2025-09-07 15:54:06
  • ssh免密登录失败怎么办(sshd免密登录)2025-09-07 15:54:06
  • 104协议解析(104协议报文解析)2025-09-07 15:54:06
  • 工具类品牌排行(工具类品牌排行前十)2025-09-07 15:54:06
  • 字符串转map(字符串转map集合)2025-09-07 15:54:06
  • max3488原理图(max3488的作用)2025-09-07 15:54:06
  • 全屏图片