登录站点

用户名

密码

PLL与DLL的区别

已有 377 次阅读  2011-11-30 20:35   标签dll  pll 

DLLPLL是两个完全不同的东西,用在不同的地方。

DLL-Delay locked loop
用在数字电路中,用来自动调节一路信号的延时,使两路信号的相位一致(边沿对齐), 在需要某些数字信号(比如data bus上的信号)与系统时钟同步的情况下, DLL将两路clock的边沿对齐(实际上是使被调节的clock滞后系统clock 整数个周期),用被调节的clock做控制信号,就可以产生与系统时钟严格同步的信号(比如输出数据data跟输入clock同步,边沿的延时不受到电压、温度、频率影响)。


PLL--Phase locked loop
除了用作相位跟踪(输出跟输入同频同相,这种情况下跟DLL有点相似)外,可以用来做频率综合(frequency synthesizer,输出频率稳定度跟高精度低漂移参考信号(比如温补晶振)几乎相当的高频信号,这时,它是一个频率源。利用PLL,可以方便地产生不同频率的高质量信号,PLL输出的信号抖动(频域上表现为相噪)跟它的环路带宽,鉴相频率大小有关。总的说来,PLL的环路带宽越小,鉴相频率越高,它的相位噪声越小(时域上抖动也越小)。
由于在实际ADC系统中,采样系统总的动态特性主要取决于采样时钟的抖动特性,如果对频率要求不是太高,VCXO是比较好的选择。如果确实需要可变频率低抖动时钟,则基于PLL的时钟发生器是最好选择。

 

 

 

从应用上看
     DLL
Delay Lock Loop, 主要是用于产生一个精准的时间延迟, 且这个delay不随外界条件如温度,电压的变化而改变.这个delay是对输入信号的周期做精确的等分出来的, 比如一个输入信号周期为20ns, 可以设计出等分10份的delay, 即最小2nsdelay. 这在高速界面做clock recovery and data recovery上很有用处。 由于普通的delay cell在不同的cornerdelay会发生很大的变化(FFSS相差几乎3), 有时候会被迫采用DLL来产生一个精准的delay而不是用普通的delay cell.

   
PLLPhase lock loop, 主要是根据一个输入时钟产生出一个与输入时钟信号in phase的倍/除频时钟, 其中倍频时钟和输入、输出时钟in phase是最主要的应用。

从内部结构上来看
     DLL
只有一个大的反馈环来调节最后1T后的信号与输入信号in phase来保证delay 出来的结果是对输入信号周期的均分,如示意图; 输出信号只是对输入信号的一个delay, 即为同频且有一个固定的phase差,同时由于输出信号与输入直接关联,输入信号的jitterfrequency 漂移会直接反映在输出信号上。在实现上,可以是模拟电路也可以是数字电路实现,但绝大多数应该是模拟电路实现比较好,因为需要调节电压来补偿环境变化带来的delay 变化。

     PLL
除了有一个大的反馈环来让PLL振出的clockreference clock in phase,内部还有一个小的ring oscillatorl来振出想要的clock,如示意图。由于输出clock是由一个单独的ring oscillator振出来的,所以与reference clockjitterfrequency漂移几乎完全无关。但由于是内部自己起振,所以比DLL要复杂。这个以前也有提过数字PLL, 但做出来的数字PLL振出来的clock很差,就几乎没有提数字PLL, 而是采用模拟电路来做。

总结一下

1)DLL 优势在于可以做到很高精度,可以排除温度、电压变化带来的影响,使得skew 可以作得很小,而且可以调整时钟占空比。

2)PLL 优势在于抑制clock jitter 以及输入时钟的frequency漂移。

补充一点:DLL中由于Delay的时间范围有限,所以不大适用于低频信号

在用过ALTERAXILINXFPGA之后,

没有觉得PLLDLL的区别能表现到做的项目上。

我想是不是对于大多数FPGA设计来说,还不用考虑这两者的区别

PLL,把相位差变成压差,然后控制VCO,调整输出时钟; DLL,把相位差变成延迟信号,然后通过延迟线调整输出时钟。 PLL是模拟电路的,DLL是数字电路的。

 

上一篇: 如何提高STM32 的学习效率1 下一篇: 工程师为200余孩子自费办公益学校 一年赔15万

分享 举报