完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
全数字锁相环的设计及分析
锁相环是一种能使输出信号在频率和相位上与输入信号同步的电路,即系统进入锁定状态(或同步状态)后,震荡器的输出信号与系统输入信号之间相差为零,或者保持为常数。传统的锁相环各个部件都是由模拟电路实现的,一般包括鉴相器(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全数字锁相环数学模型的建立与分析 结合 鉴相器可以看作增益为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的设计。 |
|
相关推荐
1 个讨论
|
|
,学习了
|
|
|
|
|
|
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72897 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:28 , Processed in 0.522254 second(s), Total 38, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号