第7章 分频器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14
4. 分频比是奇数,占空比不是1:2
【例7-5】设计一个5分频电路(占空比2:5)
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fdiv5a IS GENERIC (n:INTEGER:=5); PORT(clr,clkin: IN STD_LOGIC; Clkout: OUT STD_LOGIC); END fdiv5a; ARCHITECTURE one OF fdiv5a IS SIGNAL cnt: INTEGER RANGE 0 TO n-1; BEGIN
16
T_out=5T_in
F_in=5F_out
5分频电路的仿真波形(占空比2:5)
17
5. 分频比是奇数,占空比是0.5
例7.6将输入的时钟信号进行5分频,分频信号的占空比为 1:2
ARCHITECTURE ONE OF CLKDIV5_1TO2 IS SIGNAL CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL OUT_TEMP1,OUT_TEMP2: STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF RISING_EDGE(CLK) THEN IF CNT="100" THEN CNT<="000"; ELSE CNT<=CNT+1; END IF;END IF;END PROCESS; PROCESS(CLK,CNT) BEGIN IF FALLING_EDGE(CLK) THEN IF (CNT<2) THEN OUT_TEMP1<='1'; ELSE OUT_TEMP1<='0'; END IF; END IF;END PROCESS; PROCESS(CLK,CNT) BEGIN IF RISING_EDGE(CLK) THEN IF (CNT<2) THEN OUT_TEMP2<='1'; ELSE OUT_TEMP2<='0'; END IF; END IF;END PROCESS; CLKOUT<=OUT_TEMP2 OR OUT_TEMP1; END;
3Leabharlann Baidu
一、偶数分频器
1.分频比是2的整数次幂,占空比1:2(2N分 频器) 2.分频比是偶数,但不是2的整数次幂 3.分频比是偶数,占空比与分频比相同
4
1.2N分频器
如一个电路中需要用到多个时钟,若输入系统时钟频率恰为 2的n次幂,则可用一个M位的二进制计数器对输入系统时钟 进行计数,该计数器第0位为输入时钟的二分频,第1位为输 入时钟的四分频,第2位为输入时钟的8分频,依此类推,第 n-1位为输入时钟的2n分频。
二、奇数分频器
1.分频比是奇数,占空比无要求 2.分频比是奇数,占空比为1:2
13
设计思路
对时钟进行奇数分频,如果对占空比不作要求的话,其设 计方法与偶数分频是相同的。
如果要使占空比为50%,其方法是分别对输入时钟的上 升沿和下降沿进行模n(n为奇数)计数,在计数值为小于 (n-1)/2时,使信号输出为高(或低)电平,在计数值为 大于等于(n-1)/2时使信号输出为低(或高)电平,从而 得到两个占空比为(n-1)/2 :n的分频信号,然后将这两个信 号相或即可实现对输入时钟的n(n为奇数)分频。
8
【例7-3】设计一个8分频电路
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fdiv8 IS GENERIC (n:INTEGER:=8); PORT(clr,clkin: IN STD_LOGIC; clkout: OUT STD_LOGIC); END fdiv8; ARCHITECTURE one OF fdiv8 IS SIGNAL cnt: INTEGER RANGE 0 TO n-1; BEGIN
5
1. 分频比是2的整数次幂,占空比是0.5
例7.1 对时钟信号CLK进行2分频,4分频,8分频,16分频。 ARCHITECTURE RTL OF CLK_DIV IS SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”1111”) THEN COUNT <= (OTHERS =>’0’); ELSE COUNT <= COUNT +1; END IF ; END IF ; END PROCESS; CLK_DIV2 <= COUNT(0);CLK_DIV4 <= COUNT(1); CLK_DIV8 <= COUNT(2);CLK_DIV16 <= COUNT(3); END RTL;
1
2.占空比(DUTY CYCLE) 占空比在电信领域中有如下含义: 在一串理想的脉冲序列中(如方 波),正脉冲的持续时间与脉冲总 周期的比值。例如:正脉冲宽度 1Μ S,信号周期4Μ S的脉冲序列占 空比为0.25或者为1:4。
2
使用VHDL基本语句设计分频器电路
分频器电路在VHDL中一般采用计数器 进行描述。根据要求的分频比和占空比 的不同,相应的描述方法也不同。
9
PROCESS(clkin,clr) BEGIN IF clr='1' THEN cnt<=0; ELSIF RISING_EDGE(clkin) THEN IF cnt=n-1 THEN cnt<=0; ELSE 8分频电路其它 cnt<=cnt +1; 描述方法? END IF; END IF; END PROCESS; clkout<='1' WHEN cnt< INTEGER(n/2) ELSE '0'; END one;
15
PROCESS(clkin,clr) BEGIN IF clr='1' THEN cnt<=0; ELSIF RISING_EDGE(clkin) THEN IF cnt=n-1 THEN cnt<=0; ELSE cnt<=cnt +1; END IF; END IF; END PROCESS; clkout<='1' WHEN cnt< INTEGER(n/2) ELSE '0'; END one;
clk
异或门
模N计数器
2分频器
clk /(N-0.5)
clk /(2N-1)
半整数分频设计原理框图
23
【例7-7】设计一个2.5分频电路
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fdiv25a IS GENERIC (n:INTEGER:=3); PORT (clkin: IN STD_LOGIC; clkout: OUT STD_LOGIC ); END fdiv25a; ARCHITECTURE one OF fdiv25a IS SIGNAL clk, div2: STD_LOGIC; SIGNAL c_out: STD_LOGIC; SIGNAL count: INTEGER RANGE 0 TO n-1; BEGIN clk<=clkin XOR div2;
24
PROCESS(clk) BEGIN IF(clk'event AND clk='1') THEN IF(count=n-1) THEN count<=0; c_out<='1'; ELSE count<=count+1; c_out<='0'; PROCESS(c_out) END IF; BEGIN END IF; IF RISING_EDGE(c_out) THEN END PROCESS; div2<=NOT div2; END IF; END PROCESS; Clkout<=c_out; 25 END one;
18
功能仿真
4分频电路(占空比位1:2)仿真波形如图7.2所示。
19
10分频电路(占空比位1:2)仿真波形如图7.3所示。
20
5分频电路(占空比位2:5)仿真波形如图7.4所示。
21
5分频电路(占空比位1:2)仿真波形如图7.5所示。
22
三、半整数分频器
在某些场合下,用户所需要的频率与频率时钟源可能不是整数倍关系,如 有一个5 MHz的时钟源,但电路中需要产生一个2 MHz的时钟信号,由于 分频比为2.5,因此整数分频器将不能胜任。 对于分频系数为N-0.5的分频器,称为半整数分频。下图是一种通用的半 整数分频电路的设计框图,由一个异或门、一个模N的计数器和一个2分频 电路构成。
10
T_out=8T_in
F_in=8F_out
8分频电路的仿真波形
11
3. 分频比是偶数,占空比和分频比相同
例7.4 将输入的时钟信号进行16分频,分频信号的占空比为 1:16 ARCHITECTURE RTL OF CLK_DIV IS SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”1111”) THEN COUNT <= (OTHERS =>’0’); ELSE COUNT <= COUNT +1; END IF ; END IF ; END PROCESS; PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”1111”) THEN CLK_DIV16 <= ‘1’; ELSE CLK_DIV <= ‘0’; END IF ; END IF ;END PROCESS;END RTL; 12
6
2. 分频比不是2的整数次幂,但是偶数,占空比是0.5
设计思路
对时钟进行偶数分频,使占空比为50%,可使用一个计 数器,对输入时钟进行模n(n为偶数)计数,在前n/2 个时钟内,使输出为高(或低)电平,在后n/2个时钟 内使输出为低(或高)电平,即可实现对输入时钟的n分 频。
7
例7.2 对时钟信号CLK进行6分频。 ARCHITECTURE RTL OF CLK_DIV IS SIGNAL COUNT : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL CLK_TEMP : STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”10”) THEN COUNT <= (OTHERS =>’0’); CLK_TEMP <=NOT CLK_TEMP; ELSE COUNT <= COUNT +1; END IF ; END IF ;END PROCESS; CLK_DIV6 <= CLK_TEMP; END RTL;
分频器
1. 什么是分频器 分频器是一般是用于音箱内的一种电路装置,是指将不同频段的 信号区分开来,用以将输入的音乐信号分离成高音、中音、低音 等不同部分,然后分别送入相应的高、中、低音喇叭单元中重放。 分频器是音箱中的“大脑”,对音质的好坏至关重要。功放输出 的音乐信号必须经过分频器中的各滤波元件处理,让各单元特定 频率的信号通过。好音箱的分频器,能有效地修饰喇叭单元的不 同特性,优化组合,使得各单元扬长避短,淋漓尽致地发挥出各 自应有的潜能,使各频段的频响变得平滑、声像相位准确,才能 使高、中、低音播放出来的音乐层次分明、合拍,明朗、舒适、 宽广、自然的音质效果。 本课程涉及的分频器是用于降低频率,如输入为12HZ的信号进 行12分频输出为1HZ的信号,就是12分频器,或者称这个分频器 的分频比是1:12。
4. 分频比是奇数,占空比不是1:2
【例7-5】设计一个5分频电路(占空比2:5)
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fdiv5a IS GENERIC (n:INTEGER:=5); PORT(clr,clkin: IN STD_LOGIC; Clkout: OUT STD_LOGIC); END fdiv5a; ARCHITECTURE one OF fdiv5a IS SIGNAL cnt: INTEGER RANGE 0 TO n-1; BEGIN
16
T_out=5T_in
F_in=5F_out
5分频电路的仿真波形(占空比2:5)
17
5. 分频比是奇数,占空比是0.5
例7.6将输入的时钟信号进行5分频,分频信号的占空比为 1:2
ARCHITECTURE ONE OF CLKDIV5_1TO2 IS SIGNAL CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL OUT_TEMP1,OUT_TEMP2: STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF RISING_EDGE(CLK) THEN IF CNT="100" THEN CNT<="000"; ELSE CNT<=CNT+1; END IF;END IF;END PROCESS; PROCESS(CLK,CNT) BEGIN IF FALLING_EDGE(CLK) THEN IF (CNT<2) THEN OUT_TEMP1<='1'; ELSE OUT_TEMP1<='0'; END IF; END IF;END PROCESS; PROCESS(CLK,CNT) BEGIN IF RISING_EDGE(CLK) THEN IF (CNT<2) THEN OUT_TEMP2<='1'; ELSE OUT_TEMP2<='0'; END IF; END IF;END PROCESS; CLKOUT<=OUT_TEMP2 OR OUT_TEMP1; END;
3Leabharlann Baidu
一、偶数分频器
1.分频比是2的整数次幂,占空比1:2(2N分 频器) 2.分频比是偶数,但不是2的整数次幂 3.分频比是偶数,占空比与分频比相同
4
1.2N分频器
如一个电路中需要用到多个时钟,若输入系统时钟频率恰为 2的n次幂,则可用一个M位的二进制计数器对输入系统时钟 进行计数,该计数器第0位为输入时钟的二分频,第1位为输 入时钟的四分频,第2位为输入时钟的8分频,依此类推,第 n-1位为输入时钟的2n分频。
二、奇数分频器
1.分频比是奇数,占空比无要求 2.分频比是奇数,占空比为1:2
13
设计思路
对时钟进行奇数分频,如果对占空比不作要求的话,其设 计方法与偶数分频是相同的。
如果要使占空比为50%,其方法是分别对输入时钟的上 升沿和下降沿进行模n(n为奇数)计数,在计数值为小于 (n-1)/2时,使信号输出为高(或低)电平,在计数值为 大于等于(n-1)/2时使信号输出为低(或高)电平,从而 得到两个占空比为(n-1)/2 :n的分频信号,然后将这两个信 号相或即可实现对输入时钟的n(n为奇数)分频。
8
【例7-3】设计一个8分频电路
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fdiv8 IS GENERIC (n:INTEGER:=8); PORT(clr,clkin: IN STD_LOGIC; clkout: OUT STD_LOGIC); END fdiv8; ARCHITECTURE one OF fdiv8 IS SIGNAL cnt: INTEGER RANGE 0 TO n-1; BEGIN
5
1. 分频比是2的整数次幂,占空比是0.5
例7.1 对时钟信号CLK进行2分频,4分频,8分频,16分频。 ARCHITECTURE RTL OF CLK_DIV IS SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”1111”) THEN COUNT <= (OTHERS =>’0’); ELSE COUNT <= COUNT +1; END IF ; END IF ; END PROCESS; CLK_DIV2 <= COUNT(0);CLK_DIV4 <= COUNT(1); CLK_DIV8 <= COUNT(2);CLK_DIV16 <= COUNT(3); END RTL;
1
2.占空比(DUTY CYCLE) 占空比在电信领域中有如下含义: 在一串理想的脉冲序列中(如方 波),正脉冲的持续时间与脉冲总 周期的比值。例如:正脉冲宽度 1Μ S,信号周期4Μ S的脉冲序列占 空比为0.25或者为1:4。
2
使用VHDL基本语句设计分频器电路
分频器电路在VHDL中一般采用计数器 进行描述。根据要求的分频比和占空比 的不同,相应的描述方法也不同。
9
PROCESS(clkin,clr) BEGIN IF clr='1' THEN cnt<=0; ELSIF RISING_EDGE(clkin) THEN IF cnt=n-1 THEN cnt<=0; ELSE 8分频电路其它 cnt<=cnt +1; 描述方法? END IF; END IF; END PROCESS; clkout<='1' WHEN cnt< INTEGER(n/2) ELSE '0'; END one;
15
PROCESS(clkin,clr) BEGIN IF clr='1' THEN cnt<=0; ELSIF RISING_EDGE(clkin) THEN IF cnt=n-1 THEN cnt<=0; ELSE cnt<=cnt +1; END IF; END IF; END PROCESS; clkout<='1' WHEN cnt< INTEGER(n/2) ELSE '0'; END one;
clk
异或门
模N计数器
2分频器
clk /(N-0.5)
clk /(2N-1)
半整数分频设计原理框图
23
【例7-7】设计一个2.5分频电路
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fdiv25a IS GENERIC (n:INTEGER:=3); PORT (clkin: IN STD_LOGIC; clkout: OUT STD_LOGIC ); END fdiv25a; ARCHITECTURE one OF fdiv25a IS SIGNAL clk, div2: STD_LOGIC; SIGNAL c_out: STD_LOGIC; SIGNAL count: INTEGER RANGE 0 TO n-1; BEGIN clk<=clkin XOR div2;
24
PROCESS(clk) BEGIN IF(clk'event AND clk='1') THEN IF(count=n-1) THEN count<=0; c_out<='1'; ELSE count<=count+1; c_out<='0'; PROCESS(c_out) END IF; BEGIN END IF; IF RISING_EDGE(c_out) THEN END PROCESS; div2<=NOT div2; END IF; END PROCESS; Clkout<=c_out; 25 END one;
18
功能仿真
4分频电路(占空比位1:2)仿真波形如图7.2所示。
19
10分频电路(占空比位1:2)仿真波形如图7.3所示。
20
5分频电路(占空比位2:5)仿真波形如图7.4所示。
21
5分频电路(占空比位1:2)仿真波形如图7.5所示。
22
三、半整数分频器
在某些场合下,用户所需要的频率与频率时钟源可能不是整数倍关系,如 有一个5 MHz的时钟源,但电路中需要产生一个2 MHz的时钟信号,由于 分频比为2.5,因此整数分频器将不能胜任。 对于分频系数为N-0.5的分频器,称为半整数分频。下图是一种通用的半 整数分频电路的设计框图,由一个异或门、一个模N的计数器和一个2分频 电路构成。
10
T_out=8T_in
F_in=8F_out
8分频电路的仿真波形
11
3. 分频比是偶数,占空比和分频比相同
例7.4 将输入的时钟信号进行16分频,分频信号的占空比为 1:16 ARCHITECTURE RTL OF CLK_DIV IS SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”1111”) THEN COUNT <= (OTHERS =>’0’); ELSE COUNT <= COUNT +1; END IF ; END IF ; END PROCESS; PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”1111”) THEN CLK_DIV16 <= ‘1’; ELSE CLK_DIV <= ‘0’; END IF ; END IF ;END PROCESS;END RTL; 12
6
2. 分频比不是2的整数次幂,但是偶数,占空比是0.5
设计思路
对时钟进行偶数分频,使占空比为50%,可使用一个计 数器,对输入时钟进行模n(n为偶数)计数,在前n/2 个时钟内,使输出为高(或低)电平,在后n/2个时钟 内使输出为低(或高)电平,即可实现对输入时钟的n分 频。
7
例7.2 对时钟信号CLK进行6分频。 ARCHITECTURE RTL OF CLK_DIV IS SIGNAL COUNT : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL CLK_TEMP : STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF (CLK’EVENT AND CLK=’1’) THEN IF(COUNT=”10”) THEN COUNT <= (OTHERS =>’0’); CLK_TEMP <=NOT CLK_TEMP; ELSE COUNT <= COUNT +1; END IF ; END IF ;END PROCESS; CLK_DIV6 <= CLK_TEMP; END RTL;
分频器
1. 什么是分频器 分频器是一般是用于音箱内的一种电路装置,是指将不同频段的 信号区分开来,用以将输入的音乐信号分离成高音、中音、低音 等不同部分,然后分别送入相应的高、中、低音喇叭单元中重放。 分频器是音箱中的“大脑”,对音质的好坏至关重要。功放输出 的音乐信号必须经过分频器中的各滤波元件处理,让各单元特定 频率的信号通过。好音箱的分频器,能有效地修饰喇叭单元的不 同特性,优化组合,使得各单元扬长避短,淋漓尽致地发挥出各 自应有的潜能,使各频段的频响变得平滑、声像相位准确,才能 使高、中、低音播放出来的音乐层次分明、合拍,明朗、舒适、 宽广、自然的音质效果。 本课程涉及的分频器是用于降低频率,如输入为12HZ的信号进 行12分频输出为1HZ的信号,就是12分频器,或者称这个分频器 的分频比是1:12。