搜索
bottom↓
回复: 27

想用CS4397折腾一个DAC配合AVR32 UC3B0单片机使用,初步设想如图,各位请进拍砖

[复制链接]

出0入0汤圆

发表于 2010-12-18 14:42:57 | 显示全部楼层 |阅读模式
初步设想如下图

(原文件名:CS4397.jpg)
点击此处下载 ourdev_605362A598FT.pdf(文件大小:17K) (原文件名:cs4397_dac.pdf)

74HC4060产生11.2896MHz提供给CS4397的MCLK,并8分频后得到1.4112MHz提供给CS4397的BCK以及UC3B0 SSC外设的TK
让UC3B0 SSC工作在I2S从机模式,以避免用片上PLL是我的初衷。BCK取1.4112MHz是因为只播放44.1K/16BIT的双声道文件

有如下疑问望大家指教
1、该设想原理上是否有错
2、晶振+74HC4060产生的时钟信号质量是否优于AVR32片上PLL
3、是否有必要改用有源晶振

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2010-12-18 16:44:45 | 显示全部楼层
最好用XO~~~

出0入0汤圆

 楼主| 发表于 2010-12-18 19:45:51 | 显示全部楼层
谢谢9哥回复
  上面可能我描述的不够清楚,这里再补充几句
  我用UC3B0做WAV播放器有很长一段时间了,之前DAC用TDA1543,大概一个月前换为一片淘来的CS4398板,前两天CS4398板被朋友
抢走后决定按自己想法做一个DAC(买别人的板多少都有不合意的地方)。选CS4397是因为手上正好有,而且引脚与CS4396/CS43122
兼容,日后换成CS43122即可升级,SOIC28封装容易DIY
  之前一直用UC3B0 SSC的IIS主机模式输出数据给DAC,但是主机模式下SSC的TK(BCK)/TF(WS)是由PBA时钟分频后提供的,而
PBA时钟是由OSC1经过PLL0倍频分频后得到的。我对于使用PLL一直耿耿于怀,于是这次彻底解决这个心结:让SSC工作在从机模式,
从机模式的TK(BCK)/TF(WS)是从外部输入的,用一片4060产生MCLK/BCK/WS。这样就可以不用UC3B0的内部PLL了
  4060的引脚功能描述:
  PIN10   时钟输入              (先用普通晶振试验,成功后改为有源晶振)
  PIN9    时钟反相输出          (11.2896MHz输出至CS4397的MCLK)
  PIN7    8分频输出             (1.4112MHz输出至CS4397和UC3B0的BCK)
  PIN13   256分频输出           (44.1KHz输出至CS4397和UC3B0的WS,上面的图少画了WS的连线)
  我先洞洞板焊出来试试,有消息再跟各位分享

出0入0汤圆

发表于 2010-12-18 20:32:04 | 显示全部楼层
1. XO生成CLOCK直入DAC(MCLK pin) / DIT(OMCK pin)
2. 频率越高越好。
3. 不要过PLL。

我师傅就是这样做的,他认为MCLK一定要特别好,其他无所谓。

出0入0汤圆

 楼主| 发表于 2010-12-22 22:26:16 | 显示全部楼层
最新试验结果是:74HC4060的最小分频是16,不是8!没看懂datasheet的结果,晕阿
拟用22.5792MHz的有源晶振做时钟源。22.5792MHz直接送CS4397给MCLK,16分频得到BCK(1.4112MHz),512分频得到WS(44.1KHz)

出0入663汤圆

发表于 2010-12-22 22:40:17 | 显示全部楼层
对于Sigma-Delta型DAC,MCLK一定要好,对于R-2R型DAC,WS一定要好。
只要MCU和DAC工作在同一个时钟域,一切都好办。
可以用22.5792MHz直接供给DAC和MCU,其它信号用MCU内部的PLL时钟,在I2S出来再加一级reclock,这样就把PLL的抖动彻底干掉了。

出0入0汤圆

 楼主| 发表于 2010-12-22 23:33:54 | 显示全部楼层
UC3B0能不能接受22+MHz的时钟是问题,datasheet上推荐不超16MHz
我本意是让SSC工作在从模式,DAC这端产生BCK/WS回送给SSC。MCU时钟另外提供
有加74HC574做reclock的打算,这要出声音之后才考虑。目前首要是验证想法是否正确
感谢狐狸大侠回复

出0入663汤圆

发表于 2010-12-23 00:37:47 | 显示全部楼层
AVR32用无源晶振是不超过16MHz,有源时钟输入的话可以到50MHz。
从模式当然没问题了,不过晶振无论如何要用有源的,CMOS反相器做振荡相噪指标也不好的。
另外22MHz时钟对于HC4060来说也有点吃力了吧。

