2.5分频电路的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数电第二次大作业
--2.5分频电路的设计
班级:001111
姓名:江新远 00111116
时间:2013年6月16日
一、设计要求
利用所学数字电路知识设计2.5分频电路。
二、设计思路
本次数电实验共采用两种设计方案,各方案具体实现思想如下:
方案一:首先进行模3的计数,在计数到2时,将输出时钟赋为'1',而当回到计数0时,又赋为0,这样,当计数值为2时,输出时钟才为1,因此,只要保持计数值2为半个输入时钟周期,即可实现2.5分频时钟。因此,保持2为半个时钟周期即是该设计的关键。从中可以发现,因为计数器是通过时钟上升沿计数,故可在计数为2时对计数触发时钟进行翻转,那么,时钟的下降沿就变成了上升沿。即在计数值为2期间的时钟下降沿变成了上升沿,也就是说,计数值2只保持了半个时钟周期。由于时钟翻转下降沿变成上升沿,因此,计数值变为0。所以,每产生一个
2.5分频时钟的周期,触发时钟都要翻转一次。
方案二:将2.5分频电路分解为两个五分频电路,其中一个为上升沿触发,另外一个为下降沿触发,两个电路之间存在2.5个时钟脉冲的间隔,将这两个5分频电路的输出用或门进行或运算,即可得出所需2.5分频电路。
三、电路设计过程
方案一:
1. 实验原理图如下。电路是一个分频系数为
2.5的分频器电路,该电路是用VHDL 来设计半整数分频器的。它由模3计数器、异或门和D 触发器组成。
2. 其中模3计数器部分可以用74LS161实现,也可以用VHDL 直接编写,本次设计采用VHDL 语言编写模3计数器。下面是模3计数器的VHDL 源代码
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dec is port( fin:in std_logic; fout:buffer std_logic); end dec;
architecture fpq of dec is signal clk,div2:std_logic;
signal count:std_logic_vector(3 downto 0);
signal preset:std_logic_vector(3 downto 0):="0011"; begin clk<=fin xor div2; p1:process(clk) begin if clk'event and clk='1'then if(count="0000")then count<=preset-1; fout<='1';
异或门
带预置数功能的模N 减法计数器
2分频计数器
else
count<=count-1;
fout<='0';
end if;
end if;
end process p1;
p2:process(fout)
begin
if(fout'event and fout='1')then
div2<=not div2;
end if;
end process p2;
end fpq;
生产元件符号:
3. 电路设计图如下
4. 仿真结果:
方案二:
1. 计数器使用74LS161设计实现,采用Oc 置数法(使用后5个状态)来实现计数器,即计到15(1111)状态时产生进位信号,利用进位信号使计数器返回初态11(1011)。
2. 列出状态转移表,根据状态转移表得出输出表达式:
a
c b a b c a b c a
b Q Q Q Q Q Q Q Q Q z Q Q z )(21⊕=+==
3. 电路设计图如下:
4.仿真结果: