3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
发表于 2013-4-28 12:42 | 显示全部楼层
WAVE播放器完工有段时间了,之前只支持16Bit/24Bit  44.1KHz  WAVE文件,现改进了一下,能支持更高清晰度的WAVE文件了。
首先说明:所谓高清WAVE文件是相对于16Bit/44.1KHz来说的,目前测试可支持到24Bit/88.2KHz和24Bit/96KHz。
实现过程:
第一步:SD卡读速度测试。我的WAVE播放器使用SPI方式访问SD卡,速度是个瓶颈。在23.6MHz  SCLK频率下,读速度只能达到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生成对应的频率。

两种有源晶振

两种有源晶振

两种有源晶振



播放文件

播放文件

播放文件

32

主题

0

好友

3558

积分

贵宾 当前离线

来自上海的

Rank: 3Rank: 3

UID
8411
帖子
3222
精华
3
经验
3558 点
金钱
1885 ¥
注册时间
2006-4-5

社区贡献

发表于 2013-4-28 13:44 | 显示全部楼层
ARM7用的啥芯片啊

3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
 楼主| 发表于 2013-4-28 13:55 | 显示全部楼层
ARM7PC1768      NXP
CPLD:XC9572XL     XILINX
DAC: PCM1798     TI
运放:OPA2604    TI

3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
 楼主| 发表于 2013-4-28 13:56 | 显示全部楼层
NXP 的 LPC1768

38

主题

1

好友

478

积分

业余侠客 当前离线

Rank: 4

UID
5498
帖子
361
精华
0
经验
478 点
金钱
358 ¥
注册时间
2005-9-8
发表于 2013-4-28 14:19 | 显示全部楼层
既然 这样 , 为何不选 STM32F4 价格也 不贵, 播 24bits 192khz 都 没有问题

32

主题

0

好友

3558

积分

贵宾 当前离线

来自上海的

Rank: 3Rank: 3

UID
8411
帖子
3222
精华
3
经验
3558 点
金钱
1885 ¥
注册时间
2006-4-5

社区贡献

发表于 2013-4-28 16:44 | 显示全部楼层
我们QQ群自己玩的9018播放器用STM32F4,可以支持到24位192K的WAVE和24位96K的FLAC

3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
 楼主| 发表于 2013-4-28 17:13 | 显示全部楼层
STM32F4有SD控制器,可SDIO 4bit数据方式读文件,速度是快很多的。
DIY嘛,就是手头有什么就玩什么。我手头只有LPC1768,所以嘛只好用它了。

3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
 楼主| 发表于 2013-4-28 17:29 | 显示全部楼层
今下午终于把按文件夹播放也做完了,解决了SD卡里有歌很多文件时选歌麻烦的问题。
把卡里的歌按类型,放到不同文件夹,类似一张张CD。
播放时,通过按键切换文件夹,在1602显示屏的第二行显示文件夹的名称,这样选歌就方便多了
头像被屏蔽

15

主题

0

好友

746

积分

禁止发言 当前离线

UID
28667
帖子
770
精华
0
经验
746 点
金钱
728 ¥
注册时间
2007-10-12
发表于 2013-4-29 03:29 来自手机端 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

22

主题

0

好友

348

积分

业余侠客 当前离线

Rank: 4

UID
583275
帖子
395
精华
0
经验
348 点
金钱
330 ¥
注册时间
2013-4-12
发表于 2013-4-29 11:33 | 显示全部楼层
我也想整个

3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
 楼主| 发表于 2013-5-2 10:58 | 显示全部楼层
winterdate 发表于 2013-4-29 03:29
为啥不像硬盘似地弄个缓存?读取速度不就解决了?

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

11

主题

7

好友

406

积分
     

业余侠客 当前离线

Rank: 4

UID
157050
帖子
461
精华
0
经验
406 点
金钱
331 ¥
注册时间
2009-12-20
发表于 2013-5-2 20:30 | 显示全部楼层
有板吗, 让一套玩玩
头像被屏蔽

15

主题

0

好友

746

积分

禁止发言 当前离线

UID
28667
帖子
770
精华
0
经验
746 点
金钱
728 ¥
注册时间
2007-10-12
发表于 2013-5-3 20:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

25

主题

6

好友

940

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
264606
帖子
892
精华
0
经验
940 点
金钱
852 ¥
注册时间
2010-11-24
发表于 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  文件 非常成功 线路结构非常简单 制作 成本又很低廉

7

主题

0

好友

82

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
555814
帖子
113
精华
0
经验
82 点
金钱
80 ¥
注册时间
2012-12-29
发表于 2013-5-4 08:42 | 显示全部楼层
Biglee_163 发表于 2013-4-28 16:44
我们QQ群自己玩的9018播放器用STM32F4,可以支持到24位192K的WAVE和24位96K的FLAC

求群号!!!

5

主题

0

好友

233

积分

业余侠客 当前离线

烧出太阳系

Rank: 4

UID
199256
帖子
213
精华
0
经验
233 点
金钱
222 ¥
注册时间
2010-5-8
发表于 2013-5-4 12:03 | 显示全部楼层
看起来不错哦
能不能用iphone读取歌曲列表和控制播放?
是不是开源的?
如果能符合这些条件就NB咯~

127

主题

0

好友

1万

积分
     

版主 当前离线

脑放进行时

Rank: 7Rank: 7Rank: 7

UID
3986
帖子
18146
精华
2
经验
17478 点
金钱
15213 ¥
注册时间
2005-4-20

社区贡献 优秀设计 论坛版主

发表于 2013-5-4 12:41 | 显示全部楼层
以后高清音频文件都是加密的,收费才能按次听,以后没有免费的音乐,机器也没有前途。

32

主题

0

好友

3558

积分

贵宾 当前离线

来自上海的

Rank: 3Rank: 3

UID
8411
帖子
3222
精华
3
经验
3558 点
金钱
1885 ¥
注册时间
2006-4-5

社区贡献

发表于 2013-5-4 20:54 | 显示全部楼层
zltmax 发表于 2013-5-4 08:42
求群号!!!

279982865

3

主题

1

好友

141

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
112487
帖子
139
精华
0
经验
141 点
金钱
141 ¥
注册时间
2009-6-17
 楼主| 发表于 2013-7-9 12:27 | 显示全部楼层
孙强 发表于 2013-5-4 08:32
我怎么觉得各位都把 wav播放器搞的复杂了  本来wav 就是最简单的 音频文件
44.1 16 的cd音质 wav  文件 s ...

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

点评

请 jamming 朋友 参考下 我的 方案 或许 会有新启发 大幅度 优化代码 缩减系统  发表于 2013-7-9 21:05

424

主题

0

好友

3077

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
509
帖子
10066
精华
0
经验
3077 点
金钱
3058 ¥
注册时间
2004-5-1
发表于 2013-7-10 09:10 | 显示全部楼层
功力不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部