eda课程设计数字频率计的设计

合集下载

eda课程设计基于fpga的数字频率计

eda课程设计基于fpga的数字频率计

摘要等精度频率计在工业生产中具有很重要的作用,它在仪表测量领域扮演着重要的角色,它应用等精度测频原理,其测量精度优于普通频率计。

基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个频率区域能保持恒定的测试精度。

本次设计频率测量范围为2K-999KHZ,作品已经与DDS信号源搭配成功的完成了调试,其测量精度高,性能稳定。

本次设计方案是基于FPGA完成全系统设计,应用ALTERA公司的CYCLONE II芯片构成系统主体。

本次设计的软件部分应用VHDL语言。

应用Quartus II 6.0完成系统的设计,具有较高的灵活性与可靠性。

关键词:等精度;频率计;FPGA;VHDLAbstractEqual accuracy cymometer play a very important role in the frequency of industrial production and in the field of measurement instrumentation, the application of precision frequency measurement principle, the accuracy is better than ordinary cymometer. The cymometer based on the principles of traditional frequency measurement of the accuracy will face more practical limitations when the frequency of the signal decrease.the equal accuracy cymometer not only has high accuracy, but also maintain constant accuracy in the whole frequency region.The frequency of this design is in the range of 2 K-999KHZ, it has been works with DDS signal generator successfully,completed with the commissioning, its high precision,stable performance.Key words:equal accuracy;cymometer;FPGA;VHDL目录引言 (1)1 设计功能及要求 (1)2等精度测频原理 (1)3 FPGA概述 (3)3.1 FPGA概念 (3)3.2设计工具Quartus II 6.0 (4)4 详细设计方案 (5)5 结论 (12)谢辞 (13)参考文献 (14)附录 (15)引言频率测量是电子测量的重要领域。

数字频率计的EDA设计

数字频率计的EDA设计
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity scan7 is
port(clk_scan: in std_logic;
en:out std_logic;
sel:out std_logic_vector(2 downto 0);
3)训练目标
具备硬件编程语言VHDL设计数字系统的初步能力,熟悉开发环境和流程,掌握技术方法。
2设计思路
2.1数字频率计的测量方案选取
设计数器的计数值为N,则可得到被测信号频率为f =N。但是由于闸门的开通、关闭的时间与被测频率信号的跳变难以同步,因此采用此测量方法在低频段的相对测量误差可能达到50% ,即在低频段不能满足设计要求。在频率测量方法中,常用的有直接测频法、倍频法和等精度测频法。这三种方案各有利弊,其中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间T (以1 s计)内,被测(计数)的脉冲送到十进制计数器进行计数。但根据三个方案的分析,直接测频法比其他两个方案更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法测量,这样就可以提高测量精度了。
begin
case state is
when"000"=>limit_cnt<=1000000;
when"001"=>limit_cnt<=100000;
when others=>limit_cnt<=10000;
end case;
end process limit;
4.4动态扫描模块设计

eda的频率计课程设计

eda的频率计课程设计

eda的频率计课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握频率计的设计原理;2. 学生能描述频率计的工作原理,了解其主要组成部分;3. 学生能掌握频率计的电路设计方法,并了解其在实际应用中的重要性。

技能目标:1. 学生能运用所学知识,使用EDA软件进行频率计的电路设计;2. 学生能通过实验操作,搭建并调试频率计电路,提高实际动手能力;3. 学生能分析实验数据,解决频率计使用过程中出现的问题。

情感态度价值观目标:1. 学生对电子设计产生兴趣,培养创新意识和实践能力;2. 学生养成合作学习的习惯,提高团队协作能力;3. 学生认识到频率计在科技发展中的重要作用,增强社会责任感和使命感。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握基本理论知识的基础上,通过实践操作,提高电子设计能力。

课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。

后续教学设计和评估将围绕这些具体学习成果展开。

二、教学内容本章节教学内容围绕以下三个方面进行选择和组织:1. 理论知识学习:- 电子设计自动化(EDA)基本概念及发展历程;- 频率计的工作原理及主要组成部分;- 频率计电路设计的基本方法。

教学内容关联课本第3章“电子设计自动化”及第4章“频率计的设计与应用”。

2. 实践操作环节:- 使用EDA软件进行频率计电路设计;- 搭建并调试频率计电路;- 分析实验数据,解决实际问题。

实践操作环节与课本第5章“实验与实训”相结合。

3. 教学大纲安排:- 第一周:学习EDA基本概念、发展历程,了解频率计的工作原理及主要组成部分;- 第二周:学习频率计电路设计方法,进行EDA软件操作训练;- 第三周:分组进行频率计电路设计,搭建和调试电路,分析实验数据。

教学内容具有科学性和系统性,确保学生在掌握理论知识的基础上,通过实践操作提高电子设计能力。

4. 教材章节及内容列举:- 第3章 电子设计自动化:3.1节、3.2节、3.3节;- 第4章 频率计的设计与应用:4.1节、4.2节、4.3节;- 第5章 实验与实训:5.1节、5.2节、5.3节。

EDA课设-数字频率计设计

EDA课设-数字频率计设计

E D A课设-数字频率计设计(总17页) -本页仅作为预览文档封面,使用时请删除本页-一.背景介绍数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。

它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还可以测量它们的周期。

经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪;可以测量电容做成数字式电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪、计价器等。

因此数字频率计在测量物理量方面应用广泛。

本设计用VHDL在CPLD器件上实现数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。

具有体积小、可靠性高、功耗低的特点。

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。

在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。

该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。

2二.设计思路以及实现方法1.测频原理本频率计设计测量频率的基本原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。

频率计测量频率需要设计整形电路使被测周期性信号整形成脉冲,然后设计计数器对整形后的脉冲在单位时间内重复变化的次数进行计数,计数器计出的数字经锁存器锁存后送往译码驱动显示电路用数码管将数字显示出来,需要设计控制电路产生允许计数的门闸信号、计数器的清零信号和锁存器的锁存信号使电路正常工作。

