|
发表于 2011-5-11 23:05:13
|
显示全部楼层
\回复【9楼】hzyjq
我用stm8s103k3 + ch376t + epm240 + ad1896 + ad1955 * 2 做了个播放双声道44.1khz 16位 wav文件的播放器,ch376t用来读取u盘wav文件,stm8s103k3 管理文件并以中断方式通过8位io向epm240传送wav数据,epm240外接16.9344mhz晶振用于将音频数据生成i2s信号,ad1896用于升频和i2s重采样,每个声道一片ad1955解码,声音效果是十分地好。
但存在一个问题是stm8s103k3的spi速度不够,stm8s103k3我用了24m晶振,但spi速度只能到8m左右,因此u盘拷贝wav文件后要做一次碎片整理,否则在播放音乐时有些地方有破音。
我的建议是不要用avr来做,可以选速度再快一些的芯片来做,我正准备换用stm32f105或s3c44b0x来做,还自带i2s输出,为了保证时钟精准,可以用......
-----------------------------------------------------------------------
播放16bit, 44.1KHz wav, 只要保证读wav文件速度在大于176.4KB/S就行了, SPI时钟8MHz, 完全够的. 可能是SPI速度跟不上, 可能是文件系统没做好, 也可能是送数据到epm240有断流吧.
BTW: 有epm240做I2S的资料吗? |
|