收藏 分享(赏)

基于VHDL的数字频率计的设计.docx

上传人:weiwoduzun 文档编号:3979802 上传时间:2018-12-02 格式:DOCX 页数:16 大小:156.86KB
下载 相关 举报
基于VHDL的数字频率计的设计.docx_第1页
第1页 / 共16页
基于VHDL的数字频率计的设计.docx_第2页
第2页 / 共16页
基于VHDL的数字频率计的设计.docx_第3页
第3页 / 共16页
基于VHDL的数字频率计的设计.docx_第4页
第4页 / 共16页
基于VHDL的数字频率计的设计.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、湖南科技大学信息与电气工程学院VHDL 硬件描述语言课程设计报告题 目: 数字频率计 专 业: 通信工程 班 级: 一班 姓 名: 学 号: 指导教师: 胡仕刚 2015 年 01 月 04 日信息与电气工程学院课程设计任务书20 20 学年第 学期专业: 学号: 姓名: 课程设计名称: 设计题目: 完成期限:自 年 月 日至 年 月 日共 周设计依据、要求及主要内容(可另加附页):指导教师(签字): 批准日期: 年 月 日目录摘要 1引言 2第一章 概述 .21.1 设计概述 .21.2 课程设计的总体目标 21.3 设计内容 .21.4 设计原理 .21.5 设计功能 .3第二章 数字频率

2、计系统分析 32.1 数字频率计的设计任务及要求 32.2 模块的划分 .32.3 设计分析 4第三章 各功能模块基于 VHDL 的设计 .43.1 时基产生与测频时序控制电路模块的 VHDL 源程序 43.2 待测信号脉冲计数电路模块的 VHDL 源程序 53.2.1 十进制加法计数器的 VHDL 源程序 .53.2.2 待测信号脉冲计数器的 VHDL 源程序 63.3 锁存与译码显示控制电路模块的 VHDL 源程序 73.3.1 译码显示电路的 VHDL 源程序 .73.3.2 锁存与译码显示控制模块的 VHDL 源程序 .73.4 顶层电路的 VHDL 源程序 8第四章 数字频率计波形仿

3、真 94.1 时基产生与测频时序控制电路模块的仿真 94.2 待测信号脉冲计数电路模块的仿真 104.2.1 十进制加法计数器的仿真 .104.2.2 待测信号脉冲计数器的仿真 104.3 锁存与译码显示控制电路模块的仿真 104.3.1 译码显示电路的仿真 .114.3.2 锁存与译码显示控制模块的仿真 .114.4 数字频率计系统的仿真 11第五章 体会和建议 .12参考文献: .131摘要本文介绍了一种自顶向下分层设计多功能数字频率计的设计方法。该频率计采用VHDL 硬件描述语言编程以 MAX+PLUS为开发环境,极大地减少了硬件资源的占用。数字频率计模块划分的设计具有相对独立性,可以对

4、模块单独进行设计、调试和修改,缩短了设计周期。该数字频率计的测量范围为 lHz1MHz,响应时间小于等于 15 秒;其测试结果由 4 只七段数码管稳定显示,测量误差小于等于 1 。仿真波形与分析结果表明,所设计的电路通过硬件仿真能够满足数字频率计的功能要求,具有理论与实践意义,实现了电子电路自动化的过程。数字频率计模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期。关键词:VHDL 数字频率计 EDA MAX+PLUSAbstractThis paper presents a top-down design of multi-layered design meth

5、od of digital frequency meter. The frequency counter using VHDL hardware description language programming in MAX + PLUS for the development environment, greatly reducing the hardware resources of the occupation. Digital frequency meter module design division of the relative independence of the separ

6、ate modules can design, debug and modify, shorten the design cycle. The digital frequency meter measurement range of lHz 1MHz, response time of 15 seconds or less; the test results from the four seven-segment digital tube display stability, measurement error is less than equal to 1%. Simulation wave

7、forms and analysis results show that the designed circuit simulation by hardware to meet the functional requirements of digital frequency meter of great theoretical and practical significance of the electronic circuit to achieve the automated process. Digital frequency meter module design division o

