- 积分
- 6091
- 在线时间
- 10496 小时
- 最后登录
- 2025-7-30
- 阅读权限
- 100
- 精华
- 0
 
- UID
- 59487
- 帖子
- 7499
- 精华
- 0
- 经验
- 6091 点
- 金钱
- 5748 ¥
- 注册时间
- 2008-10-20
|

楼主 |
发表于 2010-6-14 00:06
|
显示全部楼层
搞了那么久,又发现新花招
以后看这里就行了,第一页的不用看了,我自己也不记得写了什么。
首先我还是解释下I2S的三条线和时钟线的作用
LRCK,也就是WS,除了划分左右通道外,还作为使能信号控制输出点信号。
BCK,主要是给接收元件一个触发,可以是边沿触发也可以是电平触发。
DATA,串行信号
MCK,也叫SCLK,系统时钟,一般是WS的128,256,384,512倍,主要用于数字信号的处理
好了,除开MCK不看,我们来看下BCK和DATA的关系:
在边缘触发或电平触发的时候,只要正对住所需要的信号值就可以了,为了符合要求,一般是1个BCK周期对应一个信号值,所以无论你是上升或下降沿触发或高或低电平触发,都可以读出有效制。因为相对触发瞬间来说,信号值是比较长的一段时间,所以正确的读出来是很简单的,况且BCK和DATA都是对应的。
对于WS来说,则比较重要了,假设我们已经读出了正确值,现在就等WS使能输出信号了,WDCK信号的LE也是如此,只是WDCK信号的LE不用区分左和右声道,他们的左右声道是分开的。如果说WS的信号只是稍微比实际的延迟一点还好说,基本问题不大。但是主要问题在于他的脉宽变化,搀杂了其他的信号,使得信号的边沿变化,会造成读取设备的使能位置变化不定,假设占空比由在±3%之内变化,那么输出使能的时间也将影响那一段输出信号存在时间的长短,最终就会使引起线形失真。
对于NOS来说,几百PS的抖动根本不成问题:1.自身失真可以掩盖,2.信号噪音也可以掩盖,3.频率低,WS占空比变化不大,而对于OS来说,这里又引出一个MCK系统时钟的问题。
假设我的MCK有200ps的占空比抖动,因为有PLL的缘故,我的WS也不会太高,对于44100HZ的信号来说,3200PS的抖动也不过是4.8E-5的占空比变化,很微不足道。
但是对于ASRC和DF来说,他们输出的信号是由MCK分频得来的,所以MCK的抖动会对分频得到的WS或LE有一定程度的影响,同样是3200PS的抖动,却有1.5%的变化,相对来说就比较大了,如果我告诉你,一般DF输出的是8X,ASRC输出的是4X,那么占空比变化则依然有1.22%和0.82%的占空比变化。
所幸的是,现在的接收片子,只要是主流,基本都在250以下,偶尔也见250-600的,但那也比3200小好多。
所以,只要让MCK的抖动能降下来,有相对稳定的占空比,就好了,不必苛求其他几个信号的同步。
比起走线引起的抖动来说,时钟生成器的频偏和锁相环的处理显得更为重要。CD机如果用了不够自重的垃圾
晶体,那么造成时间上的变化,就越发显著,和磁带一样,快则亮,慢则暗,虽然500ppm的变化不会相磁带一样,但是也会造成输出信号的变化,波形也会变化。而不良的锁相环也会导致占空比变化异常,高频显著变化。
现在的接收芯片,PLL大多是对<100khz进行优化的,比如CS8416 96K可以低达45PS,48K也才122,但192K却高达2XX,如果不优化,那么48K更是高达500PS, 和YM3613无异,而新片CS8422自带ASRC,却没有优化PLL,其代价就是高达200PS的抖动(非平衡下500PS)。
除了RC VCO的,也有用外置晶体的WM8804,8805,这个就更考设置了,虽说也可以达到50PS的低抖动,但是默认却是关闭192K接收的,很难让人不怀疑他在192KHZ下抖动是否也和CS8416差不多。
这一切都是厂家在作祟,我们可以做的,就是为了那几个PS奋斗,比如一个好的电源,可以让9001的抖动降到39ps,而一个不好的电源,则可以让9001的抖动加大1000倍.......当你怀疑模拟部分的时候,是不是先把数字部分的电源搞好呢?
当然,如果你用了抖动清除技术也是可以降低5-8的,而前提是你还是需要好电源以及稳定的晶振。 |
|