您好,欢迎访问三七文档
1分频器1.什么是分频器分频器是一般是用于音箱内的一种电路装置,是指将不同频段的信号区分开来,用以将输入的音乐信号分离成高音、中音、低音等不同部分,然后分别送入相应的高、中、低音喇叭单元中重放。分频器是音箱中的“大脑”,对音质的好坏至关重要。功放输出的音乐信号必须经过分频器中的各滤波元件处理,让各单元特定频率的信号通过。好音箱的分频器,能有效地修饰喇叭单元的不同特性,优化组合,使得各单元扬长避短,淋漓尽致地发挥出各自应有的潜能,使各频段的频响变得平滑、声像相位准确,才能使高、中、低音播放出来的音乐层次分明、合拍,明朗、舒适、宽广、自然的音质效果。本课程涉及的分频器是用于降低频率,如输入为12HZ的信号进行12分频输出为1HZ的信号,就是12分频器,或者称这个分频器的分频比是1:12。22.占空比(DUTYCYCLE)占空比在电信领域中有如下含义:在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。例如:正脉冲宽度1ΜS,信号周期4ΜS的脉冲序列占空比为0.25或者为1:4。3使用VHDL基本语句设计分频器电路分频器电路在VHDL中一般采用计数器进行描述。根据要求的分频比和占空比的不同,相应的描述方法也不同。4一、偶数分频器1.分频比是2的整数次幂,占空比1:2(2N分频器)2.分频比是偶数,但不是2的整数次幂3.分频比是偶数,占空比与分频比相同51.2N分频器如一个电路中需要用到多个时钟,若输入系统时钟频率恰为2的n次幂,则可用一个M位的二进制计数器对输入系统时钟进行计数,该计数器第0位为输入时钟的二分频,第1位为输入时钟的四分频,第2位为输入时钟的8分频,依此类推,第n-1位为输入时钟的2n分频。61.分频比是2的整数次幂,占空比是0.5例7.1对时钟信号CLK进行2分频,4分频,8分频,16分频。ARCHITECTURERTLOFCLK_DIVISSIGNALCOUNT:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIF(CLK’EVENTANDCLK=’1’)THENIF(COUNT=”1111”)THENCOUNT=(OTHERS=’0’);ELSECOUNT=COUNT+1;ENDIF;ENDIF;ENDPROCESS;CLK_DIV2=COUNT(0);CLK_DIV4=COUNT(1);CLK_DIV8=COUNT(2);CLK_DIV16=COUNT(3);ENDRTL;7对时钟进行偶数分频,使占空比为50%,可使用一个计数器,对输入时钟进行模n(n为偶数)计数,在前n/2个时钟内,使输出为高(或低)电平,在后n/2个时钟内使输出为低(或高)电平,即可实现对输入时钟的n分频。设计思路2.分频比不是2的整数次幂,但是偶数,占空比是0.58例7.2对时钟信号CLK进行6分频。ARCHITECTURERTLOFCLK_DIVISSIGNALCOUNT:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALCLK_TEMP:STD_LOGIC;BEGINPROCESS(CLK)BEGINIF(CLK’EVENTANDCLK=’1’)THENIF(COUNT=”10”)THENCOUNT=(OTHERS=’0’);CLK_TEMP=NOTCLK_TEMP;ELSECOUNT=COUNT+1;ENDIF;ENDIF;ENDPROCESS;CLK_DIV6=CLK_TEMP;ENDRTL;9【例7-3】设计一个8分频电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfdiv8ISGENERIC(n:INTEGER:=8);PORT(clr,clkin:INSTD_LOGIC;clkout:OUTSTD_LOGIC);ENDfdiv8;ARCHITECTUREoneOFfdiv8ISSIGNALcnt:INTEGERRANGE0TOn-1;BEGIN10PROCESS(clkin,clr)BEGINIFclr='1'THENcnt=0;ELSIFRISING_EDGE(clkin)THENIFcnt=n-1THENcnt=0;ELSEcnt=cnt+1;ENDIF;ENDIF;ENDPROCESS;clkout='1'WHENcntINTEGER(n/2)ELSE'0';ENDone;8分频电路其它描述方法?118分频电路的仿真波形T_out=8T_inF_in=8F_out123.分频比是偶数,占空比和分频比相同例7.4将输入的时钟信号进行16分频,分频信号的占空比为1:16ARCHITECTURERTLOFCLK_DIVISSIGNALCOUNT:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIF(CLK’EVENTANDCLK=’1’)THENIF(COUNT=”1111”)THENCOUNT=(OTHERS=’0’);ELSECOUNT=COUNT+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK)BEGINIF(CLK’EVENTANDCLK=’1’)THENIF(COUNT=”1111”)THENCLK_DIV16=‘1’;ELSECLK_DIV=‘0’;ENDIF;ENDIF;ENDPROCESS;ENDRTL;13二、奇数分频器1.分频比是奇数,占空比无要求2.分频比是奇数,占空比为1:214设计思路对时钟进行奇数分频,如果对占空比不作要求的话,其设计方法与偶数分频是相同的。如果要使占空比为50%,其方法是分别对输入时钟的上升沿和下降沿进行模n(n为奇数)计数,在计数值为小于(n-1)/2时,使信号输出为高(或低)电平,在计数值为大于等于(n-1)/2时使信号输出为低(或高)电平,从而得到两个占空比为(n-1)/2:n的分频信号,然后将这两个信号相或即可实现对输入时钟的n(n为奇数)分频。15【例7-5】设计一个5分频电路(占空比2:5)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfdiv5aISGENERIC(n:INTEGER:=5);PORT(clr,clkin:INSTD_LOGIC;Clkout:OUTSTD_LOGIC);ENDfdiv5a;ARCHITECTUREoneOFfdiv5aISSIGNALcnt:INTEGERRANGE0TOn-1;BEGIN4.分频比是奇数,占空比不是1:216PROCESS(clkin,clr)BEGINIFclr='1'THENcnt=0;ELSIFRISING_EDGE(clkin)THENIFcnt=n-1THENcnt=0;ELSEcnt=cnt+1;ENDIF;ENDIF;ENDPROCESS;clkout='1'WHENcntINTEGER(n/2)ELSE'0';ENDone;175分频电路的仿真波形(占空比2:5)T_out=5T_inF_in=5F_out185.分频比是奇数,占空比是0.5例7.6将输入的时钟信号进行5分频,分频信号的占空比为1:2ARCHITECTUREONEOFCLKDIV5_1TO2ISSIGNALCNT:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALOUT_TEMP1,OUT_TEMP2:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFRISING_EDGE(CLK)THENIFCNT=100THENCNT=000;ELSECNT=CNT+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,CNT)BEGINIFFALLING_EDGE(CLK)THENIF(CNT2)THENOUT_TEMP1='1';ELSEOUT_TEMP1='0';ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,CNT)BEGINIFRISING_EDGE(CLK)THENIF(CNT2)THENOUT_TEMP2='1';ELSEOUT_TEMP2='0';ENDIF;ENDIF;ENDPROCESS;CLKOUT=OUT_TEMP2OROUT_TEMP1;END;19功能仿真4分频电路(占空比位1:2)仿真波形如图7.2所示。2010分频电路(占空比位1:2)仿真波形如图7.3所示。215分频电路(占空比位2:5)仿真波形如图7.4所示。225分频电路(占空比位1:2)仿真波形如图7.5所示。23异或门模N计数器2分频器clkclk/(N-0.5)clk/(2N-1)半整数分频设计原理框图三、半整数分频器在某些场合下,用户所需要的频率与频率时钟源可能不是整数倍关系,如有一个5MHz的时钟源,但电路中需要产生一个2MHz的时钟信号,由于分频比为2.5,因此整数分频器将不能胜任。对于分频系数为N-0.5的分频器,称为半整数分频。下图是一种通用的半整数分频电路的设计框图,由一个异或门、一个模N的计数器和一个2分频电路构成。24LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfdiv25aISGENERIC(n:INTEGER:=3);PORT(clkin:INSTD_LOGIC;clkout:OUTSTD_LOGIC);ENDfdiv25a;ARCHITECTUREoneOFfdiv25aISSIGNALclk,div2:STD_LOGIC;SIGNALc_out:STD_LOGIC;SIGNALcount:INTEGERRANGE0TOn-1;BEGINclk=clkinXORdiv2;【例7-7】设计一个2.5分频电路25PROCESS(clk)BEGINIF(clk'eventANDclk='1')THENIF(count=n-1)THENcount=0;c_out='1';ELSEcount=count+1;c_out='0';ENDIF;ENDIF;ENDPROCESS;PROCESS(c_out)BEGINIFRISING_EDGE(c_out)THENdiv2=NOTdiv2;ENDIF;ENDPROCESS;Clkout=c_out;ENDone;262.5分频电路仿真波形图T_out=2.5T_inF_in=2.5F_out2.5分频内部电路27数控分频器的功能就是在输入端给定不同的输入数据时,将对输入的时钟信号有不同的分频比。数控分频器一般是用计数值可并行预置的加法计数器完成的,即计数器不是从0开始计数,而是从某个初值开始计数。初值不同,则分频系数不同,计数器计满后重新加载初值,根据计算器的溢出标志控制产生分频输出信号。四、数控分频器28【例7-8】设计一个数控分频器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdvfISPORT(clkin:INSTD_LOGIC;data:INSTD_LOGIC_VECTOR(7DOWNTO0);clkout:OUTSTD_LOGIC);ENDdvf;ARCHITECTUREoneOFdvfISSIGNALfull:STD_LOGIC;SIGNALCnt1:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALCnt2:STD_LOGIC;BEGIN29PROCESS(clkin)BEGINIFclk
本文标题:第7章 分频器
链接地址:https://www.777doc.com/doc-3966671 .html