2.实现方法根据数字频率计的基本原理,本文设计方案的基本思想是分为五个模块来实现其功能,即整个数字频率计系统分为分频模块、控制模块、计数模块、译码模块和量程自动切换模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。

EDA课程设计_简易数字频率计设计

EDA课程设计_简易数字频率计设计

目录1 引言 . ...........................................................................................................................1 2 简易数字频率计设计原理 . (2)2.1基本原理 . (2)2.2原理框图 . .......................................................................................................... 2 3 各模块程序及仿真 . (4)3.1测频控制发生器ctr 模块的设计 (4)3.2待测信号计数器counter 模块的设计 . ............................................................ 4 3.3锁存器regist 模块的设计 . ............................................................................... 5 3.4顶层模块的设计 . .............................................................................................. 6 3.5 引脚锁定 . ......................................................................................................... 7 4 心得体会 . ................................................................................................................... 9 参考文献 . ..................................................................................................................... 10 附录 . (11)1 引言EDA 技术是以硬件语言为主要的描述方式,以EDA 软件为主要的设计软件,以大规模课编程逻辑器件为载体的数字电路的设计过程。

eda频率计课程设计

eda频率计课程设计

eda频率计课程设计一、课程目标知识目标:1. 让学生理解EDA(电子设计自动化)的基本概念,掌握频率计的设计原理;2. 学会运用已学的电子元件和电路知识,设计并搭建一个简单的频率计;3. 掌握频率计在电子测量中的应用,了解其重要性和实际意义。

技能目标:1. 培养学生动手操作能力,能正确使用电子仪器和工具进行电路搭建;2. 提高学生问题解决能力,通过团队协作,设计和调试频率计电路;3. 培养学生运用EDA软件进行电路仿真和优化设计的能力。

情感态度价值观目标:1. 培养学生对电子设计的兴趣和热情,激发创新意识;2. 培养学生团队协作精神,学会倾听、沟通、分享和合作;3. 增强学生环保意识,了解电子产品的绿色设计和可持续发展。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能独立完成频率计电路的设计和搭建;2. 学生能运用EDA软件进行电路仿真,优化设计方案;3. 学生在团队协作中,发挥个人特长,共同解决问题;4. 学生通过课程学习,增强对电子设计领域的认识和兴趣,培养良好的情感态度价值观。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. EDA基本概念与频率计原理- 介绍EDA的基本概念、作用及其在电子设计中的应用;- 讲解频率计的工作原理、分类及其在电子测量中的重要性。

2. 电子元件与电路知识- 复习已学的电子元件(如电阻、电容、二极管、晶体管等)及其特性;- 梳理相关电路知识(如放大电路、滤波电路等)在频率计设计中的应用。

3. 频率计设计与搭建- 分析频率计电路的设计方法,引导学生运用所学知识进行设计;- 实践操作,指导学生正确搭建频率计电路,并进行调试。

4. EDA软件应用与电路仿真- 介绍EDA软件的基本功能,教授学生如何进行电路仿真和优化设计;- 指导学生运用EDA软件完成频率计电路的仿真,提高设计效率。

5. 团队协作与问题解决- 培养学生团队协作能力,分工合作完成频率计设计任务;- 引导学生学会分析问题、解决问题,提高实际操作能力。

EDA课程设计报告,数字频率计

EDA课程设计报告,数字频率计

. I目录前言01. 总体设计方案11.1总体设计方案12. 单元模块设计12.1十进制计数器设计12.1.1 十进制计数器原件t10设计12.1.2 位十进制计数器的顶层设计22.2闸门控制模块EDA设计32.2.1 定时信号模块Timer32.2.2 控制信号发生器模块T_con42.3译码显示模块42.3.1 显示存放器设计42.3.2 译码扫描显示电路52.3.3 译码显示模块的顶层电路设计73. 软件测试83.1测试的环境83.2调试和器件编程84. 设计总结85. 参考文献9前言在电子技术高度开展的今天,各种电子产品层出不穷,而频率作为设计的最根本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。

测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程的自动化等优点。

数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器,它的根本功能是测量正弦信号、方波信号、尖脉冲信号以及其它各种单位时间变化的物理量。

当今国外厂家生产的数字频率计在功能和性能方面都比拟优良,而且还在不断开展中,但其构造比拟复杂,价位也比拟高,在测量精准度要求比拟低的测量场合,使用这些数字频率计就不够经济合算。

我所设计的这款数字频率计能够可靠实现频率显示功能,原理及构造也比拟简单本次所做的课程设计就是一个数字频率计,能测量1HZ~9999HZ的矩形波信号,并正确地显示所测信号的频率值。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比拟复杂,而且会产生比拟大的延时,造成测量误差、可靠性差。

随着现场可编程门阵列FPGA 的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。

采用FPGA现场可编程门阵列为控制核心,通过硬件描述语言VHDL编程,在Quartus‖仿真平台上编译、仿真、调试,并下载到FPGA芯片上,通过严格的测试后,能够较准确地测量各种常用的波形信号的频率,而且还能对其他多种物理量进展测量。

eda课程设计数字频率计

eda课程设计数字频率计

eda课程设计 数字频率计一、课程目标知识目标:1. 学生能够理解并掌握数字频率计的基本原理,包括频率的概念、测量方法及其在电子工程中的应用。

2. 学生能够运用所学知识,分析并识别EDA(电子设计自动化)软件中与数字频率计相关的元件和模块。

3. 学生能够运用电子元件搭建简单的数字频率计电路,并描述其工作过程。

技能目标:1. 学生能够运用EDA软件进行数字频率计电路的设计、仿真和调试,具备实际操作能力。

2. 学生能够通过小组合作,解决在数字频率计设计过程中遇到的技术问题,提高团队协作和问题解决能力。

情感态度价值观目标:1. 学生能够认识到数字频率计在电子工程领域的重要性和实际应用价值,激发对电子工程的兴趣和热情。

2. 学生在课程学习中,培养严谨的科学态度,注重实验数据的真实性和准确性。

