单片机课程设计-基于VHDL的数字频率计的设计.doc

上传人:爱问知识人 文档编号:5019236 上传时间:2020-01-29 格式:DOC 页数:19 大小:403.50KB
返回 下载 相关 举报
单片机课程设计-基于VHDL的数字频率计的设计.doc_第1页
第1页 / 共19页
单片机课程设计-基于VHDL的数字频率计的设计.doc_第2页
第2页 / 共19页
单片机课程设计-基于VHDL的数字频率计的设计.doc_第3页
第3页 / 共19页
单片机课程设计-基于VHDL的数字频率计的设计.doc_第4页
第4页 / 共19页
单片机课程设计-基于VHDL的数字频率计的设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课程设计-基于VHDL的数字频率计的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-基于VHDL的数字频率计的设计.doc(19页珍藏版)》请在三一文库上搜索。

1、 基于VHDL语言的数字频率计的设计 第19页 共18页1 引言在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。本数字频率计的设计是根据频率计的测频原理,可以选择合适的时基信号对输入被测信号脉冲进行计数,实现测频的目的。1.1 课程设计的目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技

2、术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的1。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。通过课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。1.2 课程设计的内容分析数字频率计的功能,完成功能模块的划分,分别用VHDL语言完成底层模块的设计和以原理图的方法完成顶层模块的设计,分别对各个模块以及顶层模块进行仿真分析,最后以便在硬件开发平台上进行测试。1.3 数字频率计的设计原理我们都知道,频率信号易于传输,抗干

3、扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。闸门时间可以根据需要取值,大于或小于1S都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1s作为闸门时间2。数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图1. 1所示。计数器锁存器译码驱动电路数码管显示测频控制信号发

4、生器图1.1 原理框图待测信号1.4 数字频率计设计功能 四位十进制数字频率计用四组七段译码显示的数字频率计,其频率测量范围为1Hz10kHz。采用记忆显示的方法,即在测量过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束,显示时间不少于1秒。2 技术与开发工具2.1 VHDL语言简介VHDL主要用于描述数字系统的结构,行为,功能和接口。VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点: (1) VHDL 语言功能强大,设计方式多样 VHDL 语言

5、具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。 (2) VHDL语言具有强大的硬件描述能力 VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHD

6、L语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3) VHDL语言具有很强的移植能力 VHDL语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4) VHDL语言的设计描述与器件无关 采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处

