EDA课程设计数字频率计.doc

上传人:laozhun 文档编号:4146482 上传时间:2023-04-07 格式:DOC 页数:12 大小:186.50KB
返回 下载 相关 举报
EDA课程设计数字频率计.doc_第1页
第1页 / 共12页
EDA课程设计数字频率计.doc_第2页
第2页 / 共12页
EDA课程设计数字频率计.doc_第3页
第3页 / 共12页
EDA课程设计数字频率计.doc_第4页
第4页 / 共12页
EDA课程设计数字频率计.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《EDA课程设计数字频率计.doc》由会员分享,可在线阅读,更多相关《EDA课程设计数字频率计.doc(12页珍藏版)》请在三一办公上搜索。

1、EDA课程设计报告题 目: 数字频率计 姓 名: 院 系: 电气学院 专业: 电子信息工程 指导教师: 完成时间: 2012年 6 月5 日目 录1 课程设计题目、内容与要求 1.1 设计内容1.2 具体要求2 系统设计 2.1 设计思路2.2 系统原理与设计说明3 系统实现 4 系统仿真 5硬件验证(操作)说明6总结 7 参考书目 1 课程设计题目、内容与要求1.1课程设计的题目:数字频率计设计1.2课程设计内容:(1)设计一个能测量方波信号的频率计;(2)测量范围是0-999999Hz;(3)结果用十进制数显示。2 系统设计2.1设计思路:2.1.1 数字频率计是一种用十进制数字显示被测信

2、号频率的数字测量仪器.它的基本功能是测量方波信号及其他各种单位时间内变化的物理量。本数字频率计采用自顶向下的设计思想,通过闸门提供的1s闸门时间对被测信号进行计数及测出的被测信号的频率,测出的频率再通过译码器译码后输出给显示器显示。根据系统设计的要求,数字频率计的电路原理框图如下:4位十进制计数器锁存电路译码电路计数器闸门控制电路片选电路数据选择电路LED数码显示待测输入信号4MHZ时钟4MHZ时钟图1 数字频率计电路原理框图2.2 系统原理与设计说明系统各个模块的功能如下:221标准时钟发生电路模块借用实验板上标准时钟发生电路,为计数闸门控制电路提供一个标准8Hz信号。222 计数器闸门控制

3、电路模块计数器闸门控制电路就是产生三个控制信号,即计数器复位信号、4位十进制计数器允许计数信号、锁存信号。2.2.3锁存电路模块锁存电路就是为了让LED数码管在信号来临之前保持计数值不变。2.2.4计数器复位电路模块计数器复位电路是让频率计恢复到计数初始态。2.2.5 LED数码管驱动电路模块LED数码管驱动电路就是为LED数码管提供驱动电压。 3系统实现此部分先讲各个模块再讲模块联调的实现。3.1各部分模块的源程序 模块 FEN 见图 1.1 ,通过对 4MHz 时钟进行分频以获得 0.5 Hz 时钟,为核心模块 CORNA 提供 1 的闸门时间。library ieee; use ieee

4、.std_logic_1164.all; entity fen is port(clk:in std_logic; q:out std_logic); end fen; architecture fen_arc of fen is begin process(clk) variable cnt: integer range 0 to 3999999; variable x:std_logic; begin if clkevent and clk=1then if cnt3999999 then cnt:=cnt+1; else cnt:=0; x:=not x; end if; end if;

