VHDL语言与EDA课程设计数字频率计

上传人:博****1 文档编号:432891243 上传时间:2023-05-13 格式:DOC 页数:18 大小:148.50KB
返回 下载 相关 举报
VHDL语言与EDA课程设计数字频率计_第1页
第1页 / 共18页
VHDL语言与EDA课程设计数字频率计_第2页
第2页 / 共18页
VHDL语言与EDA课程设计数字频率计_第3页
第3页 / 共18页
VHDL语言与EDA课程设计数字频率计_第4页
第4页 / 共18页
VHDL语言与EDA课程设计数字频率计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《VHDL语言与EDA课程设计数字频率计》由会员分享,可在线阅读,更多相关《VHDL语言与EDA课程设计数字频率计(18页珍藏版)》请在金锄头文库上搜索。

1、湖南人文科技学院课程设计报告课程名称:VHDL语言与EDA课程设计设计题目: 数字频率计 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 08级电信二班 学生姓名: 学 号: 起止日期: 11年6月13日 11年6月23日 指导教师: 教研室主任: 3指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩周杰卢欧1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日摘 要数字频率计是直接用十进制数字来显示被测信号频率的一种测量

2、装置,是计算机,通讯设备、音频设音频视频等科研生产领域不可缺少的测量仪器。本次课程设计设计以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。EDA(Electronic Design Automation)即电子设计自动化。EDA技术指的是以计算机硬件和系统软件为基本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术。本设计用VHDL在CPLD器件上实现一种8 位十进制数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,具有体积小、可靠性高

3、、功耗低的特点,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计初步实现了设计目标。其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,而且整个系统非常精简,具有高速、精确、可靠、抗干扰性强和现场可编程等优点,实用性极高。本文详细描述了数字频率计的设计流程及正确实现。关键词:数字频率计;EDA;VHDL;Quartus目 录设计要求11、方案论证与对比11.1方案对比11.2方案选择2

4、2.总体模块设计23.单元模块设计33.1 顶层模块设计33.2 测频控制模块43.3十进位计数模块53.4 测频锁存模块74.系统仿真85.硬件下载测试96.总结与致谢10参考文献11附录12数字频率计 设计要求1能够显示的频率为8位10进制;2测量的波形的电压最大值小于5V;3能测量正弦波、三角波、方波或其他周期性波形的频率;3用数码管显示测试的结果。 1、方案论证与对比1.1方案对比方案一:使用ATMEL公司的AT89C51实现一基于单片机的设计,用单片机定时器和计数器来实现对频率的测量,直接用十进制数字显示被测信号频率的一种测量装置。它以用测量频率的方法对TTL方波频率进行自动测量,使

5、用该单片作为控制器件使被测频率信号通过信号处理电路,闸门时间与被测信号与非处理,产生信号脉冲,经过分频电路,然后送入单片机进行运算和处理,单片机将处理的数据通过显示器显示。其方案方案设计框图如图1所示: 整形电路计数器寄存器显示器同步检测自动换挡量程选择分频器时钟 图1 整体方案设计图方案二:基于EDA技术和VHDL语言为程序设计语言在器件上实现数字频率计测频系统,其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,然后用8位十进制数码显示被测信号的频率

6、,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计设计目标。其基本框图如图2所示: 译码驱动电路锁存器信号整形电路数码显示计数器 脉冲发生器测频控制信号发生器图2 数字频率计原理框图1.2方案选择单片机与EDA技术相比,EDA以计算机硬件和系统软件为基本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术1。其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。该数字频率计可以在不更改硬件电路的基础上,对系

7、统进行各种改进还可以进一步提高系统的性能,而且整个系统非常精简,具有高速、精确、可靠、抗干扰性强和现场可编程等优点,实用性极高。本设计就是采用vhdl语言和EDA技术的设计流程来正确实现频率计的设计。VHDL语言具有很强大的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL支持各种模式的设计方法:自顶向下与自底向上或混合方法。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,所以选择方案二。2.总体模块设计频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率,通常情况下计

8、算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒2。频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。本文的数字频率计是按照计算每秒内待测信号的脉冲个数的基本原理来设计,此时取闸门时间为1秒。数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包含信号整形电路、脉冲发生器、译码驱动电路和显示电路,其流程图如下面面的图3所示:设计说明书建立VHDL行为模型VHDL行为仿真VHDL-RTL级建模前端功能仿真逻辑综合测试向量生成功能仿真结构综合门级时序仿真硬件测试设计完成图3 设计流程的框

9、图工作过程:系统正常工作时,脉冲信号发生器输入1Hz的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。测量信号时,将被测信号通过信号整形电路,产生同频率的矩形波,输入计数器作为时钟。当计数闸门信号高电平有效时,计数器开始计数,并将计数结果送入锁存器中。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。最后将锁存的数值由外部的七段译码器译码并在数码管上显示。3.单元模块设计3.1 顶层模块设计由于综合工具可以将高级别的模型转化生成为门级模型,所以整个设计过程基本是由计算机自动完成的。认为介入的方式主要是根据仿真的结果和优

10、化的指标,控制逻辑综合的方式和指向3。 图4是频率计的顶层设计的原理图。其中模块control是测频时序控制模块,cnt10_8模块是是十位计数器模块,latch8是测频时序锁存模块,还有选定各个引脚,这些模块是由VHDL语言设计之后生成的,将这些模块连接起来,从而实现其顶层模块的功能,如图4所示。图4 顶层设计的原理图3.2 测频控制模块 1、此模块主要由时钟输入、计数器时钟使能、计数器清零、输出锁存构成。其具体的实现是由一个1秒的输入信号脉冲计数允许的信号,1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。2、具体程序如下。LIBRARY IEEE; 测频控制电路

11、USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY control IS PORT (clk : IN STD_LOGIC; 定义逻辑电路的端口 cen : OUT STD_LOGIC; rst : OUT STD_LOGIC; load : OUT STD_LOGIC ); END control ;ARCHITECTURE behav OF control IS 语句说明 SIGNAL Div2CLK : STD_LOGIC;BEGIN 功能描述语句 PROCESS( clk ) BEGIN IF clkEV

12、ENT AND clk = 1 THEN 在顺序语句IF条件下选择高电平 Div2CLK = NOT Div2CLK; END IF; END PROCESS; PROCESS (clk, Div2CLK) BEGIN IF clk=0 AND Div2CLK=0 THEN rst=1; ELSE rst = 0; END IF; 确保CLK的变化是一次上升沿的跳变 END PROCESS; load = NOT Div2CLK; cen = Div2CLK;END behav;3.3十进位计数模块1、此模块先设计单个十进制计数模块,再设计八位十进制计数模块,将先设计好的单个十进制计数模块导入到八进制计数模块中,就可以完成八位十进制计数模块的设计,这样设计的好处是,减小了程序设计的复杂度,而且层次感强。2、主要涉及的程序见下面的两个程序。library ieee; 单个十进制计数模块use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity cnt10 is port (rst,fx,ena:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号