8、f the relative independence of the separate modules can design, debug and modify, shorten the design cycle.Key words: VHDL Digital frequency meter EDA MAX+PLUS2引言数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生较大的延时,造成测量误差、可靠性差。随着可编程逻辑器件(CPLD)的广泛应用,以 EDA 工具为开发平台,利用 VHDL(Very High Speed Integrated Circ

9、uit Hardware Description Language,超高速集成电路硬件描述语言)工业标准硬件描述语言,采用自顶向下(Top to Down)和基于库(Library-based)的设计,设计者不但可以不必了解硬件结构设计,而且将使系统大大简化,提高整体的性能和可靠性。第一章 概述1.1 设计概述所谓频率,就是周期信号在单位时间(1s)里变化的次数。本数字频率计的设计思路是:(1) 根据频率计的测频原理,可以选择合适的时基信号对输入被测信号脉冲进行计数,实现测频的目的。(2) 根据数字频率计的基本原理,本文设计方案的基本思想是分为三个模块来实现其功能,即时基产生与测频时序控制电路

10、模块、待测信号脉冲计数电路模块和锁存与译码显示控制电路模块,并且分别用 VHDL 对其进行编程,实现计数电路、锁存电路、显示电路等。1.2 课程设计的总体目标(1) 、本设计的任务是熟悉支持 VHDL 语言的软件,例如:MAXPLUS2,ISP,FOUNDATION 等,利用这一类软件使用 VHDL 语言进行设计。(2) 、熟悉数字电路及相关专业课程的基本知识并能联系具体程序 (3) 、正确操作使用 VHDL 语言相关软件,能编译,调试,仿真 VHDL 语言程序(4) 、设计数字电路,编写程序,实现电路功能。1.3 设计内容分析数字频率计的功能,完成功能模块的划分,分别用 VHDL 语言完成底

11、层模块的设计和以原理图的方法完成顶层模块的设计,分别对各个模块以及顶层模块进行仿真分析,最后在硬件开发平台上进行测试。1.4 设计原理众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,3对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为 1s。闸门时间可以根据需要取值,大于或小于 1S 都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取 1s 作

12、为闸门时间。数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图 1. 1 所示。计数器 锁存器 译码驱动电路 数码管显示测频控制信号发生器图 1.1 原理框图待测信号1.5 设计功能四位十进制数字频率计用四组七段译码显示的数字频率计,其频率测量范围为 1Hz10kHz。采用记忆显示的方法,即在测量过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束,显示时间不少于 1 秒。第二章 数字频率计系统分析2.1 数字频率计的设计任务及要求设计一个四位十进制的数字频率计,要求具有以下功能:(1) 测量范围:1

13、Hz10kHz。(2) 测量误差 1%。(3) 响应时间 15s。(4) 显示时间不少于 1s。(5) 具有记忆显示的功能,即在测量的过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束。2.2 模块的划分根据系统设计要求,系统设计采用自顶向下的设计方法,系统的组成框图如图 3. 1 所示,包括时基产生与测频时序控制电路模块,以及待测信号脉冲计数电路模块和锁存与译码显示控制电路模块。4时基产生与测频时序控制电路待测信号脉冲计数电路锁存与译码显示电路ENCLRLOCKq0:15z10:6z20:6z30:6z40:6待测信号 F_IN标准时钟CLK图 3

14、.1 数字频率计的组成框图(1) 时基产生与测频时序控制电路模块时基产生与测频时序控制电路的主要产生计数允许信号 EN、清零信号 CCLR 和锁存信号 LOCK。(2) 待测信号脉冲计数电路模块待测信号脉冲计数电路是对待测脉冲信号的频率进行测量,它可由 4 个十进制加法计数器组成,其中 EN 为计数选通控制信号,CLR 为计数器清零信号。在计数器清零信号 CLR 清零后,当计数选通控制信号 EN 有效时,开始对待测信号进行计数。如果计数选通控制信号 EN 的宽度为 1s,那么计数结果就为待测信号的频率;如果计数选通信号 EN 的宽度为 100ms,那么待测信号的频率等于计数结果 10。(3)

