jamming 发表于 2013-4-28 12:42

ARM7实现高清WAVE文件播放

WAVE播放器完工有段时间了,之前只支持16Bit/24Bit44.1KHzWAVE文件,现改进了一下,能支持更高清晰度的WAVE文件了。
首先说明:所谓高清WAVE文件是相对于16Bit/44.1KHz来说的,目前测试可支持到24Bit/88.2KHz和24Bit/96KHz。
实现过程:
第一步:SD卡读速度测试。我的WAVE播放器使用SPI方式访问SD卡,速度是个瓶颈。在23.6MHzSCLK频率下,读速度只能达到750KBytes/s.在使用了DMA和FIFO后,读速度提高到了1.1MBytes/s.
第二步:码率计算。24Bit/96KHz码率为 24X2X96=576KBytes/s. SD卡的访问速度是足够的。
第三步:I2S时钟生成。我的WAVE播放器使用CPLD来生成I2S信号,为了整数倍分频得出44.1KHz、48KHz、88.2KHz、96KHz四种频率使用了16.9344MHz和12.288MHz两种时钟源。ARM7通过WAVE文件头44字节获知文件的格式,然后通过IO控制CPLD生成对应的频率。

两种有源晶振



播放文件

Biglee_163 发表于 2013-4-28 13:44

ARM7用的啥芯片啊

jamming 发表于 2013-4-28 13:55

ARM7:LPC1768      NXP
CPLD:XC9572XL   XILINX
DAC: PCM1798   TI
运放:OPA2604    TI

jamming 发表于 2013-4-28 13:56

NXP 的 LPC1768

maxwang71 发表于 2013-4-28 14:19

既然 这样 , 为何不选 STM32F4 价格也 不贵, 播 24bits 192khz 都 没有问题

Biglee_163 发表于 2013-4-28 16:44

我们QQ群自己玩的9018播放器用STM32F4,可以支持到24位192K的WAVE和24位96K的FLAC

jamming 发表于 2013-4-28 17:13

STM32F4有SD控制器,可SDIO 4bit数据方式读文件,速度是快很多的。
DIY嘛,就是手头有什么就玩什么。我手头只有LPC1768,所以嘛只好用它了。

jamming 发表于 2013-4-28 17:29

今下午终于把按文件夹播放也做完了,解决了SD卡里有歌很多文件时选歌麻烦的问题。
把卡里的歌按类型,放到不同文件夹,类似一张张CD。
播放时,通过按键切换文件夹,在1602显示屏的第二行显示文件夹的名称,这样选歌就方便多了

winterdate 发表于 2013-4-29 03:29

小胜子 发表于 2013-4-29 11:33

我也想整个

jamming 发表于 2013-5-2 10:58

winterdate 发表于 2013-4-29 03:29 static/image/common/back.gif
为啥不像硬盘似地弄个缓存?读取速度不就解决了?

缓存只能解决突发读写的问题。除非能缓存下整首歌,否则像WAVE播放这样流水式的,必须得读SD卡速度大于播放速度。

hsj21 发表于 2013-5-2 20:30

有板吗, 让一套玩玩

winterdate 发表于 2013-5-3 20:52

孙强 发表于 2013-5-4 08:32

本帖最后由 孙强 于 2013-5-4 08:39 编辑

我怎么觉得各位都把 wav播放器搞的复杂了本来wav 就是最简单的 音频文件
44.1 16 的cd音质 wav文件 sd卡的速度都足够播放了
高性能单片机 足够 了 arm都用上了 多少有点 大炮打鸟 的感觉
arm应该 在 ape flac 上大放异彩另外 ape牵涉到浮点运算flac 整数运算 应该没有问题
我用单片机播放44.1 16 的cd音质 wav文件 非常成功 线路结构非常简单 制作 成本又很低廉

zltmax 发表于 2013-5-4 08:42

Biglee_163 发表于 2013-4-28 16:44 static/image/common/back.gif
我们QQ群自己玩的9018播放器用STM32F4,可以支持到24位192K的WAVE和24位96K的FLAC

求群号!!!

elvischan917 发表于 2013-5-4 12:03

看起来不错哦
能不能用iphone读取歌曲列表和控制播放?
是不是开源的?
如果能符合这些条件就NB咯~

xmlhifi 发表于 2013-5-4 12:41

以后高清音频文件都是加密的,收费才能按次听,以后没有免费的音乐,机器也没有前途。

Biglee_163 发表于 2013-5-4 20:54

zltmax 发表于 2013-5-4 08:42 static/image/common/back.gif
求群号!!!

279982865

jamming 发表于 2013-7-9 12:27

孙强 发表于 2013-5-4 08:32 static/image/common/back.gif
我怎么觉得各位都把 wav播放器搞的复杂了本来wav 就是最简单的 音频文件
44.1 16 的cd音质 wav文件 s ...

什么叫DIY?
如果仅仅为了出声,你花20多元买个MP3播放器就行了,它也能放WAVE

雨滴02 发表于 2013-7-10 09:10

功力不错
页: [1] 2 3 4
查看完整版本: ARM7实现高清WAVE文件播放