5、 q=x; end process; end fen_arc; 模块 SEL见图1.2,该模块产生数码管的片选信号。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity selx is port(clk:in std_logic; sel:inout std_logic_vector(2 downto 0); end selx; architecture sel_arc of sexl is begin process(clk) variable cnt:std_logic_vect

6、or(2 downto 0); begin if clkevent and clk=1then cnt:=cnt+1; end if; sel=cnt; end process; end sel_arc; 核心模块 CORNA见图1.3,该模块是整个程序的核心,它能在 1 的闸门时间里完成对被测信号频率计数的功能,并通过选择输出数据实现自动换档的功能。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity corna is port(clr,sig,door:in std_logic;

7、 alm:out std_logic; q3,q2,q1,q0,dang:out std_logic_vector(3 downto 0); end corna; architecture corn_arc of corna is begin process(door,sig) variable c0,c1,c2,c3,c4,c5,c6:std_logic_vector(3 downto 0); variable x:std_logic; begin if sigevent and sig=1then if door=1then if c01001then c0:=c0+1; else c0:

8、=0000; if c11001then c1:=c1+1; else c1:=0000; if c21001then c2:=c2+1; else c2:=0000; if c31001then c3:=c3+1; else c3:=0000; if c41001then c4:=c4+1; else c4:=0000; if c51001then c5:=c5+1; else c5:=0000; if c61001then c6:=c6+1; else c6:=0000; alm=1; end if; end if; end if; end if; end if; end if; end

9、if; else if clr=0then alm=0; end if; c6:=0000; c5:=0000; c4:=0000; c3:=0000; c2:=0000; c1:=0000; c0:=0000; end if; if c6/=0000then q3=c6; q2=c5; q1=c4; q0=c3; dang=0100; elsif c5/=0000then q3=c5; q2=c4; q1=c3; q0=c2; dang=0011; elsif c4/=0000then q3=c4; q2=c3; q1=c2; q0=c1; dang=0010; elsif c3/=0000

10、then q3=c3; q2=c2; q1=c1; q0=c0; dang=0001; end if; end if; end process; end corn_arc; 模块 LOCK见图1.4,该模块实现锁存器的功能,在信号L的下降沿到来时将信号A4、A3、A2、A1锁存。library ieee; use ieee.std_logic_1164.all; entity lock is port(l:in std_logic; a4,a3,a2,a1,a0:in std_logic_vector(3 downto 0); q4,q3,q2,q1,q0:out std_logic_vect

11、or(3 downto 0); end lock; architecture lock_arc of lock is begin process(l) variable t4,t3,t2,t1,t0:std_logic_vector(3 downto 0); begin if levent and l=0then t4:=a4; t3:=a3; t2:=a2; t1:=a1; t0:=a0; end if; q4=t4; q3=t3; q2=t2; q1=t1; q0qqqqqqqqqqqqqqqqqclk,q=qq);u2:selx PORT MAP(clk=clk,sel=sel);u3:

12、corna PORT MAP(clr=clr,sig=sig,door=qq,alm=alm,q3=qq3,q2=qq2,q1=qq1,q0=qq0,dang=qqdang);u4:lock PORT MAP(l=qq,a4=qq3,a3=qq3,a2=qq2,a1=qq1,a0=qqdang,q4=tt4,q3=tt3,q2=tt2,q1=tt1,q0=tt0); u5:ch PORT MAP(sel=sel,a3=tt4,a2=tt3,a1=tt2,a0=tt1,dang=tt0,q=ww);u6:disp PORT MAP(d=ww,q=q);END sd;本部分讲述的是用图形的方法来实

13、现模块联调,在Mux plusII中现将编译好的各模块生成为图形(Filecreat Default Symbol),再打开新建一个图形编辑器(FileNewGraphic Editor file)进行图形拼凑编译就可以了,最后的图形如下图: 4 系统仿真整个系统 的仿真波形如下:测试信号是频率为5kHz脉冲时的仿真波形图第一次仿真中的换档情况测试信号是频率为25kHz脉冲时的仿真波形图测试信号是频率为250kHz脉冲时的仿真波形测试信号是周期为6ms脉冲时的仿真波形图5硬件验证说明将下载好程序的主芯片根据事先定义好的管脚连好线,clk端口用实验箱的输出为4MHz的标准时基信号,sig端口接入

14、被测的信号,clr端口连接一个电平开关,将电平开关-置高电平,输出端接好LED显示器就可以观察被测信号的频率了。6 总结这次课程设计的主要任务是设计一个数字频率计,虽然老师为我们提供了一些相关的信息,也给了我们一个实验设计的轮廓,但在实际设计过程中还是遇到了不少的问题。画流程图、编写程序、编译以及仿真等等,当有不清楚的时候就查一些相关的资料并向别的同学请教,然后再编再改,直到成功为止。通过自己的努力和同学的帮助完成了这次设计,但我觉得过程更重要。通过这次的课程设计,让我明白了“三人行,必有我师焉”,更让我懂得了,在困难和未知面前,只要我们勇敢地去尝试,总结经验,汲取教训,努力做好每一点,那么我们就会有所收获。7参考书目1PLD与数字系统设计李辉 西安电子科技大学出版社 20052集成电路设计VHDL教程赵俊超 等著 北京:希望电子出版社2002 3VHDL数字系统设计与高层次综合林敏 方颖立著北京:电子工业出版社 20024VHDL程序设计曾繁泰 陈美金著北京: 清华大学出版社 20015VHDL 实用教程潘松 王国栋著 成都:电子科技大学出版社 20016数字电路逻辑设计王毓银著 北京:高等教育出版社 2001

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号