锁相环中的DLL和PLL的区别之一
DLL:一般在altera公司的产品上出现PLL的多,而xilinux公司的产品则更多的是DLL,开始本人也以为是两个公司的不同说法而已,后来在论坛上见到有人在问两者的不同,细看下,原来真是两个不一样的家伙。DLL是基于数字抽样方式,在输入时钟和反馈时钟之间插入延迟,使输入时钟和反馈时钟的上升沿一致来实现的。又称数字锁相环。PLL:使用了电压控制延迟,用VCO来实现和DLL中类试的延迟功能。又称模拟锁相环。功能上都可以实现倍频、分频、占空比调整,但是PLL调节范围更大,比如说:XILINX使用DLL,只能够2、4倍频;ALTERA的PLL可以实现的倍频范围就更大毕竟一个是模拟的、一个是数字的。两者之间的对比:对于PLL,用的晶振存在不稳定性,而且会累加相位错误,而DLL在这点上做的好一些,抗噪声的能力强些;但PLL在时钟的综合方面做得更好些。总的来说PLL的应用多,DLL则在jitterpowerprecision等方面优于PLL。
目前大多数FPGA厂商都在FPGA内部集成了硬的DLL(Delay-LockedLoop)或者PLL(Phase-LockedLoop),用以完成时钟的高精度、低抖动的倍频、分频、占空比调整移相等。目前高端FPGA产品集成的DLL和PLL资源越来越丰富,功能越来越复杂,精度越来越高(一般在ps的数量级)。Xilinx芯片主要集成的是DLL,而Altera芯片集成的是PLL。Xilinx芯片DLL的模块名称为CLKDLL,在高端FPGA中,CLKDLL的增强型模块为DCM(DigitalClockManager)。
Altera芯片的PLL模块也分为增强型PLL(EnhancedPLL)和高速(FastPLL)等。这些时钟模块的生成和配置方法一般分为两种,一种是在HDL代码和原理图中直接实例化,另一种方法是在IP核生成器中配置相关参数,自动生成IP。Xilinx的IP核生成器叫CoreGenerator,另外在XilinxISE5.x版本中通过ArchetectureWizard生成DCM模块。Altera的IP核生成器叫做MegaWizard。另外可以通过在综合、实现步骤的约束文件中编写约束属性完成时钟模块的约束。
PLL是英文PhaseLockLoop的缩写,中文名称为“锁相环”。说到频率信号的产生我们知道有很多种方法,其中在固定形状和大小的石英晶体上加电压就可以产生一个非常稳定的频率信号,因此常常用于高精度仪器上作为基准频率使用,早期电脑主板上的外频通常是由石英晶体直接产生的,通过倍频或分频电路来获得不同频率的信号让主板各个电路协调工作,因此在Pentium时代之前的前辈们在给CPU超频时往往需要采用更换晶体的方式,费力而麻烦。
为了能够在很宽的范围内随意产生任何高精度的频率信号,PLL电路诞生了。PLL电路的工作原理比较简单,它由鉴相器、充电泵、环路滤波器和一个振荡器(VCO)构成。PLL电路刚接通电源时,VCO内部由变容二极管组成的RCL电路开始振荡而产生一个并不规范的频率,该频率经过分频电路降频后被送到鉴相器与石英晶体产生的基准频率进行相位的对比,发现VCO产生的频率偏离电路设定时就根据偏差的方向由充电泵产生一个矫正电压,该电压经过环路滤波器后送入VCO内的可变二极管上,随着可变二极管上工作电压的变化,其内部电容容量也会发生变化,VCO的振荡频率开始改变并趋近电路设定的频率,一旦两者频率信号的相位同步,鉴相器检测出来的相位误差就接近0,VCO内变容二极管两端的电压就固定不变,PLL电路就开始输出设定的频率信号并开始正常工作了。
由于PLL电路输出的时钟信号的频率可以在很大范围内变化,而且调整速度快,信号稳定,我们只要改变基准频率的大小或加入不同的修正电压就能随意的改变VCO输出的频率大小,也正是因为PLL电路灵活方便的特性,现在很多需要产生高质量频率信号的电路中都能见到PLL的身影。 锁相环中的DLL和PLL的区别之一
页:
[1]