在FPGA中一般都带有PLL和DLL或者DCM,这些IP核会根据需要实现任意频率和相位的时钟,但是在一些场合中,PLL和DLL或者DCM并不够用或者没必要用那么复杂的时钟系统,所以用程序实现分频是很有必要的,下面先简单看下PLL、DLL、DCM区别及应用。 |
主要包括PLL原理、DLL原理和DCM原理,应用可能只会简单说一说,具体以原理为主。
一、作用
PLL、DLL和DCM出现的原因:FPGA芯片规模增大,工作频率高,片内时钟分配质量和时钟延迟变得重要、传统的时钟树无法保持片内高速时钟的精确同步需求。
作用:
1)消除时钟延迟,可实现零传输延迟,使时钟输入信号与整个芯片内部时钟引脚之间偏差最小;
2)频率合成(包括倍率和分频);
3)时钟校正(包括占空比和相移)。
二、PLL原理
1、锁相环基本结构
锁相环是一种反馈系统,其中电压控制振荡器(VCO)和相位比较器相互连接,使得振荡器可以相对于参考信号维持恒定的相位角度。锁相环可用来从固定的低频信号生成稳定的输出高频信号等。
图1‑61 PLL基本结构
图1‑62(A)显示了PLL的基本模型。 PLL可以借助拉普拉斯变换理论,利用正向增益项G(s)和反馈项H(s)来作为负反馈系统进行分析,如图1‑62(B)所示。其适用负反馈系统的一般公式。
图1‑62 PLL基本模型
PLL的基本模块为误差检波器(由鉴频鉴相器和电荷泵组成)、环路滤波器、 VCO和反馈分频器。负反馈强制误差信号e(s)在反馈分频器输出和基准频率处于锁相和锁频状态且FO= NFREF 的点处接近0。
根据图1‑62,当系统使用PLL来生成高于输入的频率时, VCO会以角频率ωO振荡。该信号的一部分会通过分频器以1/N的比率回馈到误差检波器。这种经过分频的频率会馈入误差检波器的其中一个输入端。本例中,另一路输入为固定参考信号。误差检波器会比较两个输入端的信号。当这两个信号输入的相位和频率相等时,误差为常数,环路则处于“锁定”条件下。
2、鉴频鉴相器(PFD)
图2显示鉴频鉴相器(PFD)的常见实现方案,该类器件基本上都由两个D型触发器组成。一路Q输出使能正电流源,另一路Q输出则使能负电流源。假设本设计中D型触发器由正边沿触发,那么可能状态就如逻辑表中所示。
图1‑63 鉴频鉴相器(PFD)驱动电荷泵(CP)
图1‑63(A)所示。由于+IN处的频率远高于-IN处的频率,因此UP输出多数时间处于高电平状态。 +IN上的第一个上升沿会发送输出高电平,并且这种情况会一直持续到–IN上出现第一个上升沿。在实际的系统中,这就意味着输出及VCO的输入会被进一步拉高,进而造成–IN处的频率增加。这恰恰是期望达到的效果。如果+IN处的频率远低于–IN处的,则会出现相反效果。 OUT处的输出多数时间处于低电平状况。这会在负方向上驱动VCO,并再次使得–IN处的频率更加接近+IN处的频率,从而达到锁定条件。
图1‑63(B)显示了输入处于锁频和接近锁相条件时的波形。由于+IN领先于-IN,因此输出为一系列正电流脉冲。这些脉冲往往会驱动VCO,使得–IN信号变得与+IN信号相位对齐。发生这种情况时,如果U3和U1及U2的CLR输入端之间没有任何延迟元件,那么输出可能会进入高阻抗模式,从而既不会生成正电流脉冲,也不会生成负电流脉冲。这并不是一种很好的状况。
VCO会发生漂移,直到造成显著的相位误差并再次开始生成正电流脉冲或负电流脉冲。这种循环会持续相当长的一段时间,其影响是电荷泵的输出会被某个信号(PFD输入基准频率的次谐波)调制。由于这可能是一种低频信号,因此无法通过环路滤波器进行衰减,从而会导致VCO输出频谱中出现非常明显的杂散,该现象称为“间隙”或“死区”效应。
通过在U3的输出端和U1及U2的CLR输入端之间添加延迟元件,可以确保不会发生这种情况。添加延迟元件后,即使+IN和–IN相位完全对齐时,电荷泵输出端仍会生成电流脉冲,如图1‑63(C)所示。该延迟的持续时间等于在U3输出处插入的延迟,称为反冲防回差脉冲宽度。请注意,如果+IN频率小于−IN频率且/或+IN相位落后于−IN相位,那么电荷泵的输出将为一系列负电流脉冲,与图1‑63中(A)和(B)所示条件相反。
3、振荡器/PLL相位噪声
PLL是一种类型的振荡器,而在任何振荡器设计中,频率稳定性都至关重要。我们需要考虑长期和短期稳定性。长期频率稳定性是关于输出信号在较长时间(几小时、几天或几个月)内的变化情况。其通常以一定时间内的比率Δf/f来规定,单位为百分比或dB。
短期稳定性则是关于几秒或更短时间内的变化情况。这些变化可能是随机的,也可能是周期性的。可以使用频谱分析仪来检查信号的短期稳定性。图1‑64显示了一种典型频谱,其中随机和离散频率成分导致出现大范围的波裙和杂散波峰。