3. 学生通过小组合作,学会尊重他人意见,培养良好的沟通能力和团队精神。

本课程针对高中年级学生,结合电子工程学科特点,强调理论与实践相结合,注重培养学生的动手操作能力和实际应用能力。

课程目标具体、可衡量,旨在帮助学生和教师在课程结束后,能够清晰地了解学生在知识、技能和情感态度价值观方面的预期成果。

同时,将课程目标分解为具体的学习成果,便于后续的教学设计和评估。

二、教学内容本章节教学内容依据课程目标,紧密围绕数字频率计的设计与实现,确保内容的科学性和系统性。

具体教学内容如下:1. 理论知识学习:- 频率概念及其测量方法- 数字频率计的原理与分类- EDA软件的基本操作与使用方法2. 实践操作环节:- 数字频率计电路设计原理- EDA软件中数字频率计电路搭建与仿真- 实际电路搭建与调试3. 教学大纲安排:- 第一课时:介绍频率概念、测量方法及数字频率计的原理与分类,让学生了解课程背景和目标。

- 第二课时:讲解EDA软件的基本操作与使用方法,引导学生学习并掌握软件应用。

- 第三课时:分析数字频率计电路设计原理,指导学生进行电路设计和仿真。

eda数字频率计课程设计

eda数字频率计课程设计

eda数字频率计课程设计一、课程目标知识目标:1. 让学生理解数字频率计的基本原理,掌握EDA工具的使用方法;2. 使学生掌握数字频率计的电路设计,包括计数器、时钟分频器等关键部分;3. 让学生掌握数字频率计的仿真与调试方法,了解其在实际应用中的限制和改进措施。

技能目标:1. 培养学生运用EDA工具进行数字电路设计和仿真的能力;2. 培养学生独立分析问题、解决问题的能力,能够根据实际需求调整和优化数字频率计的设计;3. 培养学生团队合作意识,提高沟通与协作能力。

情感态度价值观目标:1. 激发学生对电子设计的兴趣,培养创新意识和探索精神;2. 培养学生严谨的科学态度,注重实验数据的真实性,遵循实验操作规范;3. 引导学生关注我国电子产业的发展,增强民族自豪感和使命感。

课程性质:本课程为实践性较强的电子设计课程,旨在通过数字频率计的设计与实现,让学生掌握电子设计的基本方法和技能。

学生特点:学生已具备一定的电子基础知识,具有较强的学习能力和动手能力,但对EDA工具的使用和数字电路设计尚较陌生。

教学要求:教师需结合学生特点,注重理论与实践相结合,引导学生主动参与课堂讨论和实践活动,培养其独立思考和解决问题的能力。

通过课程学习,使学生能够达到预定的学习成果,为后续相关课程的学习打下坚实基础。

二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. 数字频率计原理介绍:使学生了解数字频率计的工作原理,掌握频率测量的基本方法。

- 相关教材章节:第五章“数字频率计”- 内容列举:频率计的基本原理、计数器原理、时钟分频器原理等。

2. EDA工具使用:培养学生运用EDA工具进行电路设计与仿真的能力。

- 相关教材章节:第三章“EDA工具的使用”- 内容列举:EDA工具的基本操作、原理图绘制、电路仿真等。

3. 数字频率计电路设计:使学生掌握数字频率计的电路设计方法,包括计数器、时钟分频器等关键部分。

- 相关教材章节:第四章“数字电路设计”- 内容列举:计数器设计、时钟分频器设计、数字频率计整体电路设计等。

EDA课程设计—数字频率计

EDA课程设计—数字频率计

EDA课程设计—数字频率计设置范围开关L=0以单位显示y,当L=0时,范围为0 ~ 999赫兹。

y 以红色显示,即单位为赫兹。

当L=1时,为1 ~ 999千赫,y显示为绿色,单位为千赫。

2.6扫描显示模块扫描显示电路:功能描述:该部分由74160和4个74151组成,用于控制显示器的旋转开关当扫描频率超过200赫兹时,就超出了人眼的识别惯性范围,也就是说,显示器上可以显示稳定的数字。

2.7超出范围的显示电路图:功能描述:7448的输出端abcdef和报警器的输出端取非反相,重新连接到实验箱g与报警器或的输出端相连,然后与实验箱相连。

这样,当超出测量范围时,可以显示“-”。

2.8分频模块分频电路:功能描述:从74160级联到366计数器进位端,366计数器进位端连接到74161时钟信号端,通过分频得到周期为2S的时钟信号,进位端是报警电路时钟信号的控制端3,设计结论在设计过程中产生1s时钟信号时,理解误差与实验盒不一致经过改进,达到了实验要求。

当设计超出范围时,显示器的显像管-,不用思考通过老师的解释,找到解决办法。

EDA课程设计是一个非常实用和全面的实验。

仅仅通过参加大学课程学习专业知识是不够的。

通过本课程设计,我们可以了解数字电子技术的实用性和我们对通信的理解。

我们可以简单地理解在未来的学习和工作中会接触到的几个方面。

数字电子技术涉及面广,我们不应该对自己的专业知识一无所知。

直到设计结束,我们对这个设计一无所知。

我们在图书馆里查找信息,在网上搜索信息,最后确定了计划,并把它分成几个主要模块。

从模块的设计和运行,到电路的连接和调试,到仿真结果的出现,我们经过了各方面的讨论和深入研究,最终得到了结果。

整个过程使我们对数字频率计有了更深的理解,培养了我们学习、思考和实践的能力。

我们最大的成就是学会如何系统地解决实际问题以及如何使用模块的思想。

整个电路设计过程中最成功的部分是将整个电路分成不同的模块来实现它们相应的不同功能,然后逐级连接各个模块来实现数字频率计的集成电路,最后将集成电路连接到实验箱来实现数字频率计的功能在这个过程中,我们对从分立元件到中等规模集成电路,再到大规模集成电路的合成过程有了更深的理解。

基于EDA的数字频率计设计

基于EDA的数字频率计设计

