×
嵌入式 > 技术百科 > 详情

全数字锁相环的设计及分析

发布时间:2020-06-20 发布时间:
|

 1 引 言

  锁相环是一种能使输出信号在频率和相位上与输入信号同步的电路,即系统进入锁定状态(或同步状态)后,震荡器的输出信号与系统输入信号之间相差为零,或者保持为常数。传统的锁相环各个部件都是由模拟电路实现的,一般包括鉴相器(PD)、环路滤波器(LF)、压控振荡器(VCO)三个环路基本部件。

  随着数字技术的发展,全数字锁相环ADPLL(AllDigital Phase-Locked Loop)逐步发展起来。所谓全数字锁相环,就是环路部件全部数字化,采用数字鉴相器、数字环路滤波器、数控振荡器构成锁相环路,并且系统中的信号全是数字信号。与传统的模拟电路实现的锁相环相比,由于避免了模拟锁相环存在的温度漂移和易受电压变化影响等缺点,从而具备可靠性高、工作稳定、调节方便等优点。全数字锁相环的环路带宽和中心频率编程可调,易于构建高阶锁相环,并且应用在数字系统中时,不需A/D及D/A转换。在调制解调、频率合成、FM立体声解码、图像处理等各个方面得到广泛的应用。

  随着电子设计自动化(EDA)技术的发展,可以采用大规模可编程逻辑器件(如CPLD或FPGA)和VHDL语言来设计专用芯片ASIC和数字系统。本文完成了全数字锁相环的设计,而且可以把整个系统嵌入SoC,构成片内锁相环。

  2全数字锁相环的体系结构和工作原理

  74XX297 是出现最早,应用最为广泛的一款全数字锁相环,在本文中以该芯片为参考进行设计、分析。ADPLL基本结构如图1所示,主要由鉴相器、K变模可逆计数器、脉冲加减电路和除N计数器4部分构成。K变模计数器和脉冲加减电路的时钟分别为Mfc和2Nfc。这里fc是环路中心频率,一般情况下M和N都是2的整数幂。

                             

  2.1 鉴相器

  常用的鉴相器有两种类型:异或门(XOR)鉴相器和边沿控制鉴相器(ECPD)。异或门鉴相器比较输入信号Fin相位和输出信号Fout相位之间的相位差 θe,并输出误差信号Se作为K变模可逆计数器的计数方向信号。环路锁定时,θe=0,Se为一占空比50%的方波。当θe=+π/2时,Se等于1;当 θe=-π/2时,Se等于0。因此异或门鉴相器相位差极限为±π/2,边沿控制鉴相器相位差极限为±π。

  2.2 K变模可逆计数器

  K 变模可逆计数器消除了鉴相器输出的误差信号Se中的高频成分,保证环路的性能稳定。K变模可逆计数器主要是根据鉴相器的输出作为方向脉冲,输出加减脉冲信号。当Se为低电平时,计数器进行加运算,如果相加的结果达到预设的模值,则输出一个进位脉冲信号CARRY;当Se为高电平时,计数器进行减运算,如果减的结果达到零,则输出一个借位脉冲信号BORROW。

  2.3脉冲加减电路

  K变模可逆计数器的CARRY和BORROW信号分别接到脉冲加减电路的INC和DEC信号。脉冲加减电路实现了对输入信号频率和相位的跟踪和调整,最终使输出信号锁定在输入信号的频率和相位上,可以称之为数控振荡器。

  2.4除N计数器

  除N计数器对脉冲加减电路的输出IDOUT进行N分频,得到整个环路的输出信号Fout。同时,因为fc=IDCLOCK/2N,因此通过改变分频值N可以得到不同的环路中心频率fc。

  3全数字锁相环的实现与仿真

  本设计在Altera公司的Max+PlusⅡ开发软件平台上,利用VHDL语言运用自顶向下的系统设计方法,完成ADPLL的设计。首先根据系统中各个功能模块的要求分别设计环路各个部件的逻辑电路,并进行仿真验证,然后再将各部件组合起来,进行系统仿真和验证。

  异或门鉴相器和除N计数器的实现较为简单,不再进行详细说明。

  3.1 K变模可逆计数器

  K 变模可逆计数器由两个独立的计数器"UPCOUNTER","DOWN COUNTER"组成,分别对应设计中的q0,q1。K为计数器的模值,总是2的整数幂,可由输入a[3..0]控制改变。计数器的操作由DN/UP信号控制。时钟clk频率为数字锁相环中心频率的M倍,clk上升沿计数。K计数器首先预置模数,然后把鉴相器的输出信号作为方向脉冲,控制内部计数器进行加、减计数。如果这个信号为高,"DOWN COUNTER"有效进行递减计算,"UP COUNTER"保持为零;相反,"UP COUNTER"有效进行累加计算,"DOWN COUNTER"保持为预置模数。"UP COUNTER"计数值超过K时,increase输出为1,计数器清零。"DOWN COUNTER"计数值为0时,decrease输出为1,计数器恢复为预置模数。

  a[3..0]=1时,设定K值为4。K变模可逆计数器仿真波形如图2所示。
                          

                                   

   3.2脉冲加减电路

  脉冲加减电路需要利用多个触发器配合产生时序,其输出为IDOUT。当没有进位或借位脉冲信号时,他把外部参考时钟进行二分频;当有进位脉冲信号inc 时,则在输出的二分频信号中插入半个脉冲,以提高输出信号的频率;当有借位脉冲信号dec时,则在输出的二分频信号中减去半个脉冲,以降低输出信号的频率。VHDL设计代码如下,图3为其仿真波形。

                          
  3.3全数字锁相环的实现与仿真

 将环路各个模块连接起来完成ADPLL的设计。为了简化设计,将K变模可逆计数器的时钟Mclk与脉冲加减电路时钟2Nclk接在一起,fin等于环路中心频率fc,fc=312.5 kHz。取M=16,N=8,Mclk=5 MHz。当a[3..0]=1时,设定K值为4。为了便于观察,将K变模可逆计数器的输入信号udcon引出。

  环路在进入锁定状态后,udcon为占空比为50%的方波。系统原理图和仿真波形分别如图4,图5所示。

                   

  由可得ADPLL的同步带理论值为:f0/4,即234.375~390.625 kHz。根据仿真实验结果,可以实现稳定锁相的频率范围为:250~357.14 kHz,略小于理论值范围。

  4全数字锁相环数学模型的建立与分析

  结合模拟和数字锁相的理论分析,可以得到全数字锁相环的相位和相差传递函数。图6为全数字锁相环的数学模型。

                           

  鉴相器可以看作增益为Kd的模块,输出占空比因子δk作为K变模计数器的输入DN/UP,控制"UP COUNTER"和"DOWN COUNTER"的动作。

                    

  对于异或门鉴相器,相差等于π/2时,δk=1,相差等于-π/2时,δk=-1。因此对于异或门鉴相器增益Kd=2/π,同理可得边沿控制鉴相器增益Kd=1/π。

  K变模计数器产生CARRY信号的频率为(f0为环路的中心频率):

                   

  对于K变模计数器,其输入输出信号分别为δk和θcarry,对应的Laplace变换为δk(s)和θcarry(s),所以K变模计数器的相位传递函数为:

                               

  对于脉冲加减电路,由于每个CARRY脉冲使其输出IDOUT增加1/2个周期,可以将他看作增益为1/2的模块。除N计数器可以看作增益为1/N的模块。系统的相位传递函数H(s)表示为:

                     

  为了获得最小波纹,对于异或门(XOR)鉴相器和边沿控制鉴相器(ECPD),K模值分别取为M/4和M/2,相应的时间常数分别为:τ(EXOR)= (N/8)T0,τ(ECPD)=(N/2)T0,其中T0=1/f0。由此可见,N越小,ADPLL的稳定时间越短。在本文中设计的锁相环,Kd=2/π,M=16,N=8,K=M/4=4,代入时间常数公式可得:τ=T0。

  5 结 语

  本文介绍了一种一阶ADPLL的设计方法,利用VHDL语言完成系统设计和仿真。ADPLL中可逆计数器的模值可以随意改变,用来控制ADPLL的跟踪补偿和锁定时间。除N计数器的分频值也可随意改变,使ADPLL可以跟踪不同中心频率的输入信号。设计好的ADPLL模块还可以作为可重用的IP核,应用于其他设计。同时,在理论分析的基础上,建立了全数字锁相环的一阶数学模型,从而可以根据具体的设计要求定量的计算参数,简化了ADPLL的设计。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
物联传感与Atmel强强联手 达成智能家居战略合作协议