WM8976是个Audio
Codec,原来用另外一个芯片,由于某种原因,现在需要更换成WM8976,平台上已经有驱动WM8976的程序,但是控制等有些变化。一开始接手,以为很简单,因为只是换芯片而已,程序也已经好了,以为只要更改几个控制的IO就可以了。
首先叫硬件设计者提供相关资料,他们说没有什么变化。然后就把平台上的程序换成WM8976的,下载后不能正常工作。用示波器发现BB有信号输出到WM8976,但是WM8976没有信号出来,初步判断WM8976没有工作起来,然后就做了以下一些工作:
1.测试供给WM8976的电源是否正常;测试结果是OK的
2.把BB的信号直接接到功放上,也没有声音出来,看来功放的控制也有问题。
查程序,发现控制没有问题;
叫硬件查硬件原理图,发现功放的控制有变,改后,把BB的信号直接接到功放上,有声音,看来功放控制是正常了。
3.测试与WM8976的通信是否正常,发现I2C有信号,但是I2C的应答位错误。详细的I2C应答可参考此处。I2C工作不正常,应该是WM8976没正常启动,跟WM8976供应商联系后,说MODE脚要拉低;
硬件上直接拉低后,有声音出来,看来工作正常。
然后根据这个反过来看硬件原理图,最后发现硬件上没有按照参考设计来做,有个电阻不该连接的连了。
到现在为止,MIDI已经可以播放,但是MP3还不能播放。输入信号是有的,就是没输出。
(待续)
用户482091 2009-3-30 12:31
用户1433974 2007-7-22 14:12
用户96047 2006-11-21 12:03
请问有在linux下的调试wm8976的驱动的方法和注意的地方吗?是用alsa架构写的,郁闷没有声音出来,这方面的信息也比较少,多谢!
用户58555 2006-10-30 13:06
wolfson的确只是提供REG的设置,其他方面没什么好驱动的,你只要检查上电,通信都没问题后,应该就可以了。我的已经调试出来了,可以到我的另外一个BLOG去看,都是硬件问题,软件上没什么好设置的。
hecrics.52rd.net
用户488494 2006-10-29 10:57
Hecrics兄:
我也正在调试WM8976,调了几天了,一点反应都没,我的平台是S3C2410+WM8976,初始化使用三线制,即MODE脚拉高.
1:调试一点头绪都没,老板吹的紧,愁着呢
2:WOLFSON没有提供驱动给我们,只给了我们
一个寄存器的初始化设置,请问你们的驱动是自己写的还是原厂提供的?
THANKS