首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
采用VHDL设计的全数字锁相环电路设计
来源:本站整理  作者:佚名  2010-06-07 16:50:40



 异或门鉴相器在环路锁定时和相位误差达到极限时的相应波形如图3 所示:

  图3  异或门鉴相器工作波形

 2. 2  数字环路滤波器的设计

  数字环路滤波器是由变模可逆计数器构成的。该计数器设计为一个17 位可编程(可变模数) 可逆计数器,计数范围是,由外部置数DCBA 控制。假设系统工作无相位差,由锁相环原理知, u1 和u2 的相位差0 ,异或门鉴相器输出是一个对称的方波,如图4 (a) 所示。因此可逆计数器在相同的时间间隔内进行加或减计数,只要k 足够大,那么从零开始的计数就不会溢出或不够。

  

若u1 开始落后u2 ,异或门输出不对称,那么计数器加计数时间比减计数时间长,其结果计数器随着时间的增长将溢出,产生一个进位脉冲。相反,若U1 开始滞后U2 ,计数器将产生一个借位脉冲。进位和借位脉冲可用来控制DCO ,使得DCO 输出的脉冲数根据进位和借位来加上或者是删除一些脉冲,实际上也就改变了DCO 的输出频率。变模可逆计数器的设计由VHDL 完成,程序如下:

library ieee ;

use ieee. std_logic_1164. all ;

use ieee. std_logic_unsigned. all ;

entity li is

port (clk ,j ,en ,d ,c ,b ,a :in std_logic ;

r1 ,r2 :out std_logic) ;

end li ;

architecture behave of li is

signal cq ,k ,mo :std_logic_vector (16 downto 0) ;

signal cao1 ,cao2 :std_logic ;

signal instruction :std_logic_vector (3 downto 0) ;

begin

instruction < = d &c &b &a ;

with instruction select

mo < ="00000000000000111"when"0001",

"00000000000001111"when"0010",

"00000000000011111"when"0011",

"00000000000111111"when"0100",

"00000000001111111"when"0101",

"00000000011111111"when"0110",

"00000000111111111"when"0111",

"00000001111111111"when"1000",

"00000011111111111"when"1001",

"00000111111111111"when"1010",

"00001111111111111"when"1011",

"00011111111111111"when"1100",

"00111111111111111"when"1101",

"01111111111111111"when"1110",

"11111111111111111"when"1111",

"00000000000000111"when others ;

process (clk ,en ,j ,k ,cq)

begin

if clk'event and clk = '1'then

k < = mo ;

if en = '1'then

if j = '0'then

if cq < k then cq < = cq + 1 ;

else cq < = (others = > '0') ;

end if ;

else

if cq > 0 then cq < = cq - 1 ;

else cq < = k ;

end if ;

end if ;

else cq < = (others = > '0') ;

end if ;

end if ;

end process ;

process (en ,j ,cq ,k)

begin

if en = '1'then

if j = '0'then

f cq = k then cao1 < = '1';

else cao1 < = '0';

end if ;

cao2 < = '0';

else

if cq ="00000000000000000"then

cao2 < = '1';

else cao2 < = '0';

end if ;

cao1 < = '0';

end if ;

else cao1 < = '0';cao2 < = '0';

end if ;

end process ;

r1 < = cao1 ; r2 < = cao2 ;

end behave ;

变模可逆计数器(取k = 24) 的仿真波形图如图4 所示。

  图4  变模可逆计数器(取k = 24) 的仿真波形图

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:132,414.10000 毫秒