15、锁存与译码显示控制电路模块锁存与译码显示控制电路用于实现记忆显示,在测量过程中不刷新新的数据,直到测量过程结束后,锁存显示测量结果,并且保存到下一次测量结束。锁存与译码显示电路的功能是对四位 BCD 码进行锁存,并转换为对应的 4 组七段码,用于驱动数码管。2.3 设计分析采用 VHDL 语言设计一个复杂的电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法进行设计。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。各功能模块采用 VHDL 语言来描述。第三章 各功能模块基于 VHDL 的设计3.1 时基产生与测频

16、时序控制电路模块的 VHDL 源程序程序 ctrl.vhd5LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRL ISPORT(CLK: IN STD_LOGIC; -系统时钟LOCK: OUT STD_LOGIC; -锁存信号EN: OUT STD_LOGIC; -计数允许信号CLR: OUT STD_LOGIC); -清零信号END;ARCHITECTURE ART OF CTRL ISSIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0); -定义变量

17、BEGINPROCESS(CLK)BEGINIF(CLKEVENT AND CLK=1)THEN -检测时钟上升沿IF Q=“1111“THENQ=“0000“; -计数大于 15,清零ELSEQ=Q+1; -允许计数END IF;END IF;EN=NOT Q(3);LOCK=Q(3) AND NOT(Q(2) AND Q(1);CLR=Q(3) AND Q(2) AND NOT(Q(1);END PROCESS;END ART;程序主要讲述了由时钟信号产生计数允许信号、清零信号和锁存信号,而且限定了响应时间为不超过 15s。3.2 待测信号脉冲计数电路模块的 VHDL 源程序3.2.1 十

18、进制加法计数器的 VHDL 源程序程序 cb10.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CB10 ISPORT(CLK,EN,CLR: IN STD_LOGIC;COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -计数输信号END CB10;ARCHITECTURE ART OF CB10 IS -结构体BEGIN6PROCESS(CLK,CLR,EN)BEGINIF CLR=1 THENCOUNT10=“0000“; -计数

19、器清零ELSIF RISING_EDGE(CLK) THEN -检测时钟上升沿IF(EN=1) THEN -检测是否允许计数IF COUNT10=“1001“ THENCOUNT10=“0000“; -计数值满 9 清零ELSECOUNT10=COUNT10+1; -允许计数END IF;END IF;END IF;END PROCESS;END ART;程序主要讲述了十进制加法计数器的使用,在符合了一定的标准以后十进制的使用,在计数器满 9 后清零。3.2.2 待测信号脉冲计数器的 VHDL 源程序程序 count.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_116

20、4.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT ISPORT(CLK: IN STD_LOGIC; -待测时钟信号EN: IN STD_LOGIC; -计数选通控制信号CLR: IN STD_LOGIC; -计数器清零信号QA,QB,QC,QD: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -结果输出信号END;ARCHITECTURE ART OF COUNT ISCOMPONENT CB10 -元件 CB10 引用说明语句PORT(CLK,EN,CLR: IN STD_LOGIC;COUNT10: BUFF

21、ER STD_LOGIC_VECTOR(3 DOWNTO 0); -计数输出信号END COMPONENT;SIGNAL CLK2: STD_LOGIC;SIGNAL CLK3: STD_LOGIC;SIGNAL CLK4: STD_LOGIC;BEGINCLK2=NOT QA(3);CLK3=NOT QB(3);CLK4=NOT QC(3);U1:CB10 PORT MAP(CLK,EN,CLR,QA); -元件引用例示 U2:CB10 PORT MAP(CLK2,EN,CLR,QB); -元件引用例示7U3:CB10 PORT MAP(CLK3,EN,CLR,QC); -元件引用例示U4:

22、CB10 PORT MAP(CLK4,EN,CLR,QD); -元件引用例示END ART;3.3 锁存与译码显示控制电路模块的 VHDL 源程序3.3.1 译码显示电路的 VHDL 源程序程序 bcd7.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BCD7 ISPORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -BCD 输入信号LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -七段译码输出信号END;ARCHITECTURE ART OF BCD7 ISBEGINLED

23、=“0111111“ WHEN BCD=“0000“ ELSE -对照七段字形显示译码器真值表“0000110“ WHEN BCD=“0001“ ELSE“1011011“ WHEN BCD=“0010“ ELSE“1001111“ WHEN BCD=“0011“ ELSE“1100110“ WHEN BCD=“0100“ ELSE“1101101“ WHEN BCD=“0101“ ELSE“1111101“ WHEN BCD=“0110“ ELSE“0000111“ WHEN BCD=“0111“ ELSE“1111111“ WHEN BCD=“1000“ ELSE“1101111“ WHE

24、N BCD=“1001“ ELSE“0000000“;END ART;程序主要讲述了七段译码器的显示问题,对应的给出了信号输入过程中七段译码器的各种显示。3.3.2 锁存与译码显示控制模块的 VHDL 源程序程序 lock.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK ISPORT(LOCK: IN STD_LOGIC;QA,QB,QC,QD: IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDA,LEDB,LEDC,LEDD: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-频率计数输出

25、END;ARCHITECTURE ART OF LOCK IS8SIGNAL QAL,QBL,QCL,QDL: STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT BCD7 -元件 BCD7 引用说明语句PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;BEGINPROCESS(LOCK)BEGINIF(LOCKEVENT AND LOCK=1)THEN -检测时钟上升沿QAL=QA;QBL=QB;QCL=QC;QDL=QD;END

26、 IF;END PROCESS;U0: BCD7 PORT MAP(QAL,LEDA); -元件引用例示U1: BCD7 PORT MAP(QBL,LEDB); -元件引用例示U2: BCD7 PORT MAP(QCL,LEDC); -元件引用例示U3: BCD7 PORT MAP(QDL,LEDD); -元件引用例示END ART;程序主要讲述了调用七段译码器的显示,将输入的信号经过译码之后在七段译码器上进行显示。3.4 顶层电路的 VHDL 源程序程序 pinlvji.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY PINLVJI IS

27、PORT(F_IN,CLK: IN STD_LOGIC;ENT,LOCKT,CLRT: BUFFER STD_LOGIC;Z1,Z2,Z3,Z4: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END PINLVJI;ARCHITECTURE ART OF PINLVJI ISSIGNAL ENS,LOCKS,CLRS: STD_LOGIC;SIGNAL QAS,QBS,QCS,QDS: STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT CTRL -元件 CTRL 引用说明语句PORT(CLK: IN STD_LOGIC;EN,LOCK,CLR:

28、 OUT STD_LOGIC);END COMPONENT;COMPONENT COUNT -元件 COUNT 引用说明语句PORT(CLK,EN,CLR: IN STD_LOGIC;QA,QB,QC,QD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);9END COMPONENT;COMPONENT LOCK -元件 LOCK 引用说明语句PORT(LOCK: IN STD_LOGIC;QA,QB,QC,QD: IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDA,LEDB,LEDC,LEDD: OUT STD_LOGIC_VECTOR(6 DOWN

29、TO 0);END COMPONENT; BEGINENT=ENS;LOCKT=LOCKS;CLRT=CLRS;U1:CTRL PORT MAP(CLK,ENS,LOCKS,CLRS); -元件引用例示U2:COUNT PORT MAP(F_IN,ENS,CLRS,QAS,QBS,QCS,QDS); -元件引用例示U3:LOCK PORT MAP(LOCKS,QAS,QBS,QCS,QDS,Z1,Z2,Z3,Z4); -元件引用例示END ART;第四章 数字频率计波形仿真4.1 时基产生与测频时序控制电路模块的仿真图 4.1 时基产生与测频时序控制模块的仿真图图 4. 2 时基产生与测频时序

30、控制电路模块的仿真图的详细10图 4.1 显示的是时基产生与测频时序控制电路模块的仿真图,很鲜明的给出了时钟信号与计数允许信号、清零信号和锁存信号的关系,而图 5. 2 更加详细的给出了计数允许信号、清零信号和锁存信号与变量 Q 之间所存在的相对应的关系。4.2 待测信号脉冲计数电路模块的仿真4.2.1 十进制加法计数器的仿真图 4.3 十进制加法计数器的仿真图图 4.3 显示的是十进制加法计数器的仿真图,它详细的给出了计数输出信号与计数允许信号和清零信号之间的关系,能清楚的理解当 CLR 为 0 时,输出为 0;在 EN 为 1 选通有效后,则开始计数。4.2.2 待测信号脉冲计数器的仿真图

31、 4.4 测信号脉冲计数器的仿真图 4.4 显示的是测信号脉冲计数器的仿真图,以图文的形式更直接的表现了信号脉冲的计数值,简介明了。4.3 锁存与译码显示控制电路模块的仿真114.3.1 译码显示电路的仿真图 4.5 译码显示电路的仿真图图 4.5 显示的是译码显示电路的仿真图,它直接用图形诠释了程序中语句的意思,让人一目了然,更简单的了解了模块的作用。4.3.2 锁存与译码显示控制模块的仿真图 4.6 锁存与译码显示控制电路的仿真图图 4.6 显示的是锁存与译码显示控制电路的仿真图,给人第一感觉很繁琐,但是联系程序再看图就可以很轻松的清楚程序中之前还存在的疑惑也将图从而理解透彻。4.4 数字

32、频率计系统的仿真12图 4.7 数字频率计系统的仿真图 4.7 显示的是数字频率计系统的仿真图,它系统的体现了所设计的频率计的作用。第五章 体会和建议本设计利用测频法的原理和 VHDL 语言,采用自顶向下的设计方法,实现了 1Hz10kHz 测量范围的四位十进制的数字频率计,并在 MAX+PLUS软件平台下对设计项目进行的了编译和时序仿真。实验结果表明,该系统能够满足本次设计的要求,并且具有测量误差小,可靠性高的优点。本文的设计工作能作为电子测量与仪表技术的基础,为计算机、通讯设备、音频视频等科研生产领域提供较好的参考。通过本次课程的设计,加深了我对课程上所学到的电子设计自动化理论知识的认识和

33、理解,重新让自己认识到了这门学科在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识,扩展了知识面,较系统的掌握电子设计应用开发。最后在此感谢胡仕刚老师、王艳老师在本次课程设计中给予我们的帮助,让我们能更顺利地完成本次课程设计,在设计中学会了操作 MAX+plus II 10.0,也对自己的 VHDL 硬件描述语言相关知识巩固了一遍,收获很大。13参考文献:1 曹昕燕 周凤臣 聂春燕 编著.EDA 技术试验与课程设计.M.北京:清华大学出版社 ,2006.52 徐志军 王金明 尹廷辉 徐光辉 苏勇 编著.EDA 技术与 VHDL 设计. M.北京:电子工业出版社,2009.

34、13 刘欲晓 方强 黄宛宁 等编著.EDA 技术与 VHDL 电路开发应用实践.M.北京:电子工业出版社,2009.44 朱正伟 主编.EDA 技术及应用M.北京:清华大学出版社,2005.105 潘松 黄继业 编著.EDA 技术与 VHDL(第 2 版)M. 北京:清华大学出版社,2007.16 赵明富 刘文进 主编.EDA 技术基础M.北京:北京大学出版社,2007.67 柳春锋 主编.电子设计自动化(EDA)教程M. 北京:北京理工大学出版社,2005.88 潘松 黄继业 编著.EDA 技术实用教程M.北京:科学出版社,20059 赵明富 主编.EDA 技术与实践M.北京:清华大学出版社,2005.1110 邹彦 等编著.EDA 技术与数字系统设计M.北京:电子工业出版社,2007.4

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

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报