专业班级:学生XX:指导教师(签名):一、课程设计(论文)题目数字频率计的设计二、本次课程设计(论文)应达到的目的通过课程设计使学生能熟练掌握一种EDA软件(MAXPLUS2)的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程。

通过课程设计使学生能利用EDA软件(MAXPLUS2)进行至少一个电子技术综合问题的设计(内容可由老师指定或自由选择),设计输入可采用图形输入法或VHDL硬件描述语言输入法。

通过课程设计使学生初步具有分析、寻找和排除电子电路中常见故障的能力,培养学生的自我能力和独立分析、解决问题的能力。

包括:查阅参考资料、工具书,掌握数字系统仿真调试的一般规律。

通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。

三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)设计一个能测量方波信号的频率的频率计。

测量的频率X围是0~999999Hz。

结果用十进制数显示。

四、应收集的资料及主要参考文献:1、赵曙光等编著可编程逻辑器件原理、开发与应用XX:XX电子科技大学,20002、IC设计基础. 任艳颖,王彬编著. XX:XX电子科技大学.20033、FPGA设计及应用.褚振勇,翁木云编著. XX:XX电子科技大学,20024、数字系统设计和HDL相关书籍和资料五、审核批准意见教研室主任(签字)目录一:课程设计名称:数字频率计的设计 (3)二:设计思想及系统框图 (3)三实现方法 (4)四具体模块和实现 (4)1 计数电路 (4)2 控制电路 (6)3 锁存模块 (9)4 0~99999计数器实现 (10)五:系统工作时序图 (11)六:误差分析及总结 (11)参考文献 (12)基于VHDL的数字频率计设计一:课程设计名称:数字频率计的设计要求:设计一个能测量方波信号的频率的频率计,其技术要求如下:(1)测量频率X围:0Hz~999999Hz。

EDA课程设计--数字频率计

EDA课程设计--数字频率计

EDA《数字频率计》课程设计报告专业:电子信息工程班级:08电信姓名:刘冰学号: F指导教师:任苹年月日一课程设计目的1)课程设计题:数字频率计2)任务及要求1、设计一个能测量方波信号的频率的频率计。

2、测量的频率范围是0 Hz。

3、结果用十进制数显示。

4、按要求写好设计报告(设计报告内容包括:引言,方案设计与论证,总体设计,各模块设计,调试与数据分析,总结)。

3)教学提示1、脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。

所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。

2、被测频率信号取自实验箱晶体振荡器输出信号,加到主控门的输入端。

3、再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:1ms,10ms,0.1s,1s等,时基信号的选择可以控制,即量程可以改变。

4、时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时基信号的一个周期),输入信号才通过主控门。

5f=N/T,改变时基信号的周期T,即可得到不同的测频范围。

5、当主控门关闭时,计数器停止计数,显示器显示记录结果,此时控制电路输出一个置零信号,将计数器和所有触发器复位,为新的一次采样做好准备。

6、改变量程时,小数点能自动移位。

4)设计报告要求1、说明设计作品的功能、特点、应用范围;2、方案对比,确定方案。

3、电路工作原理、操作方法;4、编程方法、程序框图及关键程序清单。

5、课程设计总结。

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

它是一种用十进制数字,显示被测信号频率的数字测量仪器。

它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。

在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。