7、是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许采用多种不同的器件结构来实现。 (5) VHDL语言程序易于共享和复用3 VHDL语言采用基于库(library)的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。 2. 2 VHDL程序组成部分全部的VHDL程序由实体(Entity)、构造体(Architecture)、配置(Co

8、nfiguration)、包集合(Package)、库(Library)5个部分组成。各组成部分的作用是: (1) 实体 用于描述所设计的系统的外部接口信号。 (2) 构造体 用于描述系统内部的结构和行为。 (3) 配置 用于从库中选取不同单元(器件)来组成系统设计的不同版本。 (4) 包集合 存放各设计模块都能共享的数据类型、常数和子程序等。 (5) 库 存放已经编译了的实体、构造体、包集合和配置。库可由系统工程师生成或由ASIC芯片商提供,以便在设计中共享。2. 3 VHDL系统优势 (1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描

9、述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要证。 (2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4) 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结

10、构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.4 MAX+PLUS软件简介MAX+PLUS(Multiple Array and Programming Logic User System)开发工具是Altera公司推出的一种EDA工具,具有灵活高效、使用便捷和易学易用等特点。Altera公司在推出各种CPLD的同时,也在不断地升级相应的开发工具软件,已从早起的第一代A+PLUS、第二代MAX+PLUS发展到第三代MAX+PLUS和第四代Quartus。使用MAX+PLUS软件,设计者无需精通器件内部的复杂结构,只需用业已熟悉的设计输入工具,如硬件描述语言、原理图等进行输入

11、即可,MAX+PLUS就会自动将设计转换成目标文件下载到器件中去。MAX+PLUS开发系统具有以下特点: (1) 多平台。MAX+PLUS软件可以在基于PC机的操作系统如Windows95、Windows98、Windows2000、Windows NT下运行,也可以在Sun SPAC station等工作站上运行。 (2) 开放的界面。MAX+PLUS提供了与其他设计输入、综合和校验工具的接口,借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等标准。目前MAX+PLUS所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphi

12、cs、Cadence、OrCAD、Xilinx等公司提供的工具。 (3) 模块组合式工具软件。MAX+PLUS具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验和下载编程4个模块,设计者可以按设计流程选择工作模块。 (4) 与结构无关。MAX+PLUS开发系统的核心Compiler(编译器)能够自动完成逻辑综合和优化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可编程器件系列,提供一个与结构无关的PLD开发环境。 (5) 支持硬件描述语言。MAX+PLUS支持各种HDL设计输入语言,包括VHDL、Verilog-HDL和Altera的硬

13、件描述语言AHDL。 (6) 丰富的设计库。MAX+PLUS提供丰富的库单元供设计者调用,其中包括一些基本的逻辑单元,74系列的器件和多种特定功能的宏功能模块以及参数化的兆功能模块。调用库单元进行设计,可以大大减轻设计人员的工作量,缩短设计周期。2.5 MAX+PLUS软件组成MAX+PLUS软件采用模块化结构,包括设计输入、项目处理、项目校验和器件编程4个部分,所有这些部分都集成在一个可视化的操作环境下4。 (1) 设计输入MAX+PLUS的设计输入方法有多种,主要包括文本设计输入、原理图输入、波形设计输入等多种方式。另外,还可以利用第三方EDA工具生成的网表文件输入,该软件可接受的网表有E

14、DIF格式、VHDL格式及Verilog格式。MAX+PLUS是一种层次设计工具,可根据实际情况灵活地使用最适合每一层次的设计方法。 (2) 项目处理设计处理的任务就是对项目进行编译(Compile),编译实际就是将设计者编写的设计改为可以用于生产的“语言”。编译器通过读入设计文件并产生用于编程、仿真和定时分析的输出文件来完成编译工作。MAX+PLUS提供的编译软件,只需简单的操作,如参数选择、指定功能等,就可进行网表转换、逻辑分割和布线布局。 (3) 项目校验MAX+PLUS提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设计无误,要再用专用软件进行仿真。如果发现了错误,则应对设计输

15、入进行部分修改直至无误。 (4) 器件编程MAX+PLUS通过编程器(Device Programmer)将编译器生成的编程文件编程或配置到Altera CPLD器件中,然后加入实际激励信号进行测试,检查是否达到了设计要求?Altera公司器件的编程方法有许多种,可通过编程器、JTAG在系统编程及Altera在线配置等方式进行。在设计过程中,如果出现错误,则需要重新回到设计输入阶段,改正错误或调整电路后重复上述过程。2.6 设计流程使用MAX+PLUS进行可编程逻辑器件开发主要包括4个阶段:设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程,流程如图2. 1所示:设计要求

16、设计输入编译处理验证器件编程器件测试系统产品设计修改图2.1 设计流程图3 系统分析3.1数字频率计的设计任务及要求设计一个四位十进制的数字频率计,要求具有以下功能: (1) 测量范围:1Hz10kHz。 (2) 测量误差 1%。 (3) 响应时间 15s。 (4) 显示时间不少于1s。 (5) 具有记忆显示的功能,即在测量的过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束。3.2 模块的划分根据系统设计要求,系统设计采用自顶向下的设计方法,系统的组成框图如图3. 1所示,包括时基产生与测频时序控制电路模块,以及待测信号脉冲计数电路模块和锁存与译码

17、显示控制电路模块5。时基产生与测频时序控制电路待测信号脉冲计数电路锁存与译码显示电路ENCLRLOCKq0:15z10:6z20:6z30:6z40:6待测信号F_IN标准时钟CLK图3.1 数字频率计的组成框图 (1) 时基产生与测频时序控制电路模块时基产生与测频时序控制电路的主要产生计数允许信号EN、清零信号CLR和锁存信号LOCK,生成的模块如图3.1所示。图3.2时基产生与测频时序控制电路模块 程序主要讲述了由时钟信号产生计数允许信号、清零信号和锁存信号,而且限定了响应时间为不超过15s。 (2) 待测信号脉冲计数电路模块待测信号脉冲计数电路是对待测脉冲信号的频率进行测量,它可由4个十

18、进制加法计数器组成,其中EN为计数选通控制信号,CLR为计数器清零信号。在计数器清零信号CLR清零后,当计数选通控制信号EN有效时,开始对待测信号进行计数。如果计数选通控制信号EN的宽度为1s,那么计数结果就为待测信号的频率;如果计数选通信号EN的宽度为100ms,那么待测信号的频率等于计数结果10,待测信号脉冲计数电路模块如图3.2、3.3所示。图3.3 待测信号频率模块图3.4 待测信号脉冲计数器模块 (3) 锁存与译码显示控制电路模块锁存与译码显示控制电路用于实现记忆显示,在测量过程中不刷新新的数据,直到测量过程结束后,锁存显示测量结果,并且保存到下一次测量结束。锁存与译码显示电路的功能

19、是对四位BCD码进行锁存,并转换为对应的4组七段码,用于驱动数码管,锁存与译码显示控制电路模块如图3.4、3.5所示。图3.5 译码显示电路图3.6 锁存与译码显示控制模块3.3顶层电路的模块设计采用VHDL语言设计一个复杂的电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法进行设计6。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。各功能模块采用VHDL语言来描述,运行模块如图3.6所示。图3.7 顶层电路控制模块4 数字频率计波形仿真4.1 时基产生与测频时序控制电路模块的仿真时基产生与测频时序控制电路模块

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

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

22、真图4.4 数字频率计系统的仿真数字频率计系统的仿真图,它系统的体现了所设计的频率计的作用,如图4.7所示。图4.7 数字频率计系统的仿真结束语本设计采用EDA技术,利用测频法的原理和VHDL语言,采用自顶向下的设计方法,实现了1Hz10kHz测量范围的四位十进制的数字频率计,并在MAX+PLUS软件平台下对设计项目进行的了编译和时序仿真。课程设计就要结束了,这次课程设计历时近一个星期,通过这一个星期的学习,发现了自己的很多不足,发现了很多知识上的漏洞。同时也看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。这次课程设计让我学到了很多,不仅是巩固了先前学的EDA技术的理论知识,而

23、且也培养了我的动手能力,更令我的创造性思维得到拓展。在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。还有一点是做任何事情都无法缺少的,那就是细心认真。此次设计我就深深地体会到了,由于编程的时候没有做到足够的细心,导致一串代码弄混了。最终在调试的时候,就出现了问题。只知道出现了问题,就是不知道到问题的根源在哪里,好长时间都没有找出问题的所在。这也让我真正的明白了,科学的严谨性,它不允许出半点差错,否则后果会是比较麻烦的。做其他事情也一样,都需要我们付出足够的认真去对待,才能顺利的完成。对次我了解到,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每

24、一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!致谢经过快两个星期的紧张工作,我终于完成了我的设计任务基于VHDL的数字频率计的设计。在这次课程设计中特别感谢罗志敏老师对我的指导,正是由于他的督促和耐心指导,我才可以顺利完成这次的设计。锻炼了动手能力,给以后的学习指出了一个方向。参考文献1 王志鹏,付李琴 .可编程逻辑器件开发技术 M.北京:清华大学出版社 ,20062 葛红.VHDL设计指南 M.北京:机械工业出版社,20093 刘欲晓,方强,黄宛宁 .EDA技术与VHDL电路开发应用实践 M.北京:电子工业出版社,20094 朱正伟 .EDA技术及应用 M.北京:清华大学出版社,20055 潘松,王国栋. VHDL使用教程 M. 成都:电子科技大学出版社,20066 黄任.EDA技术基础 M.北京:北京航空航天大学出版社,20077 柳春锋.电子设计自动化(EDA)教程 M. 北京:北京理工大学出版社,20058 邹彦.EDA技术与数字系统设计 M.北京:电子工业出版社,2007

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

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1