出0入0汤圆

发表于 2010-12-23 09:07:30 | 显示全部楼层
回复【6楼】mowin  雾湾
uc3b0能不能接受22+mhz的时钟是问题,datasheet上推荐不超16mhz
我本意是让ssc工作在从模式,dac这端产生bck/ws回送给ssc。mcu时钟另外提供
有加74hc574做reclock的打算,这要出声音之后才考虑。目前首要是验证想法是否正确
感谢狐狸大侠回复
-----------------------------------------------------------------------

从模式没问题,但是要用XO,不要用晶体。 实在不行就上PLL1707

出0入0汤圆

 楼主| 发表于 2010-12-23 23:00:03 | 显示全部楼层
回复【7楼】gzhuli  咕唧霖
-----------------------------------------------------------------------
是的,仔细查看了AVR32 UC3B0的datasheet,晶振最高20M,外部时钟50M,以前没有注意看
NXP的74HC4060,供电2V时典型时钟频率26M,4.5V时80M。应该没有什么问题的

出0入0汤圆

 楼主| 发表于 2010-12-31 22:51:57 | 显示全部楼层
2010年的最后一天,终于把CS4397弄出声音了!试验成功,感谢各位支持,稍后整理资料上传
UC3B0的SSC从模式工作,22.5792MHz的有源晶振提供MCLK,并由4060分频得到BCK/WS
小插曲:手头有ST的HCF4060BE,可能是允许工作频率太低,22.5792MHz输入时,根本没有输出,走了弯路。后来想方设法弄来了一片NXP的HC4060,OK了,郁闷的是贴片的,费了好大劲才飞线连接成功

出0入0汤圆

发表于 2011-1-3 17:15:03 | 显示全部楼层
偶的想法和雾湾的差不多,不想DAC的MCLK进到单片机里和一团稀泥再出来,用有源晶振+分频,SSC工作到从模式。AVR32 UC3B0 SSC的从模式有个“BCK要小于SSC工作频率1/6的要求”。
偶也正在试验uc3b0256做wave播放器(硬盘的),数据刚从硬盘上读出来,DAC还没焊好。

出0入0汤圆

发表于 2011-1-3 18:29:39 | 显示全部楼层
i2s能这么接,呵呵,赞一个!

之前也为i2s纠结,哦,我使用的是stm32。曾经为这个i2s怕得够呛,现在看来多余了,2路i2s slave跑得很稳定。

出0入0汤圆

发表于 2011-1-3 19:20:45 | 显示全部楼层
对UC3B0 这个芯片不熟悉,以为不带i2s。

“我对于使用PLL一直耿耿于怀,” 请问楼主为什么纠结pll?因为感觉UC3B0 已有i2s,实在看不出+ 4060的意义?

出0入0汤圆

发表于 2011-1-3 19:41:11 | 显示全部楼层
回复【14楼】fickle  
对uc3b0 这个芯片不熟悉,以为不带i2s。

“我对于使用pll一直耿耿于怀,” 请问楼主为什么纠结pll?因为感觉uc3b0 已有i2s,实在看不出+ 4060的意义?
-----------------------------------------------------------------------

主控的CLK由PLL生成的,如果由它分频得到的时钟能和直接由XO分频得到的时钟比么。

出0入0汤圆

发表于 2011-1-3 20:18:54 | 显示全部楼层
回复【15楼】90999 张耀扬
-----------------------------------------------------------------------

如果楼主确实是这个意思的话,那么下个问题,没有经过pll的时钟是否对dac产生影响呢?以为不一定。

因为我测试过1kHz正弦波信号,很好,频率很准,1.0001kHz。当然,没有测试其他频率,不能得到确定答案。

出0入663汤圆

发表于 2011-1-3 20:19:00 | 显示全部楼层
回复【14楼】fickle
-----------------------------------------------------------------------

想必你还不了解时钟抖动对DAC还原信号的影响吧。有PLL不用,无非是追求更低的时钟抖动,举例来说,SPDIF接收IC CS8412的PLL抖动是200ps,号称低抖动的DIR9001是50ps,好的TCXO是1ps,顶级的SC切OCXO可以做到0.1ps。

出0入0汤圆

发表于 2011-1-3 20:35:31 | 显示全部楼层
回复【17楼】gzhuli 咕唧霖
-----------------------------------------------------------------------

呵呵,真不明白。

不过,codec顶多几十兆频率,有必要纠结ps?(M赫兹 对应是 us吧?us以下是ns,再之下是ps吧?)

出0入0汤圆

发表于 2011-1-3 20:44:35 | 显示全部楼层
回复【17楼】gzhuli 咕唧霖
-----------------------------------------------------------------------