二、设计方案论证、结果以及分析1 原理图编译成功后其波形图如下:2、信号发生器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sele isport(clk: in std_logic;jian: in std_logic_vector(1 downto 0);oclk: out std_logic);end;architecture s_1 of sele issignal full : std_logic;signal t :integer range 0 to ;beginP1:process(jian,t)begincase jian iswhen "00" => t <= ; --产生时基脉冲1swhen "01" => t <= ; --产生时基脉冲100mswhen "10" => t <= 59999; --产生时基脉冲10ms when "11" => t <= 5999; --产生时基脉冲1ms when others => null;end case;end process P1;P2: process(clk,t)variable s : integer range 0 to ;beginif (clk'event and clk = '1') thenif s < t thens := s +1;else s := 0 ;end if;end if;if s = t then full <= '1';else full <= '0';end if;end process P2;P3: process(full)variable c : std_logic; beginif full'event and full = '1' then c := not c;if c = '1' thenoclk <= '1';else oclk <='0';end if;end if;end process P3;end;其仿真波形为:3、测频library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity cp isport(clkk: in std_logic;en,rst,load: out std_logic); end;architecture cp_1 of cp issignal div2: std_logic;beginprocess(clkk)beginif(clkk'event and clkk='1') thendiv2 <= not div2;end if;end process;process(clkk,div2)beginif (clkk='0' and div2='0') thenrst <='1';else rst <='0';end if;end process;load <= not div2;en <= div2;end;其仿真波形为:4、计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishu isport(rst,en,clk: in std_logic;Q: out std_logic_vector(3 downto 0); cout: out std_logic);end;architecture cnt of jishu issignal cnt: std_logic_vector(3 downto 0);beginprocess(rst,en,clk)beginif rst='1' then cnt <= "0000";elsif(clk'event and clk='1') and en = '1' thenif cnt = "1001" thencnt <= "0000"; cout <= '1';elsecnt <= cnt + 1;cout <= '0';end if;end if;end process;Q <= cnt;end;在源程序中COUT是计数器的进位输出;Q[3..0]是计数器的状态输出;CLK是时钟输入端;RST是复位控制端;当RST=1时,Q[3..0]=0,EN是使能控制输入端,当EN=1时,计数器计数,当EN=0时,计数器保持状态不变。

eda课程设计数字频率计的设计

eda课程设计数字频率计的设计

VHDL与数字系统设计设计说明书数字频率计的设计起止日期:2010年12 月14 日至2010年12 月26 日学生姓名班级学号成绩指导教师(签字)计算机与通信学院2010 年12 月26 日附件:附件1、设计图形元件原理图:附件2、程序源代码:1、频率产生器:library ieee;use ieee.std_logic_1164.all;library lpm;use lpm.lpm_components.all;entity lpm_counter0 isport(clock: in std_logic ;q: out std_logic_vector (26 downto 0));end lpm_counter0;architecture syn of lpm_counter0 issignal sub_wire0 : std_logic_vector (26 downto 0);component lpm_countergeneric (lpm_direction : string;lpm_port_updown : string;lpm_type : string;lpm_width : natural);port(clock : in std_logic ;q : out std_logic_vector (26 downto 0));end component;beginq <= sub_wire0(26 downto 0);lpm_counter_component : lpm_countergeneric map (lpm_direction => "up",lpm_port_updown => "port_unused",lpm_type => "lpm_counter",lpm_width => 27)port map (clock => clock,q => sub_wire0);end syn;2、测频控制信号发生器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testpl isport(clk:in std_logic;--1Hz信号tsten:out std_logic;--计数器使能信号clr_cnt:out std_logic;--计数器清零信号load:out std_logic);--锁存器输出控制信号end testpl;architecture art of testpl issignal div2clk:std_logic;beginprocess(clk)beginif clk'event and clk='1'thendiv2clk<=not div2clk; --div2clk为2Hzend if ;end process;process (clk ,div2clk)beginif( clk='0'and div2clk='0')thenclr_cnt<='1'; --当div2clk与clk同时为零时计数器清零 else clr_cnt<='0'; --当div2clk处于的高电平时计数器计数end if;end process;load<=not div2clk; --锁存器输出与计数器使能信号反相tsten<=div2clk;end art;3、有时钟使能的十进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk,clr,en: in std_logic;--clk:计数器时钟,clr:清零信号,en:计数使能信号q: out std_logic_vector(3 downto 0);--q:4位计数结果输出 c10: out std_logic);--计数进位end cnt10;architecture art of cnt10 issignal cqi: std_logic_vector(3 downto 0);beginprocess (clk,clr)beginif clr='1' then cqi<="0000";--当输入的clr_cnt为低电平0时清零elsif clk'event and clk='1' thenif en='1' then--当输入的tesen为高电平1时允许计数if (cqi<9) then cqi<=cqi+1;else cqi<="0000"; --等于9则计数器清零end if;--当输入的tesen为低电平0时禁止计数,锁定计数值end if;end if;end process;--产生进位process(cqi)beginif cqi="1001" then c10<='1'; --当加的9时产生进位输出 else c10<='0';end if;end process;q<=cqi;end art;4、16位锁存器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg16b isport (load: in std_logic;--输出锁存控制信号din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end reg16b;architecture art of reg16b isbeginprocess(load,din)beginif load'event and load='1'then--load为高电平时teten为低电平,计数器禁止dout<=din; --锁存输入的数据end if;end process;end art;5、数码管控制器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledcom isport(clk:in std_logic; --数码管扫描频率datain: in std_logic_vector(15 downto 0);--锁存器输入的16位信号 dataout: out std_logic_vector(3 downto 0);-输出至译码器的4位信号 com: out std_logic_vector(3 downto 0));--输出数码管选择信号end ledcom;architecture art of ledcom issignal comclk: std_logic_vector(1 downto 0);begin--comclk同扫描频率clk循环变化process(clk)beginif rising_edge(clk) thenif comclk>=3 thencomclk <="00";else comclk<=comclk+1;end if;end if;end process;--数码管选择process(comclk)begincase comclk iswhen "00" => com<="1000";when "01" => com<="0100";when "10" => com<="0010";when "11" => com<="0001";when others =>NULL;end case;end process;--对应数码管的输出process(comclk,datain)begincase comclk iswhen "11"=> dataout<=datain(3 downto 0);when "10"=> dataout<=datain(7 downto 4);when "01"=> dataout<=datain(11 downto 8);when "00"=> dataout<=datain(15 downto 12);when others =>NULL;end case;end process;end art;6、七段数码管的译码器library IEEE;use IEEE.std_logic_1164.all;entity ymq isport(d_in: in std_logic_vector(3 downto 0);--数码管控制器输入四位信号d_out: out std_logic_vector(7 downto 0)); --输出8位信号end ymq;--第8位d_out[7]为逗号architecture art of ymq isbeginprocess(d_in)begincase d_in is --第8位为1高电平逗号不显示when "0000" => d_out<="11000000"; --0when "0001" => d_out<="11111001"; --1when "0010" => d_out<="10100100"; --2when "0011" => d_out<="10110000"; --3when "0100" => d_out<="10011001"; --4when "0101" => d_out<="10010010"; --5when "0110" => d_out<="10000010"; --6when "0111" => d_out<="11111000"; --7when "1000" => d_out<="10000000"; --8when "1001" => d_out<="10010000"; --9when others =>NULL;end case;end process;end art;7、元件声明及例化将各个元器件依据设计相连library ieee;use ieee.std_logic_1164.all;entity lx isport(clk: in std_logic;led: out std_logic_vector(7 downto 0);ledc: out std_logic_vector(3 downto 0));end lx;architecture art of lx iscomponent lpm_counter0 --待调用的频率生成器端口定义PORT(clock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (26 DOWNTO 0) );end component;--十进制计数器component cnt10 --待调用的有时钟使能的十进制计数器端口定义port(clk,clr,en: in std_logic;q: out std_logic_vector(3 downto 0);c10: out std_logic);end component;--16位锁存器component reg16b --待调用的32位锁存器端口定义port (load: in std_logic;din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end component;--测频控制器component testpl --待调用的测频控制信号发生器端口定义 port(clk:in std_logic;tsten:out std_logic;clr_cnt:out std_logic;load:out std_logic);end component;--数码管选择器component ledcom --待调用的数码管选择器端口定义port(clk:in std_logic;datain: in std_logic_vector(15 downto 0);dataout: out std_logic_vector(3 downto 0);com: out std_logic_vector(3 downto 0));end component;--译码器component ymq --待调用的译码器端口定义port(d_in: in std_logic_vector(3 downto 0);d_out: out std_logic_vector(7 downto 0));end component;signal clk1,clk2,clk3: std_logic;--clk1为1Hz信号,clk2为被测信号,clk3为数码管扫描信号signal tsten,clr,load: std_logic;signal c1,c2,c3,c4: std_logic;signal qout,rout: std_logic_vector(15 downto 0);signal datao: std_logic_vector(3 downto 0);beginu0:testpl port map(clk1,tsten,clr,load);u1:cnt10 port map(clk2,clr,tsten,qout(3 downto 0),c1);u2:cnt10 port map(c1,clr,tsten,qout(7 downto 4),c2);u3:cnt10 port map(c2,clr,tsten,qout(11 downto 8),c3);u4:cnt10 port map(c3,clr,tsten,qout(15 downto 12),c4);u5:reg16b port map(load,qout(15 downto 0),rout);u6:ledcom port map(clk3,rout,datao,ledc);u8:ymq port map(datao,led);u9:lpm_counter0 port map(clk,q(25)=>clk1,q(15)=>clk2,q(17)=>clk3); end art;。

eda频率计课程设计

eda频率计课程设计

eda频率计课程设计一、课程目标知识目标:1. 学生能够理解EDA(电子设计自动化)的基本概念,掌握频率计的设计原理。

2. 学生能够运用所学知识,分析并设计简单的频率计电路。

3. 学生能够了解频率计在实际应用中的重要性,如信号处理、通信等领域。

技能目标:1. 学生能够运用EDA工具进行电路设计和仿真,提高实际操作能力。

2. 学生能够通过小组合作,解决设计过程中遇到的问题,培养团队协作能力。

3. 学生能够运用所学知识,对频率计电路进行调试和优化,提高问题解决能力。

情感态度价值观目标:1. 学生对EDA技术和电子设计产生兴趣,培养科学探究精神。

2. 学生在学习过程中,养成积极思考、主动探究的良好学习习惯。

3. 学生通过课程学习,认识到科技创新对国家和社会发展的意义,增强社会责任感。

课程性质分析:本课程为电子技术相关课程,旨在让学生掌握EDA技术及其在频率计设计中的应用。

课程内容紧密结合实际,注重培养学生的动手能力和创新能力。

学生特点分析:学生为高中年级,已具备一定的电子技术基础,对新技术和新知识充满好奇,具备较强的学习能力和探究精神。

教学要求:1. 结合教材内容,注重理论与实践相结合,提高学生的实际操作能力。

2. 鼓励学生积极参与课堂讨论,培养学生的思考能力和表达能力。

3. 以项目为导向,注重过程评价,关注学生的学习成果和情感态度价值观的培养。

二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具使用- EDA技术的定义、作用及其发展- 常用EDA工具软件的介绍与安装- EDA工具的基本操作与使用方法2. 频率计设计原理- 频率计的基本工作原理- 常见频率计电路拓扑结构分析- 频率计的关键参数及其影响3. 频率计电路设计与仿真- 电路设计流程与方法- 使用EDA工具进行频率计电路设计- 电路仿真与分析4. 频率计电路制作与调试- 电路板设计规范与制作- 元器件选型与焊接- 电路调试与优化5. 频率计在实际应用中的案例分析- 频率计在信号处理、通信等领域的应用- 案例分析与讨论教学大纲安排:第一课时:介绍EDA基本概念与工具使用第二课时:讲解频率计设计原理第三课时:进行频率计电路设计与仿真第四课时:制作与调试频率计电路第五课时:分析频率计在实际应用中的案例教学内容与教材关联:本教学内容紧密结合教材中关于EDA技术、电子测量、电路设计与仿真等章节,确保内容的科学性和系统性。

eda课程设计数字频率计的设计[1]

eda课程设计数字频率计的设计[1]

VHDL与数字系统设计设计说明书数字频率计的设计起止日期:2010年12 月14 日至2010年12 月26 日学生姓名班级学号成绩指导教师(签字)计算机与通信学院2010 年12 月26 日附件:附件1、设计图形元件原理图:附件2、程序源代码:1、频率产生器:library ieee;use ieee.std_logic_1164.all;library lpm;use lpm.lpm_components.all;entity lpm_counter0 isport(clock: in std_logic ;q: out std_logic_vector (26 downto 0));end lpm_counter0;architecture syn of lpm_counter0 issignal sub_wire0 : std_logic_vector (26 downto 0);component lpm_countergeneric (lpm_direction : string;lpm_port_updown : string;lpm_type : string;lpm_width : natural);port(clock : in std_logic ;q : out std_logic_vector (26 downto 0));end component;beginq <= sub_wire0(26 downto 0);lpm_counter_component : lpm_countergeneric map (lpm_direction => "up",lpm_port_updown => "port_unused",lpm_type => "lpm_counter",lpm_width => 27)port map (clock => clock,q => sub_wire0);end syn;2、测频控制信号发生器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testpl isport(clk:in std_logic;--1Hz信号tsten:out std_logic;--计数器使能信号clr_cnt:out std_logic;--计数器清零信号load:out std_logic);--锁存器输出控制信号end testpl;architecture art of testpl issignal div2clk:std_logic;beginprocess(clk)beginif clk'event and clk='1'thendiv2clk<=not div2clk; --div2clk为2Hzend if ;end process;process (clk ,div2clk)beginif( clk='0'and div2clk='0')thenclr_cnt<='1'; --当div2clk与clk同时为零时计数器清零 else clr_cnt<='0'; --当div2clk处于的高电平时计数器计数end if;end process;load<=not div2clk; --锁存器输出与计数器使能信号反相tsten<=div2clk;end art;3、有时钟使能的十进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk,clr,en: in std_logic;--clk:计数器时钟,clr:清零信号,en:计数使能信号q: out std_logic_vector(3 downto 0);--q:4位计数结果输出 c10: out std_logic);--计数进位end cnt10;architecture art of cnt10 issignal cqi: std_logic_vector(3 downto 0);beginprocess (clk,clr)beginif clr='1' then cqi<="0000";--当输入的clr_cnt为低电平0时清零elsif clk'event and clk='1' thenif en='1' then--当输入的tesen为高电平1时允许计数if (cqi<9) then cqi<=cqi+1;else cqi<="0000"; --等于9则计数器清零end if;--当输入的tesen为低电平0时禁止计数,锁定计数值end if;end if;end process;--产生进位process(cqi)beginif cqi="1001" then c10<='1'; --当加的9时产生进位输出 else c10<='0';end if;end process;q<=cqi;end art;4、16位锁存器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg16b isport (load: in std_logic;--输出锁存控制信号din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end reg16b;architecture art of reg16b isbeginprocess(load,din)beginif load'event and load='1'then--load为高电平时teten为低电平,计数器禁止dout<=din; --锁存输入的数据end if;end process;end art;5、数码管控制器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledcom isport(clk:in std_logic; --数码管扫描频率datain: in std_logic_vector(15 downto 0);--锁存器输入的16位信号 dataout: out std_logic_vector(3 downto 0);-输出至译码器的4位信号 com: out std_logic_vector(3 downto 0));--输出数码管选择信号end ledcom;architecture art of ledcom issignal comclk: std_logic_vector(1 downto 0);begin--comclk同扫描频率clk循环变化process(clk)beginif rising_edge(clk) thenif comclk>=3 thencomclk <="00";else comclk<=comclk+1;end if;end if;end process;--数码管选择process(comclk)begincase comclk iswhen "00" => com<="1000";when "01" => com<="0100";when "10" => com<="0010";when "11" => com<="0001";when others =>NULL;end case;end process;--对应数码管的输出process(comclk,datain)begincase comclk iswhen "11"=> dataout<=datain(3 downto 0);when "10"=> dataout<=datain(7 downto 4);when "01"=> dataout<=datain(11 downto 8);when "00"=> dataout<=datain(15 downto 12);when others =>NULL;end case;end process;end art;6、七段数码管的译码器library IEEE;use IEEE.std_logic_1164.all;entity ymq isport(d_in: in std_logic_vector(3 downto 0);--数码管控制器输入四位信号d_out: out std_logic_vector(7 downto 0)); --输出8位信号end ymq;--第8位d_out[7]为逗号architecture art of ymq isbeginprocess(d_in)begincase d_in is --第8位为1高电平逗号不显示when "0000" => d_out<="11000000"; --0when "0001" => d_out<="11111001"; --1when "0010" => d_out<="10100100"; --2when "0011" => d_out<="10110000"; --3when "0100" => d_out<="10011001"; --4when "0101" => d_out<="10010010"; --5when "0110" => d_out<="10000010"; --6when "0111" => d_out<="11111000"; --7when "1000" => d_out<="10000000"; --8when "1001" => d_out<="10010000"; --9 when others =>NULL;end case;end process;end art;。

EDA课程设计报告__频率计

EDA课程设计报告__频率计

课程设计报告一、设计目的和要求1.课程设计目的(1).熟悉CPLD的开发软件的基本使用。

(2).理解频率计的测量原理。

(3).掌握CPLD逻辑电路设计方法。

(4).掌握虚拟数字频率计的软件设计。

2.课程设计的基本要求在CPLD中设计一个数字频率计电路,设计要求为:测量范围:1Hz~1MHz。

3.课程设计类型Vhdl程序设计二、仪器和设备1.电脑2.max+plus2软件三、设计过程1.设计内容和要求在CPLD中设计一个数字频率计电路,设计要求为:测量范围:1Hz~1MHz。

2.设计方法和开发步骤3.设计思路下图是8位十进制数字频率计的电路逻辑图,它由1个测频控制信号发生器TESTCTL、8个有时钟使能的十进制计数器的CNT10、1个32位锁存器REG32B组成。

常熟理工学院课程设计报告1)测频控制信号发射器的设计频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。

这就要求TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。

当TSTEN高电平时,允许计数;低电平时,停止计数,并保持其所计的数。

在停止计数期间,首先需要一个锁存信号LOAD 的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B 中,由外部的7段译码器译出并稳定显示,锁存信号之后必须有一清零信号CLR_CNT对计数器进行清零,为下一秒的计数操作作准备。

测频控制信号发生器是先建立一个由D触发器构成的二分频物理与电子工程学院EDA实验室器,再在每次时钟CLK上沿到来时其值翻转。

其中,控制信号时钟CLK的频率取1Hz,而信号TSTEN的脉宽恰好是1s,可以用做闸门信号。

此时,根据测频的时序要求,可得出信号LOAD和CLR_CNT的逻辑描述。

在计数完成后,即计数使能信号TSTEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5秒后,CLR_CNT产生一个清零信号上跳沿。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6、译码器ymq:输入端d_in[3..0]将接收BCD码信号,译码后输出端 d_out[7..0]输出8为7段数码管信号,其中输出的第8位均为高电平"1"可 以使四个数码管的小数点不显示。经译码器的处理输出后数码管显示 相应的数值。
7、元件声明及例化:将各个元器件依据设计相连
五、心得体会
这次课程设计中,我不仅复习巩固了课堂所学的理论知识,提高 了对所学知识的综合应用能力,并从根本上了解了VHDL语言的一些基 本用法,应用了原来不会或者不熟练的句型,如if句,case句等,也 学会了一些基本功能的实现方法,如分频,状态控制等等,从另外一 个角度重新审视了上学期完全从硬件角度出发的电路设计,明白了软 硬件之间的交互。通过这个课题,对系统框图、逻辑流程图、状态转 移图的设计有了一定的了解。也懂得了系统的前期设计对于后续的编 程和调试的重要性。
二、设计原理
1、频率计设计原理 在电子技术中,频率是最基本的参数之一,并且与许多电参量的 测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得 更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度 高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是 频率测量的重要手段之一。
q: out std_logic_vector(3 downto 0);--q:4位计数结果输 出
总之,这次课设我们都受益匪浅。整个过程氛围浓厚,本人也态 度十分认真,积极向老师和同学求教并在此过程中收获良多,能够进 一步了解和使用一门与硬件直接打交道的基本语言对我们将来的学习 和工作都会十分有益。
附件: 附件1、设计图形元件原理图:
附件2、程序源代码:
1、频率产生器:
library ieee;
四、设计步骤与过程
1、频率产生器lpm_counter0:有一50MHz的时钟输入端clk,经 过分频处理后从输出端q[26..0]输出27种频率信号,从中选出三个不同 频率的信号:q[25]为1Hz输入testpl的clk端,q[13]为测试信号输入低位 计数器的cnt10的clk端,q[17]为数码管显示选择的扫描信号输入数码管 控制器的clk端。
lpm_port_updown
: string;
lpm_type
: string;
lpm_width
: natural
);
port(clock : in std_logic ;
q : out std_logic_vector (26 downto 0));
end component;
begin
q <= sub_wire0(26 downto 0);
use ieee.std_logic_1164.all;
library lpm;
use lpm.lpm_components.all;
enቤተ መጻሕፍቲ ባይዱity lpm_counter0 is
port(clock: in std_logic ;
q: out std_logic_vector (26 downto 0));
clock => clock,
q => sub_wire0
);
end syn;
2、测频控制信号发生器
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity testpl is
port(clk:in std_logic;--1Hz信号
EDA技术是以大规模可编程逻辑器件为设计载体,以硬件语言为 系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发 软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用 软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专 用集成芯片的一门新技术。其设计的灵活性使得EDA技术得以快速发 展和广泛应用。以QUARTUSII软件为设计平台,采用VHDL语言实现 数字频率计的整体设计。
end lpm_counter0;
architecture syn of lpm_counter0 is
signal sub_wire0 : std_logic_vector (26 downto 0);
component lpm_counter
generic (
lpm_direction
: string;
12/15-12/18 各组员针对自己的任务,查找相关资料,完成
进度
各自相关部分。
安排 12/19-12/20 集体讨论,找出一个较佳的方案。
12/21-12/25 进行可行性分析,对有错或不佳的地方加 以改正。
2010/12/26 最后分析整理,书写课程设计报告。
1、王小军 主编.《VHDL简明教程》.清华大学出版社, 1997
4、16位锁存器reg16b:将已有16 位bcd码存在于此模块的输入口 din[15..0],在信号load的上升沿后即被锁存到寄存器reg16b的内部,并 由reg16b的输出端dout[15..0]输出,设置锁存器的好处是,数码管上显 示的数据稳定,不会由于周期性的清零信号而不断闪烁。。
5、数码管控制器ledcom:两个输入端一个为datain[15..0],另一个 为数码管显示选择的扫描频率输入端clk,输出端为数码管选择信号 com[3..0]和对应显示的数码管的BCD码信号端dataout[3..0],数码管显 示选择随扫描频率clk循环变化,实现稳定显示。
容 换。当频率小于1kHz时,系统选择1s的闸门时间,当频率
及任 大于等于1kHz时,在下一次测量时,选择0.1s的闸门时
务 间。 5、采用记忆显示方式,即在计数过程中不显示测试
数据,待技术过程结束后显示测试结果,并将此结果保持
到下一次计数结束。显示时间不小于1s。
三、设计工作量
2周完成
2010/12/14 集体针对设计进行分析、讨论,确定好分 工,明确设计进度,以及对设计总体上有个了解。
clr_cnt<='1';
--当div2clk与clk同时为零时计数器清

else clr_cnt<='0'; --当div2clk处于的高电平时计数器计数
end if;
end process;
load<=not div2clk; --锁存器输出与计数器使能信号反相
tsten<=div2clk;
end art;
lpm_counter_component : lpm_counter
generic map (
lpm_direction => "up",
lpm_port_updown => "port_unused",
lpm_type => "lpm_counter",
lpm_width => 27
)
port map (
言实现数字频率计的整体设计。
二、设计任务

主要内容:

设计一个数字显示的频率计

主要任务:
1、频率计采用三位数码管显示。

2、频率测量范围为1Hz~999Hz,并有溢出指示。

3、频率计设有1~999Hz和1~999kHz两个量程,并用
内 LED指示。 4、频率计能根据测试信号的频率进行量程自动切
本课题采用了自下而上的设计方法,根据系统对硬件的要求,画
出系统控制流程图;然后根据控制流程图,分化模块,利用模块实现 功能;最后进行仿真和调试。
每个成功的背后都要面对无数次的失败,这次课设也不例外。虽 然遇到不少问题与困难,但通过老师以及同学的帮助,都一一得到顺 利地解决。我想这必定会为将来的实践积累宝贵的经验和教训。
2、潘松、王国栋 主编.《VHDL应用教程》电子科技大学 参考 出版社,2000 资料
3、甘历 主编.《VHDL应用于开发实践》科学出版社,
2003
4、刘爱荣 主编.《EDA技术与CPLD/FPGA开发应用简明教 程》.清华大学出版社,2007
一、设计背景
随着数字电子技术的发展,频率测量成为一项越来越普遍的工 作,因此测频计常受到人们的青睐。目前许多高精度的数字频率计都 采用单片机加上外部的高速计数器来实现,然而单片机的时钟频率不 高导致测频速度比较慢,并且在这种设计中,由于PCB版的集成度不 高,导致PCB板走线长,因此难以提高计数器的工作频率。为了克服 这种缺点,大大提高测量精度和速度,我们可以设计一种可编程逻辑 器件来实现数字频率计。
begin
process(clk)
begin
if clk'event and clk='1'then
div2clk<=not div2clk; --div2clk为2Hz
end if ;
end process;
process (clk ,div2clk)
begin
if( clk='0'and div2clk='0')then
数字式频率计的测量原理有两类:一是直接测频法,即在一定闸 门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如 周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数 器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短 在达到不同的测量精度;间接测频法适用于低频信号的频率测量。
伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐 渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多 领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的 技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机 科学领域的大多数最新研究成果,以高性能的计算机作为工作平台, 促进了工程发展。EDA的一个重要特征就是使用硬件描述语言 (HDL)来完成的设计文件,VHDL语言是经IEEE确认的标准硬件语 言,在电子设计领域受到了广泛的接受。
相关文档
最新文档