全数字锁相环的设计_第1页
全数字锁相环的设计_第2页
全数字锁相环的设计_第3页
全数字锁相环的设计_第4页
全数字锁相环的设计_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全数字锁相环的设计锁相环(PLL)技术在众多领域得到了广泛的应用。如信号处理,调制解调,时钟 同步,倍频,频率综合等都应用到了锁相环技术。传统的锁相环由模拟电路实现, 而全数字锁相环(DPLL以传统的模拟电路实现的PLL相比,具有精度高且不受温 度和电压影响,环路带宽和中心频率编程可调,易于构建高阶锁相环等优点,并 且应用在数字系统中时,不需 A/D及D/A转换。随着通讯技术、集成电路技术 的飞速发展和系统芯片(SoC)的深入研究,DPLL必然会在其中得到更为广泛的应 用。这里介绍一种采用VERILOG硬件描述语言设计DPLL的方案DPLL结构及工作原理一阶DPLL的基本结构如图1所示。主要由

2、鉴相器、K变模可逆计数器、脉 冲加减电路和除N计数器四部分构成。K变模计数器和脉冲加减电路的时钟分别 为Mfc和2Nfc。这里fc是环路中心频率,一般情况下 M和N都是2的整数幕。 本设计中两个时钟使用相同的系统时钟信号。KCLOCK-Wfc九相押7 »J CARR匕去枸却后ZlKM ECIP口 S« MlV I - y -UP gR讹白安g 尹C*gOUT&中湘限电疑/nCLCOCNfc图1数字锁相环基本结构图鉴相器常用的鉴相器有两种类型:异或门(XOR爆相器和边沿控制鉴相器(ECPD), 本设计中采用异或门(XOR悭相器。异或门鉴相器比较输入信号 Fin相位和输

3、出 信号Fout相位之间的相位差 e=0)ir-out,并输出误差信号Se作为K变模可 逆计数器的计数方向信号。环路锁定时, Se为一占空比50%的方波,此时的绝 对相为差为90 0因此异或门鉴相器相位差极限为 ±90:异或门鉴相器工作波形 如图2所示。FinFoulI._rLrLTLrm_rLrLrLrLrLfa;环路地定时祚或门竽加器输出淤/FHRwt 1I . L I_l -511bi Foot也前90 时J或门承,器输M淞地FinF中篦5梆二0Ce Foul 90-| "!?门以:,於出彼多图2异或门鉴相器在环路锁定及极限相位差下的波形K变模可逆计数器K变模可逆计数

4、器消除了鉴相器输出的相位差信号 Se中的高频成分,保证 环路的性能稳定。K变模可逆计数器根据相差信号 Se来进行加减运算。当Se为 低电平时,计数器进行加运算,如果相加的结果达到预设的模值, 则输出一个进 位脉冲信号CARRY给脉冲加减电路;当Se为高电平时,计数器进行减运算,如 果结果为零,则输出一个借位脉冲信号 BORROW合脉冲加减电路。脉冲加减电路脉冲加减电路实现了对输入信号频率和相位的跟踪和调整,最终使输出信号锁定在输入信号的频率和信号上,工作波形如图 3所示。IDCLOCKCARRYBORROWIDOUT图3脉冲加减电路工作波形除N计数器除N计数器对脉冲加减电路的输出IDOUT再进

5、行N分频,得到整个环路的 输出信号Fouto同时,因为fc=IDCLOCK/2N,因此通过改变分频值 N可以得到 不同的环路中心频率fCoDPLL部件的设计实现了解了 DPLL的工作原理,我们就可以据此对 DPLL的各部件进行设计。DP LL的四个主要部件中,异或门鉴相器和除N计数器的设计比较简单:异或门鉴相器就是一个异或门;除N计数器则是一个简单的N分频器。下面主要介绍K 变模可逆计数器和脉冲加减电路的设计实现。K变模可逆计数器的设计实现K变模可逆计数器模块中使用了一个可逆计数器Count,当鉴相器的输出信号dnup为低时,进行加法运算,达到预设模值则输出进位脉冲 CARRY为高时, 进行减

6、法运算,为零时,输出借位脉冲BORROW Count的模值Ktop由输入信号Kmode预设,一般为2的整数幕,这里模值的变化范围是 23-29。模值的大 小决定了 DPLL的跟踪步长,模值越大,跟踪步长越小,锁定时的相位误差越小, 但捕获时间越长;模值越小,跟踪步长越大,锁定时的相位误差越大,但捕获时 问越短。K变模可逆计数器的VERILOG设计代码如下(其中作了部分注释,用斜体表 示):module KCounter(Kclock , reset, dnup, enable , Kmode, carry , borr ow);input Kclock; /*系统时钟信号*/input res

7、et; /*全局复位信号*/input dnup; /*鉴相器输出的加减控制信号*/input enable; /*可逆计数器计数允许信号*/input 2:0Kmode; /*计数器模值设置信号*/output carry; /*进位脉冲输出信号*/output borrow; /*借位脉冲输出信号*/reg 8:0Count; /* 可逆计数器*/reg 8:0Ktop; /*预设模值寄存器*/*根据计数器模值设置信号Kmode来设置预设模值寄存器的值*/always (Kmode) begin case(Kmode) 3'b001:Ktop<=7;3'b010:Kt

8、op<=15;3'b011:Ktop<=31;3'b100:Ktop<=63;3'b101:Ktop<=127;3'b110:Ktop<=255;3'b111:Ktop<=511;default:Ktop<=15; endcase end/*根据鉴相器输出的加减控制信号dnup进行可逆计数器的加减运算*/ always (posedge Kclock or posedge reset) begin if(reset) Count<=0;else if(enable) begin if(!dnup) begi

9、n if(Count=Ktop) Count<=0; elseCount<=Count+1; end else begin if(Count=0) Count<=Ktop; elseCount<=Count-1; end end end /*输出进位脉冲carry和借位脉冲borrow*/ assign carry=enable&(!dnup) &(Count=Ktop); assign borrow=enable&dnup& (Count=0); endmodule脉冲加减电路的设计实现脉冲加减电路完成环路的频率和相位调整,可以称之为数

10、控振荡器。当没有 进位/借位脉冲信号时,它把外部参考时钟进行二分频;当有进位脉冲信号CARRY时,则在输出的二分频信号中插入半个脉冲,以提高输出信号的频率;当有 借位脉冲信号BORROW寸,则在输出的二分频信号中减去半个脉冲,以降低输 出信号的频率。VERILOG设计代码如下:module IDCounter(IDclock , reset, inc, dec, IDout);input IDclock; /*系统时钟信号*/ input reset; /*全局复位信号*/ input inc; /*脉冲加入信号*/ input dec; /*脉冲扣除信号*/output IDout; /*调

11、整后的输出信号*/wire Q1, Qn1, Q2,Qn2,Q3,Qn3;wire Q4, Qn4, Q5,Qn5,Q6,Qn6;wire Q7, Qn7, Q8, wire D7, D8;Qn8,Q9,Qn9;FFD FFD1(IDclock,reset,inc,Q1,Qn1);FFD FFD2(IDclock,reset,dec,Q2,Qn2);FFD FFD3(IDclock,reset,Q1,Q3,Qn3);FFD FFD4(IDclock,reset,Q2,Q4,Qn4);FFD FFD5(IDclock,reset,Q3,Q5,Qn5);FFD FFD6(IDclock,reset

12、,Q4,Q6,Qn6);assign D7=(Q9 &(Qn1 &Q3)| (Q9 & Q5 &Qn3);assign D8=(Qn9 &Qn2 i& Q4) | (Qn9 & Q6& Qn4)FFD FFD7(IDclock,reset,D7,Q7,Qn7 );FFD FFD8(IDclock,reset,D8,Q8,Qn8);JK FFJK(IDclock, reset, Qn7, Qn8, Q9, Qn9);assign IDout = (!Idclock)|Q9; endmodule其中,FFD为D触发器,JK为JK触发器

13、。当环路的四个主要部件全部设计完毕,我们就可以将他们连接成为一个完整 的DPLL,进行仿真、综合、验证功能的正确性。DPLL的FPGA实现本设计中的一阶DPLL使用XILINX公司的FOUNDATION4.1软件进行设计综 合,采用XILINX的SPARTAN臻歹1J的XC2s15 FPGA器件实现,并使用 Modelsi m5.5d软件进行了仿真。结果表明:本设计中 DPLL时钟可达到120MHz,性能 较高;而仅使用了 87个LUT和26个触发器,占用资源很少。下面给出详细描 述DPLL的工作过程。(1)当环路失锁时,异或门鉴相器比较输入信号(DATAIN)和输出信号(CLOC KOUT)

14、之间的相位差异,并产生K变模可逆计数器的计数方向控制信号(DNUP);(2) K变模可逆计数器根据计数方向控制信号(DNUP)调整计数值,DNUP为 高进行减计数,并当计数值到达 0时,输出借位脉冲信号(BORROW);为低进行 加计数,并当计数值达到预设的 K模值时,输出进位脉冲信号(CARRY);(3)脉冲加减电路则根据进位脉冲信号(CARRY和借位脉冲信号(BORROW) 在电路输出信号(IDOUT)中进行脉冲的增加和扣除操作,来调整输出信号的频率;(4)重复上面的调整过程,当环路进入锁定状态时,异或门鉴相器的输出DNUP为一占空比50%勺方波,而K变模可逆计数器则周期性地产生进位脉冲输

15、出CARRY?口借位脉冲输出BORROW导致脉冲加减电路的输出IDOUT周期性的加 入和扣除半个脉冲。有关一阶DPLL的一些讨论波纹"(Ripple)消除在DPLL工作过程中,环路锁定时,异或门鉴相器的输出DNUP是一个占空比50%勺方波。因为在DPLL的基本结构中,K变模可逆计数器始终起作用。因 此当环路锁定后,如果模数K取值较小,K变模可逆计数器会频繁地周期性输出 进位脉冲信号CARRY和借位脉冲信号BORROW从而在脉冲加减电路中产生周 期性的脉冲加入和扣除动作,这样就在脉冲加减电路的输出信号IDOUT中产生了周期性的误差,称为 波纹”;如果模数K取值足够大一-M于异或门鉴相器

16、, K应大于M/4 ;对于边沿控制鉴相器,K应大于M/2 ,则这种 波纹”误差通过除 N计数器后,可以减少到N个周期出现一次,也就是说K变模可逆计数器的进位 脉冲信号CARRYffi借位脉冲信号BORROW勺周期是N个参考时钟周期。为了消除 波纹”误差,可以为K变模可逆计数器产生一个计数允许信号 EN ABLE,环路失锁时,此信号有效,允许计数;环路锁定时,此信号无效,禁止 计数,则不会产生周期性的进位和借位脉冲信号。波纹”消除电路消除 波纹”误差的同时,也减小了 DPLL的锁定范围,环路 的相位极限误差(异或门鉴相器为±90° ECPD为±180°减小为原来的1/(1+1/2 K),鉴相增益也减小到原来的1/2。使用DPLL进行FSK解调一个带有边沿控制鉴相器ECPD的DPLL再加上一个D触发器,就可以构成 一个FSK解调器,如图4所示。CLKK_CLS tID_CLK% -pH DPLL WITHFniltECPDI out n q . DECODE DATA* CK图4 FSK解调假设有一个输入信号Fin,它的频率在F1和F2之间变化,DPLL的中心频 率为Fc,并且F1<FC<F2如果输入彳S号频率为F1,则ECPD会产生一个负的相 位误差(FIN落后于FOUT),则D触发器的输出始终为“仔

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论