VS1053B WAV播放问题
最近一直在纠结,怎样才能将VS1053B的能量发挥到最大。遇到的一个很棘手的问题就是怎样才能让其播放大码率的文件。
抓取一段采样频率44.1kHz,速率1141kbps的WAV音频文件,用SPI的方式给VS1053B,SPI速率肯定至少不能小于这个;但是如果只能用一个SPI口分时复用,能让音频流畅的播放下来么?自己试验了好久,我没法平衡应缓冲多少字节的数据,再送给VS1053B,才能使它解码WAV文件不会断断续续。
大家有没有类似的经历,怎么样才能让VS1053B解码WAV格式,44.1kHz,1141kbps的文件 VS1053B不是有内部缓存吗?这个不是问题吧 这个缓存相对于大码率的WAV文件来说,我个人觉得基本不算缓存,如果主控芯片有DMA支持的话,不知道会不会好一些。但我想先在这个平台上做完然后移植到M3的平台上
如果你把引脚接出来观察电平的变化,你会发现,MP3格式的文件肉眼观察是闪烁的,但是如果WAV的文件,几乎是一直在亮 mowin 发表于 2012-3-28 07:47 static/image/common/back.gif
VS1053B不是有内部缓存吗?这个不是问题吧
这个缓存相对于大码率的WAV文件来说,我个人觉得基本不算缓存,如果主控芯片有DMA支持的话,不知道会不会好一些。但我想先在这个平台上做完然后移植到M3的平台上
如果你把引脚接出来观察电平的变化,你会发现,MP3格式的文件肉眼观察是闪烁的,但是如果WAV的文件,几乎是一直在亮 就算是分时写入由于mcu的流水型运作模式,也就是说同一时刻内也只能够对同一件事情进行操作,所以即便有两个spi也是一样的效果, Acc 发表于 2012-3-28 14:07 static/image/common/back.gif
这个缓存相对于大码率的WAV文件来说,我个人觉得基本不算缓存,如果主控芯片有DMA支持的话,不知道会不会 ...
datasheet写着wav支持8bit或16bit,任何采样率<44khz的,好像对比特率没有要求?我也试了1141kbps的wav,mega32(晶振16M,spi的sclk=0.5foc)+1053(晶振12Mset9800即5.5倍速)来播放,卡的不行,又换了705kbps的wav,勉强能听出旋律。如楼主所说,dreq大部分时间都是高电平(请求数据),我觉得spi送数的速率已经够高了,问题是1053自身对高bps的音频解码支持不好吧?毕竟它的FIFO只有2048byte?还是说真的是spi送数的速度不够??哪位兄台知道真相? 学习了。 遇到同样的问题,现在只能解码320K的Mp3,DREQ还会有规律性低的时候,说明SPI送的比VS1053解的快。当放到CD格式的WAV时,DREQ就一直高了,一直在请求数据,播放时也卡的不行。我感觉是SPI送慢了,或者别的啥。但当我提高SPI的时钟的时候,输出又没有任何声音了。 Tobacco 发表于 2013-4-16 17:06 static/image/common/back.gif
datasheet写着wav支持8bit或16bit,任何采样率
我也求真相,大家可以讨论一下。正在搞这玩意儿。 提供SPI速度试试 我用STM32F205,超频到144M,APB_CLK_div1, spi_clk_div_2,这样设置才能流畅播放16bit 1141kbp wav,
按这样算的话spi速度要那么高,我都不敢相信了,有人说STM32的spi速率低(不用DMA),我示波器太烂测不出 顺利播放FLAC WAVMP3的飘过
页:
[1]