jamming
发表于 2013-1-10 12:07
回复 18# octflower
这个肯定是可行的,不少WAVE播放器就用的STM32飞03
octflower
发表于 2013-1-10 12:20
回复octflower
这个肯定是可行的,不少WAVE播放器就用的STM32飞03
jamming 发表于 2013-1-10 12:07 http://bbs.hifidiy.net/images/common/back.gif
stm32F103 默认是8M时钟我打算改成11.2986有源晶振 然后经过缓冲后分两路一路给stm32F103另一路给后面的DAC 然后stm32F103只输出I2S的3线信号给DAC 就不知道STM32的I2S信号质量如何
只爱石机
发表于 2013-1-10 15:24
都是高手,
能不能量产?
jamming
发表于 2013-1-10 18:27
更新
安装电源板和变压器
安装播放板
安装前面板
有源晶体
开机效果
未完待续,明天继续更新。。。。。。。。。。。。。
szxhbo
发表于 2013-1-10 20:06
高!只是不知道能否量产,让大家也受益呢?
竹林幽幽
发表于 2013-1-10 20:10
强烈要求出版
鑫龍
发表于 2013-1-10 22:30
jamming
发表于 2013-1-11 09:14
关于WAVE播放器处理,个人认为不管是stm32F103 还是别的处理器,只要具备以下基本条件就可以做WAVE播放器:
1)有I2S接口,可连接DAC;
2)有SD控制器或SPI接口,或USB-HOST控制器,可从存储设备中读取WAVE文件;
3)处理器速度足够快,从存储设备读文件的速度大于WAVE文件的码率(16bit/44.1K为1.4112Mbps,24bit/44.1K为2.1168Mbps);
4)RAM最好8KBytes以上;
5)最好有DMA控制器,可以通过DMA方式把数据从RAM送到I2S的FIFO。
至于I2S接口信号质量,要有仪器才能测了,我也没有设备测量的。可以采取以下措施降低时钟产生JITTER:
1)在I2S时钟路线上不能有锁相环;
2)使用整数分频。
关于量产,个人觉得自制的WAVE播放器,没有SPDIF输出,显示播放界面也不如论坛的X5(X5有彩屏,应该可以实现显示中文歌名,按文件夹播放等功能。我没买X5,只是自己觉得有了彩屏,就可以做这些功能),但价格却不比X5低多少(目前大部分物料都是用的免费样品,没花什么钱,如果所有物料都要买,成本就上来了,加上焊接人工费,总价就不会低了),竞争力应该不太好。
至于音质,我觉得起决定性作用的是DAC设计
jamming
发表于 2013-1-11 09:23
再说一说付出的制作成本:
1)制板 10片 100元+10元运费
2)机箱 1个 48元+10元运费
3)晶振 5个 18元+12元运费
4)CPLD芯片3片 33元+11元运费
共计242元
其它物料都是用的样品,总共焊接了3套板子,一套装成了整机,拿回家试听了,另两套用于继续完善功能
octflower
发表于 2013-1-11 09:36
关于WAVE播放器处理,个人认为不管是stm32F103 还是别的处理器,只要具备以下基本条件就可以做WAVE播放器: ...
jamming 发表于 2013-1-11 09:14 http://bbs.hifidiy.net/images/common/back.gif
我也就自己玩玩的我打算搞一片最小系统开发板然后自己搞个 有源晶振和同轴输出的板直接输出同轴信号接外部解码
octflower
发表于 2013-1-11 10:40
关于WAVE播放器处理,个人认为不管是stm32F103 还是别的处理器,只要具备以下基本条件就可以做WAVE播放器: ...
jamming 发表于 2013-1-11 09:14 http://bbs.hifidiy.net/images/common/back.gif
在I2S时钟路线上不能有锁相环;怎么理解?
jamming
发表于 2013-1-11 13:39
回复 32# octflower
一般CPU的时钟系统是这样的:晶振->PLL-> 处理器时钟,然后处理器时钟分频得到外设时钟(包括I2S模块)。除非你的处理器时钟直接等于晶振频率(这样CPU运行频率会很低),否则将不可避免要使用PLL。
或者你所使用处理器的PLL模块具有晶振时钟直通(BYPASS)到I2S模块的功能,否则是无法避免使用PLL的。
octflower
发表于 2013-1-11 14:04
回复octflower
一般CPU的时钟系统是这样的:晶振->LL-> 处理器时钟,然后处理器时钟分频得到外设 ...
jamming 发表于 2013-1-11 13:39 http://bbs.hifidiy.net/images/common/back.gif
我打算这样晶振11.2896M出来分两路一路直接给DAC 一路给单片机 单片机内部6倍频就是CPU主频这样可以吧
jamming
发表于 2013-1-11 14:19
组合音响完工了
侧面看
后看
jamming
发表于 2013-1-11 14:23
回复 34# octflower
这样CPU的主频是得到了,那I2S模块的时钟呢?
octflower
发表于 2013-1-11 14:37
回复octflower
这样CPU的主频是得到了,那I2S模块的时钟呢?
jamming 发表于 2013-1-11 14:23 http://bbs.hifidiy.net/images/common/back.gif
看来I2S还是经过处理器时钟分频的:lol 老兄是怎么处理这个问题的?
jamming
发表于 2013-1-11 14:57
你先去看看所用处理器的PLL部分,看有没有晶振时钟直通到I2S模块的功能。
我所用的处理器LPC1768是没有这个功能的,OO板做第一个台的时候,发现使用16.9344MHz的晶振(PCM1798必须用2.1168MHz BCK),整数分频无法得到BCK,必须小数点分频。
自己做板的时候,就改为用CPLD来产生BCK和WS. 处理器的I2S模块工作在SLAVE模式。
jamming
发表于 2013-1-11 14:59
如下图方式3
jamming
发表于 2013-1-11 15:05
回复 38# jamming
LPC1768的PLL模块必须把时钟倍频成275MHz~550MHz之间的某个值,再分频得出CPU时钟(小于100MHz),然后CPU时钟分频得到I2S模块时钟(必须小于76MHz)
octflower
发表于 2013-1-11 15:45
本帖最后由 octflower 于 2013-1-11 16:00 编辑
回复jamming
LPC1768的PLL模块必须把时钟倍频成275MHz~550MHz之间的某个值,再分频得出CPU时钟(小于 ...
jamming 发表于 2013-1-11 15:05 http://bbs.hifidiy.net/images/common/back.gif
STM32估计也没这功能 http://wenku.baidu.com/view/e64a91e8172ded630b1cb695.html
我只知道 晶振时钟必须为3-25MHZ之间的某个值然后再倍频为CPU主频(不大于72MHZ) 所以默认是8MHZ晶振9倍频 做音频一般是11.2986MHZ6倍频 至于I2S部分怎么分的我再研究一下
我打算只做同轴输出SAA7220的BCK貌似是2.8224M 正好和11.2986MHZ是4倍关系