OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 22546|回复: 19

MP3功放DIY

[复制链接]

5

主题

53

帖子

4

精华

高级会员

Rank: 4

积分
675
金钱
675
注册时间
2010-12-14
在线时间
8 小时
发表于 2010-12-31 07:25:47 | 显示全部楼层 |阅读模式
 

考完试之后,为了庆祝射频低空飘过,决定做个Audio layer

系统功能:

1.OPA2134+LM1876
两声道功放

2.
内置MP3播放器,支持mp3wmawavmidi格式

3.
通道选择(可选外部音源或内部MP3音源
)
4.FFT
频谱变换

5.
红外摇控

6.
电子书、游戏、时间


功放部分:

    
功放部分是很早之前已经做好的了。前级放大用的是OPA2143双运放,末级功率放大用LM1876集成功放,它内部相当于两个LM1875。关于几款流行的功放IC比较,可以看一下附件中的文章。

    
前级放大一般来说是比较讲究的,我尝试了几种运放,一个是经典的NE5532,一个是AD827,另一个就是现在用的OPA2134,三者之中,感觉最好的是OPA2134,高低音分辨清晰,其次是AD827,许多发烧友都说AD827OPA2134要好,可能是我不太懂分辨吧,又或者AD827就是搭配更强的LM3886才会发挥出更强效果了。其实上面的三个芯片用起来都差不多的了,就连在赛格几块钱买来的5532听起来也不比现在用的OPA2134差多少。

    
至于末级功放,以前一直对LM3886有好感,但现在用了LM1876才发现其实这也不失为一个很好的选择啊,一来是它是两声道,二来就是它的音质确实了得,特别是重低音方面性能相当可观。我自己也不属于发烧友一族,所以大可接受了。


MP3
部分:

   
主控仍然是用熟悉的STM32,为了节省成本、空间和方便做板,这回用的是48脚的STM32f103C8T6,才64K flash,太可怜了,一不小心用爆了,不得不向SRAM借空间用。音频解码用VS1003(便宜实用)


控制部分:

    
两种方式,第一种是红外摇控,一直都比较喜欢用的,因为只占用一个IO口,而且是全中断管理,很方便。

而另一种是面板上的按键控制。这次又拿出了杀手锏”——74HC148优先编码器,8个按键8种编码器,恰到好处哈哈。同样是用中断管理按键,而且只须一个中断就可以管理全部的按键,性价比高吧。(强烈推荐
)

FFT
部分:

    
又用上FFT了,哈哈,这程序叫做一劳永逸,因为艰苦写过一次之后,以后就是简单的移植。全世界最好移植的程序莫过于FFT程序了,不过首先还是得懂它的原理。以前做过这部分,不过当时是用AVR单片机做的,受SRAM限制仅做64FFT,现在用STM32SRAM足够大了,于是就做个128点的FFT,这样的话显示起来也好看很多。采样率设置成44KHz128点,只需取其前64点显示,变换后前64点和后64点是对称的。


其他部分:

文件系统,用STM32读取SD卡的文件系统。现在用的是FAT32。程序是直接移植之前做的PDA程序。游戏,移植来的,但有些要修改的地方未弄好。系统时间,用STM32内部实时时钟。外壳,在赛格花20块钱买来的,然后再钻呀,锯呀,DIY出来了。


原理图和代码在附件。

整 机



内部电路




主界面2


初始化SD卡


主界面4


主界面5


左侧面


背面

 

音乐播放


 

播放界面1


 

播放界面2


 

64点FFT


 

128点FFT

 

128点FFT

 

俄罗斯方块


 

贪食蛇


 

时间显示

 

mp3功放PCB
mp3功放源码


 

mp3功放程序.rar

2.26 MB, 下载次数: 5948

mp3功放PCB.rar

1.28 MB, 下载次数: 7658

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2010-12-31 09:28:34 | 显示全部楼层
回复【楼主位】QiYuan:
-------------------------------
又一个好贴.
如果把12864换成OLED,那就漂亮了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

