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倍关系
页: 1 [2] 3 4 5
查看完整版本: 秀自制的WAVE播放器(多图执续更新)