数字锁相环设计步骤

出处:H218 发布于:2008-09-18 11:48:46

  有关数字锁相环的帖子不断出现,但大多没有讲述其原理。翻开有关锁相环的书总是堆叠着鉴相、同相积分、中相积分、滤波等专用名词。这些概念距离硬件设计实现数字锁相环较远。本文按照数字锁相环设计的步骤,采用手把手的方式讲述设计过程和原理,旨在给数字锁相环初次设计者提供一个思路,缩短开发的时间。附件是用VHDL语言设计的20分频数字锁相环。

  Div20PLL Port(

  clock : in std_logic; --80M local clk

  flow : in std_logic; --4M data flow

  clkout : out std_logic --4M CLK

  );

  其中clkout是所提取的数据时钟。clock是本地时钟,其频率是数据流flow速率的20倍。若数据流flow速率为4M则clock选用80M,若 flow为1M则选取clock为20M,依次类推。此附件基本按照下文提到的步骤设计,并已经在产品中应用的。

  专用名词约定:

  一个比特: 数据流flow由一个比特接一个比特组成,文中提到的一个比特均指flow中的一个比特。

  域: 一个比特的时间从开始到结束可以划分为5个时间片段,依次为

  §前失锁§超前§同步§滞后§后失锁§

  这五个片段称作五个域,其中前失锁和后失锁统称为失锁域。

  分频比R: 本地时钟记做clock,从flow中提取的时钟记做lowclk,clock与lowclk的频率比记做R。

  smp: 指用clock提取的lowclk上升沿(参见“上升沿与下降沿触发小论”,需要注意一点的是,lowclk是与clock同步的信号,所以只需延时提取)。

  脉冲: 如不特殊指明,是指'1'值保持一个clock周期的信号,无效时值为'0'。

  设计总思路:

  数字锁相环完成的功能就是利用clock从flow中提取lowclk,并且使smp保持在同步域。lowclk由clock经R分频得到,并且 lowclk的相位是可以动态调整的以达到锁相的目的。当smp落在同步域时,认定为锁相环已经同步,保持分频的状态不变。当smp落在失锁域时认定为失锁,则强行置下一个smp到同步域的中间位置。当smp落在超前域时,则推迟下一个smp的到来一个节拍。当smp落在滞后域时,则提前一个节拍使下一个 smp到来。

  设计步骤:

  根据设计参数要求合理选取R值,通常R不小于8,本文选取R = 20讲解。以后文中用到20均指R,而提到10则指R/2。

  确定5个域的宽度,本例选取5个域等宽。由于R = 20,所以一个比特的宽度为20,那么每个域的宽度均为4。失锁域是前失锁域和后失锁域的统称,所以失锁域宽8。

  设计一个计数器cnt,cnt供10(R/2)个状态,记做s0到s9,cnt从s0到s9循环变化。cnt有三个同步控制脉冲load、inc和 dec,load使cnt装入s7,inc使cnt跳过下一个状态(假如在s8时有inc,则cnt从s8直接跳到s0而不再经过s9),dec使cnt 继续保持当前状态不变。

  时钟lowclk的状态受到cnt的状态和load信号的同步控制,load使lowclk置'1'值,s9使lowclk翻转。两个特殊情况是由于 cnt受到inc和dec的控制而使cnt的状态会跳过s9或重复出现s9,即会出现...s7s8s0s1...或... s7s8s9s9s0s1...这两种情况。对于种情况lowclk在s8后的s0翻转,而第二种情况仅在个s9处翻转。

  用clock提取flow的跳变沿saltus。

  用saltus产生一个宽度为16的信号pulse,pulse在saltus处及接下来的15个clock中期内保持为'1'值,其余情况为'0'。在pulse为'1'期间有一个计数器position在计数,显然position的值为0到15。

  用clock提取pulse的下降沿cmp。

  定义一个与position相同类型的信号phase。phase在pulse为'0'时值为0,在pulse为'1'且smp为'1'时装入position的值,其他情况phase保持值不变化。

  在cmp处观察phase的值。若为0到3则产生一个失锁脉冲loss,若为4到7则产生一个超前脉冲lead,若为8到11则产生一个同步脉冲syn,若为12到15则产生一个滞后脉冲lag。这些脉冲的位置均在cmp。

  若loss累积3次且这3次中间没有出现过syn,则产生一个装载脉冲load。按照相同的方法用lead产生一个dec信号,用lag信号产生一个inc信号。

  至此,整个数字锁相环已经设计完毕。步骤中提到的计数器就相当于积分,phase的作用就是完成鉴相,第10步也就是一些有关数字锁相环的书籍中提到的滤波。第3步提到R/2计数器而后在第4步用cnt的状态翻转lowclk来实现R分频,是为了强调输出的lowclk的展空比为50%。

    欢迎转载,信息来源维库电子市场网(www.dzsc.com



  
关键词:数字锁相环设计步骤设计数字锁相

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

XL6009经常被用来设计大电流dc-dc升压电路!
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!