音频视频-STM32+VS1003制作的MP3播放器(带功放)

接口:SD卡,音频
算法:FFT

系统功能:

1.OPA2134+LM1876两声道功放

2.内置MP3播放器,支持mp3、wma、wav、midi格式

3.通道选择(可选外部音源或内部MP3音源)

4.FFT频谱变换

5.红外摇控

6.电子书、游戏、时间


功放部分:

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

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

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


MP3部分:

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


控制部分:

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

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


FFT部分:

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


其他部分:

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


原理图和代码在附件。

前面照:

菜单:

游戏:

音乐:

频谱:

音乐界面:

俄罗斯方块:


相关文件

  • 功放PCB.rar 大小:1309.32 k 下载
  • MP3播放器源代码.rar 大小:2314.60 k 下载
版权归QiYuan所有举报