找回密码
 注册
查看: 16448|回复: 42

最近做的一款STM32F4板子,软解MP3/FLAC/APE/WAV等,最高支持192K 24位音频播放

[复制链接]
发表于 2014-11-9 17:29 | 显示全部楼层 |阅读模式
   花了近一年时间,设计的一款F4开发板,主芯片使用STM32F407芯片,软解码MP3/FLAC/APE/WAV等音频文件,IIS输出后,WM8978进行D/A转换,效果还不错,音质比VS1053好一些。
音乐播放器功能简介:
1,支持WAV/FLAC/APE/MP3等4种格式。
2,WAV最高支持192K,24bit音频播放
3,MP3全码率支持
4,APE最高支持96K,16bit播放
5,FLAC最高支持192K,16bit播放
6,支持歌词显示,前后三行预览,中间一行为正在播放的歌词。
7,支持拖动定位播放位置(ape支持,其他都支持)



   实物图(带4.3寸电容屏):

  主界面图片(来自屏幕截图):

  音乐播放中(来自屏幕截图):



发表于 2014-11-9 18:28 | 显示全部楼层
原子前辈的例程写的很犀利,我搞了好久的I2S都没有搞定,看了你的教程,昨天ok了,现在已经能够出声了,接下来就是搞文件系统了,没有买你的开发板,但是还是借用了你的技术资料,惭愧不已,感激不尽!!
不过我还是遇到一点点问题,就是I2S的DMA传输,输出用示波器看,在两个buf切换的时候,会丢失一个字节 [s:5]
回复

使用道具 举报

 楼主| 发表于 2014-11-9 19:03 | 显示全部楼层
引用第1楼zhangdu于2014-11-09 18:28发表的 :
原子前辈的例程写的很犀利,我搞了好久的I2S都没有搞定,看了你的教程,昨天ok了,现在已经能够出声了,接下来就是搞文件系统了,没有买你的开发板,但是还是借用了你的技术资料,惭愧不已,感激不尽!!
不过我还是遇到一点点问题,就是I2S的DMA传输,输出用示波器看,在两个buf切换的时候,会丢失一个字节 [s:5]
会丢失一个字节??
这个我倒是没有去看过哦,应该不会丢失才对,如果丢失,24bit播放的时候,就完全乱套了。
回复

使用道具 举报

发表于 2014-11-9 20:10 | 显示全部楼层
我也不是很清楚,一开始,我是定义了两个buf,I2S_BUF0和I2S_BUF1,然后在里面都附上初值,1.2.3.4.5.6.........然后让DMA传输给I2S外设,监看输出波形,结果是,1 0  3 2  5 4   7 6  ...............这样,那个0就是在DMA切换buf的时候,插进来的,就好像是从BUF数组前面一个地址开始传输的,我又试过了让DMA指向的地址为 I2S_BUF0[1]和 I2S_BUF1[1],同时从这里开始附初值,还是一样的结果,但是指向数组的第二个元素的时候,貌似就好了;
不过在连接上SD读取的音频数据时,又不行了,把buf按照你教程里说的做4字节对齐以后,再把dma指向buf的首地址,就可以正常播放出声,但是中间有没有丢失或者错位,就不知道了,因为数据不知,所以没有办法用示波器监看,靠耳朵听的话,反正我是没有听出爆音和断流的感觉;
就是觉得很奇怪,不知道你之前有没有遇到过
回复

使用道具 举报

 楼主| 发表于 2014-11-9 20:25 | 显示全部楼层
没有按你的这个方式测试过。
如果有单字节丢失,很容易听出来的,会出现噪音的。
之前调试24位wav播放的时候,很长一段时间都是噪音,后面整了2天才搞出来。
回复

使用道具 举报

发表于 2014-11-10 00:11 | 显示全部楼层
引用第4楼正点原子于2014-11-09 20:25发表的 :
没有按你的这个方式测试过。
如果有单字节丢失,很容易听出来的,会出现噪音的。
之前调试24位wav播放的时候,很长一段时间都是噪音,后面整了2天才搞出来。

我也是这么认为的,如果播放的时候没有听出明显的噪音,那么传输的时候应该就没有发生错位或者丢失,不然的话整个数据块错位了,应该送出来的都是错误的信息,甚至高低字节全都错位了,那么应该都是噪声才对。
你的教程真的写的很棒,再次感谢!说实话,你钻研很久搞出来的成果,我就这么直接的使用了,感觉很惭愧,不过我都是自己玩玩,不搞商用的说!
不知道后面出来的M7,你会不会出开发板,到时候一定搞一块学习,M4之前买了探索板了;
回复

使用道具 举报

发表于 2014-11-10 12:05 | 显示全部楼层
引用第5楼zhangdu于2014-11-10 00:11发表的 :


我也是这么认为的,如果播放的时候没有听出明显的噪音,那么传输的时候应该就没有发生错位或者丢失,不然的话整个数据块错位了,应该送出来的都是错误的信息,甚至高低字节全都错位了,那么应该都是噪声才对。
你的教程真的写的很棒,再次感谢!说实话,你钻研很久搞出来的成果,我就这么直接的使用了,感觉很惭愧,不过我都是自己玩玩,不搞商用的说!
不知道后面出来的M7,你会不会出开发板,到时候一定搞一块学习,M4之前买了探索板了;
看ID就知道,这是个卖开发板的。
回复