93

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
420
金钱
420
注册时间
2010-12-16
在线时间
20 小时
发表于 2011-1-1 16:13:09 | 显示全部楼层
我在哪见过???
对频谱那比较感兴趣!!
我就是我,等待爆发那一刻......
回复 支持 反对

使用道具 举报

5

主题

53

帖子

4

精华

高级会员

Rank: 4

积分
675
金钱
675
注册时间
2010-12-14
在线时间
8 小时
 楼主| 发表于 2011-1-3 18:54:39 | 显示全部楼层
频谱,FFT,嘻嘻!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2010-12-14
在线时间
0 小时
发表于 2011-1-11 19:40:42 | 显示全部楼层
犀利啊。
回复 支持 反对

使用道具 举报

27

主题

279

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
409
金钱
409
注册时间
2010-12-15
在线时间
0 小时
发表于 2011-1-19 18:51:08 | 显示全部楼层
没用到STM32,,失望啊
STM32芯片---上海银洋电子021-53086303
欢迎来电15900733302??采购找张经理
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2011-1-19 23:09:38 | 显示全部楼层
将来会有的。呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

126

主题

825

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2012-12-18 14:38:13 | 显示全部楼层
頂!
回复 支持 反对

使用道具 举报

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
发表于 2013-8-2 07:59:35 | 显示全部楼层
回复【楼主位】QiYuan:
---------------------------------
lz  我又几个地方不明白

void fft_show()
{
u8 i=0;
for(i=1;i<64;i++)
{
  fft_show2((u8)XR,i*2-1);

   
}
你这个函数i*2-1是设置列值(1---131),那么  i*2-1最大值为125,可是你的音乐频谱  列值才0到60多,没达到125
回复 支持 反对

使用道具 举报

30

主题

211

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2012-11-22
在线时间
12 小时
发表于 2013-8-2 09:34:41 | 显示全部楼层
回复 支持 反对

使用道具 举报

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
发表于 2013-8-5 11:54:55 | 显示全部楼层

lz你这个电路什么作用


 

回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2013-8-5 21:52:30 | 显示全部楼层
回复【11楼】liyanchao153:
---------------------------------
音频采集
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-2-19
在线时间
1 小时
发表于 2013-8-5 22:08:12 | 显示全部楼层
牛人!顶
回复 支持 反对

使用道具 举报

头像被屏蔽

52

主题

440

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2013-1-9
在线时间
151 小时
发表于 2013-8-6 09:00:09 | 显示全部楼层
LZz没有随手放元件Lib的好习惯啊.
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-4-27
在线时间
0 小时
发表于 2014-7-2 20:42:12 | 显示全部楼层
碉堡了!!!
回复 支持 反对

使用道具 举报

126

主题

825

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2014-7-3 08:05:07 | 显示全部楼层
多谢,向楼主学习
坚持学习!就能成功!
回复 支持 反对

使用道具 举报

43

主题

279

帖子

1

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2013-12-27
在线时间
0 小时
发表于 2014-10-28 22:06:07 | 显示全部楼层
东西和程序都不错,值得一看。
水的比较多。
回复 支持 反对

使用道具 举报

86

主题

982

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1843
金钱
1843
注册时间
2013-4-15
在线时间
163 小时
发表于 2015-8-10 14:13:53 | 显示全部楼层
那么屌    赞一个
合肥-文盲
回复 支持 反对

使用道具 举报

头像被屏蔽

65

主题

280

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2013-8-11
在线时间
29 小时
发表于 2015-8-10 18:29:25 | 显示全部楼层
谢谢楼主!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

5

主题

292

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1475
金钱
1475
注册时间
2018-11-28
在线时间
196 小时
发表于 2023-10-11 14:17:49 | 显示全部楼层
学习一下,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-10 21:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表