FPGA的学习中,经常会看到DCM、DLL、以及PLL等词语。以前没有真正使用,总是模棱两可,马马虎虎知道是时钟相关资源就再也没深究。但终究不是办法,因为虽然解决问题的时候确实很痛苦,但是痛苦之余盲区总会一天少过一天。相反,对问题避之不及,到要用的一天又会“书到用时方恨少”,懊恼又悔恨。因此,我查阅文献,对这些名词进行了一次梳理与了解,就当扫盲也好:
目录
一、功能
二、PLL介绍
1、模块功能:
2、工作原理(负反馈):
3、示意图:
4、PLL特点:
二、DLL
1、DLL概念
2、示意图
3、DLL特点:
4、DLL与PLL的比较
三、DCM
模块组成:
四、区别
五、参考文献
1、消除时钟延迟
2、频率合成(倍频和分频)
3、时钟校正(可编程占空比和相移)
PLL (Phase Locked Loop,相位锁定环)是一种负反馈系统,基准频率振荡器、相位频率比较器、环路滤波器和压控振荡器以及反馈分频器组成。
基准频率振荡器:输入晶体振荡器,作为基准信号(高频率振荡器由基准信号得到,因此其频率稳定度可以与晶体振荡器相媲美);
相位频率比较器:对基准频率信号与压控振荡器输出进行比较,用于反馈;
环路滤波器:将相位频率比较器的脉冲输出转换为直流电压,作为压控震荡器的控制信号;
压控振荡器:PLL的输出产生器件,受反馈电压控制;
反馈分频器:压控振荡器的输出,经反馈分频器输入到相位频率比较器;
压控振荡器产生输出,经反馈分频器反馈到相位频率比较器与基准频率比较,差异值PD经回路滤波器转换为直流电压VR,作为控制电压控制震荡器的频率改变,通过负反馈逐步实现振荡器频率的稳定。
示意图1:
示意图2:
1、输出时钟是内部压控振荡器产生的,把输入参考时钟和反馈时钟的变化转换为电压信号间接地控制VCO的频率;
2、压控振荡器输出频率有一定的范围,如果输入时钟频率超出这个频率,则锁相环不能锁定;
3、LPF部件可以过滤输入时钟的高频抖动,其输出时钟的抖动主要来自VCO本身及电源噪声,而不是输入时钟带入的抖动;
4、由于是模拟电路,因此对电源噪声敏感,在设计PCB时,一般需要单独的模拟电源和模拟地。
DLL(delay locked loop,数字延迟锁相环),基于数字抽样方式,在输入时钟和反馈时钟之间插入延迟,在输入时钟和反馈时钟间插入延迟,使输入时钟和反馈时钟的上升沿一致来实现的。DLL用可变延迟线代替压控振荡器。延时线产生输入时钟的延迟输出,时钟分布网络把时钟送到内部寄存器的时钟端口,控制逻辑对输入时钟和反馈时钟进行抽样、比较,调整延时线。
一般来说,DLL与PLL类似,但与PLL不同的是DLL不含压控振荡器(VCO)。PLL会一直存储相位和频率信息,而DLL只存储相位信息。因此,DLL略比PLL稳定(也可从PLL更侧重于模拟器件,而DLL更侧重于数字器件角度理解---数字电路比模拟电路稳定性好)。
Xilinx芯片主要集成的是DLL,而Altera芯片集成的是PLL。作为比较,将两者的实现方式展示如下:
1、时钟输出真实、及时地反映输入时钟,跟踪输入时钟迅速;
2、能锁定的输入时钟频率范围较宽,但是由于延时电路的总延时有限,因此不能锁定时钟频率过低的输入时钟;
3、不能过滤时钟源的抖动,会引入固有抖动,造成抖动的累计;
4、用数字电路实现,对电源噪声不敏感。
1、DLL与PLL功能上都可以实现倍频、分频、占空比调整,但是PLL调节范围更大,比如说:XILINX使用DLL,只能够2、4倍频;ALTERA的PLL可以实现的倍频范围就更大。(毕竟一个是模拟的、一个是数字的。)
2、PLL用的晶振存在不稳定性,而且会累加相位错误,但PLL在时钟的综合方面做得更好些。而DLL抗噪声的能力强些,因而在延时补偿和时钟调整时常用DLL;
DCM(digital clock manage,数字时钟管理),是Xilinx高端芯片DLL的增强模块。用于时钟综合、消除时钟偏斜和进行时钟相位调整等,利用DCM完成时钟倍频、分频、相移十分方便
1、DLL模块:DCM最底层仍采用成熟的DLL模块---即DCM为DLL的增强模块;
2、数字频率合成器(DFS,Digital Frequency Synthesizer)
3、数字移相器(DPS,Digital Phase Shifter)
4、数字频谱扩展器(DSS,Digital Spread Spectrum)
1、比起DLL和DCM,PLL的相移范围更宽(DCM只支持90、180、270相位,但PLL这方便更灵活宽泛);
2、比起DLL和DCM,PLL的分频倍频范围更广(DCM只支持2~16的小数分频,以及2倍频,但是PLL这方面更灵活宽泛);
3、DLL和DCM使用数字延时模块(可变延迟线)来调理时钟,使输入时钟和反馈时钟的上升沿一致;而PLL使用模拟延时模块(压控振荡器Vco)来调理时钟;
4、DCM可以实现零时钟偏移clock skew,消除时钟分配延迟,并实现时钟闭环控制;
5、DCM可以将时钟映射到PCB来同步外部芯片,将芯片内外时钟控制一体化。其关键参数为输入时钟频率范围、输出时钟频率范围,输入/输出时钟允许抖动范围
PLL(锁相环)电路原理
PLL与DLL锁相环介绍
DCM和DLL使用带来的思考
PLL、DLL、DCM区别及应用