呵呵,那篇stm32 i2s slave 帖子,把我吓得够呛,赶在年前,2个i2s都跑起来了。

出0入0汤圆

 楼主| 发表于 2011-1-4 00:01:23 | 显示全部楼层
回复【11楼】neo_j  
偶的想法和雾湾的差不多,不想dac的mclk进到单片机里和一团稀泥再出来,用有源晶振+分频,ssc工作到从模式。avr32 uc3b0 ssc的从模式有个“bck要小于ssc工作频率1/6的要求”。
偶也正在试验uc3b0256做wave播放器(硬盘的),数据刚从硬盘上读出来,dac还没焊好。
-----------------------------------------------------------------------

再次赞一下UC3B0的SSC,从模式只要改一下初始化函数的参数就好了,其他完全不用动,就可以工作的很好
DAC用CS4397/CS4398都不错,建议你试试。我争取周末把资料整理出来给你参考

出0入0汤圆

 楼主| 发表于 2011-1-4 00:22:48 | 显示全部楼层
回复【16楼】fickle  
回复【15楼】90999 张耀扬
-----------------------------------------------------------------------
如果楼主确实是这个意思的话,那么下个问题,没有经过pll的时钟是否对dac产生影响呢?以为不一定。
因为我测试过1khz正弦波信号,很好,频率很准,1.0001khz。当然,没有测试其他频率,不能得到确定答案。

-----------------------------------------------------------------------

不是频率准不准的问题,频率绝对值的误差我认为对音质影响不大。我不善言辞,不知道怎么说明我的想法

这样类比吧(可能不太贴切,请高手指教):
把PLL想象为一个稳压电源(比如7805好了)有源晶振想象为电池。有的7805输出5.06V,有的输出4.90V,电池的电压也会缓慢变化。这都没有问题,不影响使用,我们关心的不是这个电压误差。对于高要求场合,我们更关心他的纹波大小。电池的纹波肯定要比7805小的。PLL的输出频率的抖动可以用电源的纹波类比,有源晶振的频率抖动应该比PLL小

出0入0汤圆

发表于 2011-1-4 08:40:33 | 显示全部楼层
回复【21楼】mowin  雾湾
-----------------------------------------------------------------------

比喻的好。谢谢。

出0入0汤圆

发表于 2011-1-4 12:11:02 | 显示全部楼层
回复【21楼】mowin 雾湾
回复【16楼】fickle   
回复【15楼】90999 张耀扬
-----------------------------------------------------------------------
如果楼主确实是这个意思的话,那么下个问题,没有经过pll的时钟是否对dac产生影响呢?以为不一定。
因为我测试过1khz正弦波信号,很好,频率很准,1.0001khz。当然,没有测试其他频率,不能得到确定答案。
-----------------------------------------------------------------------
不是频率准不准的问题,频率绝对值的误差我认为对音质影响不大。我不善言辞,不知道怎么说明我的想法
这样类比吧(可能不太贴切,请高手指教):
把pll想象为一个稳压电源(比如7805好了)有源晶振想象为电池。有的7805输......
-----------------------------------------------------------------------

理解不上去。

没关系,只是想提个建议而已,codec 直接接一个晶振效果也不错。

出0入0汤圆

发表于 2011-1-5 15:37:14 | 显示全部楼层
也来说几句.
1.对数字音源来讲,音质最大的杀手就是jetta。如何用一个低jetta的时钟去驱动后部的DAC系统确实是值得考虑的问题。
2.假如数字音源能把jetta给解决好了,音质赶超传统CD是有可能的,因为传统CD有一个比较致命的弱点,那就是读CD盘的时候假如有一段数据读错了,那也就错过了,没有很强的纠错系统,不然天价的转盘也就没有的存在的可能。像读硬盘数据或者其他媒体数据的话,纠错就强的多了,读过来的数据误码的可能几乎没有。对HiFi的追求无止境,偶买不起天价的转盘,所以换个思路,开始了偶wave播放器的路程。

出0入0汤圆

 楼主| 发表于 2011-1-5 18:30:46 | 显示全部楼层
回复【24楼】neo_j  
-----------------------------------------------------------------------

把CD抓轨的时候数据已经有损失

出0入0汤圆

 楼主| 发表于 2011-1-8 23:36:42 | 显示全部楼层
试验成功的电路,各位看看有没有什么建议,洞洞板实物图下次上,敬请期待

(原文件名:cs4397_dac.jpg)

点击此处下载 ourdev_609962LTV6MM.pdf(文件大小:16K) (原文件名:cs4397_dac.pdf)


note:修改错别字

出0入0汤圆

发表于 2011-1-19 20:59:25 | 显示全部楼层
放点程序出来参考下呢。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-13 09:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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