使用道具 举报

发表于 2014-11-10 12:58 | 显示全部楼层
噢,楼上的,我就是时钟大师,你叫我爸爸,我给你个电路图和全套说明,告诉你为什么时钟系统根本不需要什么屌毛的TCXO。
快,叫爸爸。 [s:2]
回复

使用道具 举报

发表于 2014-11-10 13:17 | 显示全部楼层
好吧,我承认,MCU直接出来的 I2S jitter 不小,手册上标注正负200ps,但是呢,我用TDA1543已经听了两天了,就这听着就很舒服了,以前用TI的M3也搞过一个,手册上标注jitter 3ns,然后我还是觉得挺爽的,恩,然后我得出一个结论,搞毛jitter啊,我的耳朵对 jitter 的抑制能力很强的,接下来果断ES9018K2M走起,神马外置PLL,神马数字滤波器,神马FPGA/DSP,统统无视,就这样,MCU直接输出I2S,直接给9018,最多给9018上个好点的晶振 [s:2] [s:2]
还是觉得模拟部分可以好好下点功夫,把电源做足,layout搞好;
其实呢,我一直在琢磨着,用32个mos管,直接搞个16bit的 R2R 音量控制,是不是会很高大上掉渣天 [s:2] [s:2]
回复

使用道具 举报

发表于 2014-11-10 13:34 | 显示全部楼层
ES9018帮你把JITTER搞定,确实省事
回复

使用道具 举报

发表于 2014-11-10 14:14 | 显示全部楼层
引用第12楼supersuper于2014-11-10 13:34发表的 :
ES9018帮你把JITTER搞定,确实省事

我其实已经不太关心什么jitter了,我更关心的是在低压下的输出性能,9018K2M应该是目前最合适的,当然了,有个Dejitter,YY起来更加有底气
回复

使用道具 举报

发表于 2014-11-10 15:53 | 显示全部楼层
引用第13楼zhangdu于2014-11-10 14:14发表的 :


我其实已经不太关心什么jitter了,我更关心的是在低压下的输出性能,9018K2M应该是目前最合适的,当然了,有个Dejitter,YY起来更加有底气

9108帮你吧JITTER搞定了,所以你也不用关心了, 所以也没人敢YY了,哈哈!!
回复

使用道具 举报

发表于 2014-11-11 08:35 | 显示全部楼层
好好的一个帖子,唉
回复

使用道具 举报

 楼主| 发表于 2014-11-11 21:41 | 显示全部楼层
引用第6楼诶f2k是milf于2014-11-10 11:51发表的 :
这种CPU通常I2S都不干净。
你可以外加晶振,F4的IIS的时钟是可以来自外部晶振的。
如果使用自身的8M晶振倍频再去分频,确实没有几个采样率可以得出0%偏差的,如果换成外部晶振,那就好解决了,很容易解决你说的不干净问题。
回复

使用道具 举报

 楼主| 发表于 2014-11-11 21:45 | 显示全部楼层
我觉得吧,盲听才能得出谁好谁坏,拿不同价位的机器,盲听,能听出最好的那才是真正的真的好,其他都是YY罢了。
回复

使用道具 举报

发表于 2014-11-11 22:03 | 显示全部楼层
[quote]引用第11楼zhangdu于2014-11-10 13:17发表的 :
好吧,我承认,MCU直接出来的 I2S
回复

使用道具 举报

 楼主| 发表于 2014-11-11 22:13 | 显示全部楼层
引用第21楼Bunny于2014-11-11 22:03发表的 :





.......
呵呵,确实很多这样的人。
之前听说有网友可以听出水力发电和火力发电的区别,此等神人,不知是否真有?
回复

使用道具 举报

发表于 2014-11-11 22:24 | 显示全部楼层
引用第22楼正点原子于2014-11-11 22:13发表的 :

呵呵,确实很多这样的人。
之前听说有网友可以听出水力发电和火力发电的区别,此等神人,不知是否真有?





     一晃 16 年了, 这些人还在忽悠炒旧饭。
回复

使用道具 举报

发表于 2014-11-11 22:39 | 显示全部楼层
[quote]引用第0楼正点原子于2014-11-09 17:29发表的 最近做的一款STM32F4板子,软解MP3/FLAC/APE/WAV等,最高支持192K 24位音频播放 :
回复

使用道具 举报

 楼主| 发表于 2014-11-11 22:45 | 显示全部楼层
引用第24楼Bunny于2014-11-11 22:39发表的 :




话说楼主的产品, 往孩子的教育方面靠一靠。
.......
恩,这方面确实可以考虑。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|《中华人民共和国增值电信业务经营许可证》粤B2-20120704|耳机大家坛-耳机网 ( 粤icp备09046054号-6 )

粤公网安备 44030602000598号

GMT+8, 2017-11-19 03:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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