1.3 数控振荡器DCO
脉冲加减电路完成环路的频率和相位调整,可以称之为数控振荡器(相位控制器),其RTL构架如图5所示。当没有进位/借位脉冲信号时,它把外部参考时钟进行2分频;当有进位脉冲信号CARRY时,则在输出的2分频信号中插入半个脉冲,以提高输出信号的频率;当有借位脉冲信号BORROW时,则在输出的2分频信号中减去半个脉冲,以降低输出信号的频率。这样就达到了调整本地时钟的相位,并使其跟踪锁定在输入信号相位上的目的。
当carry=0和borrow=O时,输出为系统时钟的2分频(clk2为输出;cLOCk_sys位系统时钟),如图6所示。
当carry=1且borrow=0时,输出为在系统2分频的基础上加上一个系统周期(clk2为输出;clock_sys位系统时钟),如图7所示。
1.4 N分频器
分频数N为锁相环的一个重要参数,它与锁相环的最大相位误差θ及同步建立时间t满足如下关系:
θ=2π/N,t=TN
式中:T为输入信号的周期。
可见,为了取得较小的相位误差,N的取值变大,相对的锁相环的建立时间也就变长。所以对于这两个指标而言,N的取值是矛盾的,为了达到较好锁相效果,需对N取一个中间值。在该设计中N取值为32,由仿真图可知,此时同步建立时间大概为18 μs,而相位误差为π/16。另外,徘徊滤波器中,双向计数器的计数峰值Q也对同步建立时间有直接影响。当计数频率和相差不变时,Q越大,则计数器达到满值所需时间越长,同步建立时间也就越长;反之亦然。可见Q与建立时间t成反比,在该设计中Q取18。
clk2,carry,borrow,oxr_out为测试端口;dIv_elk_out为分频值小于divider_n的一个分频器;从而输出一个高于基准输入频率的信号,并对输入的基准频率进行倍频,如图8所示。
2 DPLL的FPGA实现
下面给出详细描述DPLL的工作过程:
(1)当环路失锁时,异或门鉴相器比较输入信号(clock_in)和反馈信号(clock_back)之间的相位差异,产生K变模可逆计数器的计数方向控制信号(xor_out)。
(2)K变模可逆计数器根据计数方向控制信号(xor_out)调整计数值。xor_out为高进行加计数,并当计数值到达预设的K值时,输出进位脉冲信号(carry);为低进行加计数,并当计数值达到0时,输出借位脉冲信号(borrow)。
(3)脉冲加减电路则根据进位脉冲信号(carry)和借位脉冲信号(borrow)在电路输出信号(clk2)中进行脉冲的增加和扣除操作,来调整clk2信号的频率,以实现clock_back信号对clock_in信号的相位跟踪。
(4)重复上面的调整过程,当环路进入锁定状态时,异或门鉴相器的输出xor_out为一占空比50%的方波,而K变模可逆计数器则周期性地产生进位脉冲输出CARRY和借位脉冲输出BORROW,导致脉冲加减电路的输出IDOUT周期性地加入和扣除半个脉冲。