打印

有朋友用过WM8904吗?

[复制链接]
9294|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xubin4858|  楼主 | 2011-6-7 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在用STM32控制WM8904,实现了播放模拟输入的BYPASS的音频,但是无法播放通过ADC  和DAC的音频,郁闷了好几天,不知道哪个寄存器设置错了,现在还在看资料中,有用过的朋友请指点一二了
沙发
pkat| | 2011-6-7 16:11 | 只看该作者
楼主把具体问题可以贴出来看看,代码之类的

使用特权

评论回复
板凳
xubin4858|  楼主 | 2011-6-8 10:19 | 只看该作者
现在问题解决了一部分,模拟音频输入经过ADC和DAC可以输出了。但是通过STM32的IIS传输的音频数字信号貌似并没有经过DAC输出。昨天遇到的问题解决方法是虽然ADC表面看来并没有通过IIS的时序来实现,实际上是有很大关系的。STM32必须给上IIS的时序,然后WM8904的ADC和DAC才能启动才能输出音频。各位朋友有用过类似芯片的情指导一二了。

使用特权

评论回复
地板
janeslee| | 2011-6-8 13:26 | 只看该作者
STM32的I2S是个残废,不能双工工作,数据线只能分时复用

使用特权

评论回复
5
xubin4858|  楼主 | 2011-6-8 13:57 | 只看该作者
我知道啊,但是目前的效果貌似WM8904处于从机的发送模式,但是我想改为接收模式却从DATASHEET上找不到

使用特权

评论回复
6
xubin4858|  楼主 | 2011-6-8 14:01 | 只看该作者
现在如果哪个朋友知道如何设置WM8904的接收和发送模式也成,就差这么一点了,在DATASHEET上找不到

使用特权

评论回复
7
janeslee| | 2011-6-8 14:01 | 只看该作者
我有用WM8974,WM8974处于MASTER模式,STM32使用SPI SLAVE模式与其连接,这样可以支持DMA和双工工作,你具体是什么问题?

使用特权

评论回复
8
xubin4858|  楼主 | 2011-6-8 14:05 | 只看该作者
我现在具体问题是无法让WM8904处于从接收状态

使用特权

评论回复
9
xubin4858|  楼主 | 2011-6-8 14:06 | 只看该作者
他现在处于从发送状态,只要有模拟音频输入他就在ADCDAT端口输出输出给STM32。我不用双工,单工就成

使用特权

评论回复
10
xubin4858|  楼主 | 2011-6-8 14:07 | 只看该作者
兄台知道如何更改他们的状态吗,

使用特权

评论回复
11
xubin4858|  楼主 | 2011-6-8 14:15 | 只看该作者

使用特权

评论回复
12
janeslee| | 2011-6-8 18:18 | 只看该作者
从接收?什么意思?CODEC只有两种状态,MASTER和SLAVE模式,这两种方式都是可以发或收音频数据的,只有BCLK和LRCLK的方向区别而已,通过R25寄存器即可修改模式,不明白你的意思。

使用特权

评论回复
13
xubin4858|  楼主 | 2011-6-10 13:17 | 只看该作者
问题已经解决,结贴

使用特权

评论回复
14
xubin4858|  楼主 | 2011-6-10 13:17 | 只看该作者
WM8904跑起来了呵呵

使用特权

评论回复
15
秋天落叶| | 2011-6-10 15:12 | 只看该作者
楼主如何解决的

使用特权

评论回复
16
xiangquan2011| | 2011-9-8 18:19 | 只看该作者
朋友
  您好!我现在也在用STM32控制WM8904,STC32的I2S只有一根数据线,而WM8904是2根单向数据线,硬件怎么连接啊,            
拜托了,告诉我一下。我QQ:274177930    或者在论坛留下你的联想方式

使用特权

评论回复
17
yybj| | 2011-9-8 19:09 | 只看该作者
楼主共享一下经验,共享也是一种美德

使用特权

评论回复
18
aqibluesky| | 2014-10-13 22:53 | 只看该作者
janeslee 发表于 2011-6-8 14:01
我有用WM8974,WM8974处于MASTER模式,STM32使用SPI SLAVE模式与其连接,这样可以支持DMA和双工工作,你具 ...

hi,janeslee:
最近用使用WM8974,但是调了好久没有成功,看到你调试成功,能不能借鉴一下,不方便的话能不能告诉初始化的过程,谢谢

使用特权

评论回复
19
janeslee| | 2014-10-14 10:47 | 只看该作者
aqibluesky 发表于 2014-10-13 22:53
hi,janeslee:
最近用使用WM8974,但是调了好久没有成功,看到你调试成功,能不能借鉴一下,不方便的话能不 ...

如果需要双工收发语音数据就不要使用STM32的I2S模式,将其设为SPI从模式,MOSI接8974的ADCDAT,MISO接8974的DACDAT,FRAME接CPU的一个管脚做中断使用,将SPI的收发都配置上DMA。需要收发数据时,允许8974输出BCLK和FRAME并允许FRAME中断,一旦FRAME中断,就关闭中断并允许SPI,后面的收发就由DMA控制了,无需任何干预。

使用特权

评论回复
20
aqibluesky| | 2014-10-15 17:39 | 只看该作者
janeslee 发表于 2014-10-14 10:47
如果需要双工收发语音数据就不要使用STM32的I2S模式,将其设为SPI从模式,MOSI接8974的ADCDAT,MISO接897 ...

是这样的,我主要的问题现在是初始化WM8974成为IIS 的master模式,但是一用示波器没看到有bit clk ,或者fram clk,不知是不是寄存器哪里没设置对

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

141

帖子

3

粉丝