原创 WM8978调试

2010-12-3 12:53 9271 8 8 分类: MCU/ 嵌入式

STM32F103的开发板上音频部分使用的解码芯片是WM8978,算是比较经典的一款芯片了。

芯片手册:


IIS音频数据接口,IIC或SPI控制信号接口。

WM8978的内部接口如下图:

f70a612b-5962-4778-a835-d66f5b3e8520.jpg

如图中所示WM8978有

4组输入:LIP, LIN; RIP, RIN; L2, R2; AUXR, AUXL

3组输出:OUT3, OUT4; LOUT1, ROUT1; LOUT2 ,ROUT2

各通道之间可以通过寄存器的配置来选择音频输入源,带通参数,增益,输出源等参数。


要对芯片WM8978进行操作,首先就要阅读它的芯片手册,了解相关的操作过程。

当然总线格式,I2C芯片地址等信息是必须的了。然后就是控制命令的操作顺序了。

使能顺序参考内部结构图如下图,或参见手册page14。

ca758c63-6a8f-494f-9eff-052472e87357.JPG

下面的操作顺序是芯片中提供的:

条件:输出不使用1.5x

1. 打开外部电源开关,就是芯片上电了。等待电源电压就绪

2. 使所有输出静音。具体的控制位在R52~R53寄存器中。

3. 使能R3中的位LMIXEN和RMIXEN,使输出通道混合使能。

4. 使能R1中的BUFION,使所有输出可以随时打开。设置R1中的VMIDSEL[1:0]的相关参数,来配置pin27脚的参考电压。参考手册page79。

5. 设置R1中的基准电压BIASEN使能控制位。

6. 使能R2中的LOUT1EN和ROUT1EN。使能ROUT1和LOUT1。

7. 配置其他需要的信号混合控制寄存器。

8. 配置其他需要的输出控制寄存器。

9. 配置剩余的寄存器。


WM8978使用2线串口进行控制时,使用的数据格式是:7位地址+第一位数据,然后是8位剩下的数据。使用的时序是I2C时序。


进行了很多参数的配置,不过好像都不好使。最后就把ADC-DAC给跳了过去。直接从MIC取声音,然后送到音频的输出。

使用的配置路径如下图:

c2ec0387-f12f-4748-af4a-4bd12e058771.JPG

哈哈,没想到居然有声音输出了。感觉还是很不错的。




文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条