简述基于QuartusⅡ设计的频率计

合集下载

基于FPGA的数字频率计实验报告(能测占空比)

基于FPGA的数字频率计实验报告(能测占空比)

基于FPGA的数字频率计设计学院:专业:班级:姓名:学号:审阅老师:评分:目录一、课程设计目的 (3)二、设计任务 (3)三、功能要求与技术指标 (3)四、数字频率计工作原理概述 (3)五.数字频率计实现方法 (4)六.结论与误差分析 (11)七.VHDL程序: (12)一、课程设计目的熟悉EDA工具,掌握用VHDL语言进行数字系统设计的基本方法和流程,提高工程实践能力。

二、设计任务设计一数字频率计,用VHDL语言描述,用QuartusII工具编译和综合,并在实验板上实现。

三、功能要求与技术指标1.基本功能要求(1)能够测量出方波的频率,其范围50Hz~50KHz。

(2)要求测量的频率绝对误差±5Hz。

(3)将测量出的频率以十进制格式在实验板上的4个数码管上显示。

(4)测量响应时间小于等于10秒。

以上(1)~(4)基本功能要求均需实现。

2.发挥部分(1)提高测量频率范围,如10Hz~100KHz或更高、更低频率,提高频率的测量绝对值误差,如达到±1Hz。

(2)可以设置量程分档显示,如X1档(显示范围1Hz~9999Hz),X10档(显示范围0.001KHz~9.999KHz),X100档(显示范围0.100KHz~999.9KHz)...可以自定义各档位的范围。

量程选择可以通过按键选择,也可以通过程序自动选择量程。

(3)若是方波能够测量方波的占空比,并通过数码管显示。

以上(1)~(3)发挥功能可选择实现其中的若干项。

四、数字频率计工作原理概述1.数字频率计简介在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。

而数字频率计是采用数字电路制成的实现对周期性变化信号的频率的测量。

2.常用频率测量方法:方案一采用周期法。

通过测量待测信号的周期并求其倒数,需要有标准倍的频率,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为±1个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。

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)引言频率测量是电子测量的重要领域。

简述基于QuartusⅡ设计的频率计

简述基于QuartusⅡ设计的频率计

重庆师范大学期末考核提交材料课程名称: EDA原理及应用院系:物理与电子工程学院时间: 2012—2013学年度第2学期专业:电子信息科学与技术(职教师资)年级: 2011级培养层次:本科学生姓名:学号:成绩:基于QuartusⅡ设计的频率计摘要:计数器在数字电路中有着广泛的应用,现提出一种计数器设计穿插在电子电路设计的教学方法,使学生能够快速地根据现有的数字电路知识转化到EDA 的应用。

关键词频率计;电子设计自动化;Verilog0 引言:随着EDA技术的发展和应用领域的扩大,EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。

同时,随着技术市场对EDA技术需求的不断提高,产品的市场效率和技术要求也必然会反映到数学和科研领域中来。

以最近的十届全国大学生电子设计竞赛为例,涉及EDA技术的赛题从未缺席过。

对诸如斯坦福大学、麻省理工学院等美国一些著名院校的电子与计算机实验室建设情况的调研表明,其EDA技术的教学与实践的内容也十分密集;在其本科和研究生教学中有两个明显的特点:其一,各专业中EDA教学实验课程的普及率和渗透率极高;其二,几乎所有实验项目都部分或全部地融入了EDA技术,其中包括数字电路、计算机组成与设计、计算机接口技术、数字通信技术、嵌入式系统、DSP等实验内容,并且更多地注重创新性实验。

这显然是科技发展和市场需求双重影响下自然产生的结果。

1.QuartusⅡ简介:QuartusⅡ是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大的可编程逻辑器件供应商之一。

QuartusⅡ在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plusⅡ的更新换代产品,其界面友好,使用便捷。

2.计数器设计这里首先设计测频用的、含时钟使能控制的2位十进制计数器。

2.1:设计电路原理图。

频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。

基于QUARTUS的EDA课程设计数字频率计的仿真

基于QUARTUS的EDA课程设计数字频率计的仿真

成绩评定表课程设计任务书目录1.设计要求 (2)2、设计目的 (2)3.总体设计思路及解决方案 (2)3.1相关知识 (2)3.3、设计思路及解决方案 (4)4.分层次方案设计及代码描述 (5)4.1.底层程序源码 (5)4.2顶层程序源码 (10)5.各模块的时序仿真结果 (12)6.设计心得 (15)数字频率计课程设计1.设计要求设计一个四位十进制的数字频率计。

要求具有以下功能:(1)测量范围:1HZ~10HZ。

(2) 测量误差≤1/(3)响应时间≤15s。

(4)显示时间不小于1s。

(5)具有记忆显示的功能。

即在测量过程中不刷新数据。

等数据过程结束后才显示测量结果。

给出待测信号的频率值。

并保存到下一次测量结束。

(6)包括时基产生与测评时序控制电路模块。

以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。

2、设计目的通过综合性课程设计题目的完成过程,运用所学EDA知识,解决生活中遇到的实际问题,达到活学活用,所学为所用的目的,进一步理解EDA的学习目的,提高实际应用水平。

本次设计的数字频率计具有精度高、使用方便、测量迅速、便于实现测量过程自动化等优点,是频率测量的重要手段之一。

数字频率计主要包括时基产生与测评时序控制电路模块、待测信号脉冲计数电路、译码显示与锁存控制电路模块。

3.总体设计思路及解决方案3.1相关知识Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用T cl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

VHDL频率计设计

VHDL频率计设计

VHDL频率计设计数字频率计是利用EDA技术设计的被测信号频率的一种测量工具。

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

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

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

本设计介绍了一种自顶向下分层设计多功能十进制显示的数字频率计。

该频率计采用VHDL硬件描述语言编程, Quartus II为开发环境,极大地减少了硬件资源的占用。

该数字频率计的测量范围为lHz~10KHz,响应时间小于等于15秒;其测试结果由4只七段数码管稳定显示,测量误差小于等于1%。

由仿真波形与分析结果表明,所设计的电路通过硬件仿真能够满足数字频率计的功能要求,具有理论与实践意义,实现了电子电路自动化的过程。

数字频率计模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期,方便移植。

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

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

目录1引言 (v)2概述 (1)2.1 设计概述 (1)2.2设计内容 (1)2.3 设计原理 (1)2.4 设计功能 (2)3技术与开发工具 (3)3.1 VHDL简介 (3)3.1.1简介 (3)3.1.2 VHDL程序组成部分 (4)3.1.3 VHDL系统优势 (5)3.2 Quartus II (5)3.2.1 软件简介 (5)3.2.2 软件功能 (5)3.2.3设计流程 (6)4 系统分析 (7)4.1数字频率计的设计任务及要求 (7)4.2 模块的划分 (7)4.3设计分析 (8)5各功能模块基于VHDL的设计 (9)5.1 时基产生与测频时序控制电路模块的VHDL源程序 (9)5.2 待测信号脉冲计数电路模块的VHDL源程序 (10)5.2.1 十进制加法计数器的VHDL源程序 (10)5.2.2待测信号脉冲计数器的VHDL源程序 (12)5.3 锁存与译码显示控制电路模块的VHDL源程序 (12)5.3.1 译码显示电路的VHDL源程序 (12)5.3.2 锁存与译码显示控制模块的VHDL源程序 (12)5.4 顶层电路的VHDL源程序 (13)6 数字频率计波形仿真 (15)6.1 时基产生与测频时序控制电路模块的仿真 (15)6.2 待测信号脉冲计数电路模块的仿真 (15)6.2.1 十进制加法计数器的仿真 (15)6.2.2待测信号脉冲计数器的仿真 (16)6.3 锁存与译码显示控制电路模块的仿真 (16)6.3.1 译码显示电路的仿真 (16)6.3.2 锁存与译码显示控制模块的仿真 (17)6.4 数字频率计系统的仿真 (18)结论 (19)1引言所谓频率,就是周期性信号在单位时间(1s)里变化的次数。

基于PROTEUS的频率计的设计

基于PROTEUS的频率计的设计

摘要在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。

频率计可以用纯硬件电路搭制。

本文设计了一种以单片机AT89C52为核心的数字频率计,其中硬件部分主要是由整形电路、单片机最小系统和显示单元组成的,软件设计是由一些功能模块来实现的,例如有初始化模块、数据显示模块等等。

此外,通过控制单片机的各项功能和运算操作能力进而来实现周期和频率间的计数和数据的保存。

通过这样的设计能测量频率10Hz-10kHz,这既达到了设计所要求的频率测量范围,又达到了较高的精确度。

测量时,将被测输入信号送给单片机,通过程序控制计数,结果送数码管显示频率值。

本设计中的频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号,能基本满足一般情况下的需求,既保证了测频精度,又使系统具有较好的实时性,并且本频率计设计简洁,便于携带,扩展能力强,适用范围广。

另外,由于本设计采用了模块化的设计方法,提高了测量频率的范围,并且本次设计包括硬件画图和软件程序编写。

关键词:频率测量,频率计,单片机,LED显示ABSTRACTAmong electronic technology, frequency is one of the most basic parameters,and result of measuring have a very close relation to a lot of electric parameters, so the measurement of frequency seems even more important. Frequency counter can take the system with pure hardware circuitry.Based on single-chip processor digital frequency of thousands of design and implementation Abstract This article proposes plan design digital frequency meter, highlighting the design taking monolithic integrated circuit AT89C52 as the control core. The hardware partially is composed by the shaping circuit 、the smallest system of microcontroller and the data display electric circuit; The software design is achieved by many functional modules, such as the signal frequency measurement module、the data display module and so on. What's more ,achieving counting function and conversion between cycle and frequency by using control functions and mathematics operation ability of microcontroller. Like these the survey scope can achieve 10Hz-10kHz, both can reach the frequency range requirements designed,and the measuring accuracy high。

基于quartus2十六进制8位数码管扫描显示频率计设计

基于quartus2十六进制8位数码管扫描显示频率计设计

Ftctrl时钟控制模块的vhdl代码:(clkk一定要是1s周期脉冲啊,没有的话就拿分频器分频) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL ISPORT (CLKK : IN STD_LOGIC;CNT_EN : OUT STD_LOGIC;RST_CNT: OUT STD_LOGIC;Load : OUT STD_LOGIC);END FTCTRL;ARCHITECTURE behav OF FTCTRL ISSIGNAL Div2CLK : STD_LOGIC;BEGINPROCESS ( CLKK ) BEGINIF CLKK'EVENT AND CLKK = '1' THENDiv2CLK <= NOT Div2CLK;END IF;END PROCESS;PROCESS (CLKK ,Div2CLK) BEGINIF CLKK='0' AND Div2CLK='0' THEN RST_CNT<='1';ELSE RST_CNT <='0'; END IF;END PROCESS;Load <= NOT Div2CLK; CNT_EN <=Div2CLK;END behav;4位计数器cnt4b的vhdl代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B ISPORT (Fin,CLR,ENABL: IN STD_LOGIC;DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT4B;ARCHITECTURE behav OF CNT4B ISBEGINPROCESS(Fin,CLR,ENABL)VARIABLE Q : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF CLR='1' THEN Q := (OTHERS=>'0');ELSIF Fin'EVENT AND Fin='1' THENIF ENABL='1' THENIF Q<15 THEN Q :=Q+1;ELSE Q := (OTHERS=>'0');END IF;END IF;END IF;IF Q="1111" THEN COUT<='1';ELSE COUT<='0'; END IF;DOUT <= Q;END PROCESS;END behav;分频器模块fp的vhdl代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp ISPORT( inclk : IN STD_LOGIC;outclk : OUT STD_LOGIC);END fp;ARCHITECTURE a OF fp ISSIGNAL fp : STD_LOGIC_VECTOR(3 downto 0);SIGNAL f : STD_LOGIC;BEGINPROCESS(inclk)BEGINIF inclk'event and inclk='0' THENIF fp=4then fp<="0000"; f<=not f;ELSE fp<=fp+1;END IF; --“4”那里自己改,outclk频率是inclk频率的1/[2*(4+1)] END IF;END PROCESS;outclk<=f;END a;---------------------------------------------------------------------------------------------------------------------------------缓存信号输出模块topreg32b的vhdl代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TOPREG32B ISPORT (LK : IN STD_LOGIC;DIN :IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT1 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END TOPREG32B;ARCHITECTURE ONE OF TOPREG32B ISSIGNAL Q0 : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL H1 : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINA:PROCESS (LK)VARIABLE H : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF LK='1' AND LK'EVENT THENIF H<=7 THEN H:=H+1;DOUT0<=Q0;DOUT1<=Q1;ELSE H:= (OTHERS=>'0');END IF;END IF;H1<=H;END PROCESS A ;B:PROCESS (H1,DIN)BEGINCASE H1 ISWHEN "000"=>Q0<=DIN(3 DOWNTO 0);Q1<=(OTHERS=>'0'); WHEN "001"=>Q0<=DIN(7 DOWNTO 4);Q1<=(OTHERS=>'0'); WHEN "010"=>Q0<=DIN(11 DOWNTO 8);Q1<=(OTHERS=>'0'); WHEN "011"=>Q0<=DIN(15 DOWNTO 12);Q1<=(OTHERS=>'0'); WHEN "100"=>Q1<=DIN(19 DOWNTO 16);Q0<=(OTHERS=>'0'); WHEN "101"=>Q1<=DIN(23 DOWNTO 20);Q0<=(OTHERS=>'0'); WHEN "110"=>Q1<=DIN(27 DOWNTO 24);Q0<=(OTHERS=>'0'); WHEN "111"=>Q1<=DIN(31 DOWNTO 28);Q0<=(OTHERS=>'0'); WHEN OTHERS => NULL;END CASE;END PROCESS B;END ONE;数码管decoder译码模块的vhdl代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decoder isport(a : in std_logic_vector(3 downto 0);clk : in std_logic;led7s : out std_logic_vector(6 downto 0);K : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));end;architecture one of decoder issignal h1: std_logic_vector(2 downto 0);signal k1 : std_logic_vector( 8 downto 0);beginD:process(a)begincase a iswhen"0000"=>led7s<="0111111"; when"0001"=>led7s<="0000110"; when"0010"=>led7s<="1011011"; when"0011"=>led7s<="1001111"; when"0100"=>led7s<="1100110"; when"0101"=>led7s<="1101101"; when"0110"=>led7s<="1111101"; when"0111"=>led7s<="0000111"; when"1000"=>led7s<="1111111"; when"1001"=>led7s<="1101111"; when"1010"=>led7s<="1111100"; when"1011"=>led7s<="0111111"; when"1100"=>led7s<="0111001"; when"1101"=>led7s<="1011110"; when"1110"=>led7s<="1111001"; when"1111"=>led7s<="1110001";when others=>null;end case;end process D;B:PROCESS (clk)VARIABLE H : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINIF cLK='1' AND cLK'EVENT THENIF H<=7 THEN H:=H+1;ELSE H:= (OTHERS=>'0');END IF;END IF;H1<=H;END PROCESS B ;C:PROCESS (H1)BEGINCASE H1 ISWHEN "000"=>K1<="000000001";WHEN "001"=>K1<="000000010";WHEN "010"=>K1<="000000100";WHEN "011"=>K1<="000001000";WHEN "100"=>K1<="000010000";WHEN "101"=>K1<="000100000";WHEN "110"=>K1<="001000000";WHEN "111"=>K1<="010000000";WHEN OTHERS => NULL;END CASE;END PROCESS C;k<=k1(8 downto 1);end;然后上顶层文件原理图:--------------------------------------------------------------------------------------------------------------------------------- 不知道啥是cnt32b?那是由8个cnt4b计数器组成的。

[精品]EDA课程的设计简易频率计的设计

[精品]EDA课程的设计简易频率计的设计

目录摘要 (1)一、简易数字频率计设计原理 (2)1.1基本原理 (2)1.2原理框图 (2)二、各模块程序及仿真 (4)2.1信号处理模块_verilog: (4)2.2计数器模块: (5)2.3信号显示处理 (7)三、仿真结果分析 (10)总结与致谢 (13)参考文献 (14)摘要EDA技术是以硬件语言为主要的描述方式,以EDA软件为主要的设计软件,以大规模课编程逻辑器件为载体的数字电路的设计过程。

其设计的灵活性使得EDA技术得以快速发展和广泛应用。

本设计以QuartusⅡ软件为设计平台,采用Verilog HDL语言现数字频率计的整体设计。

电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域,电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。

EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,在电子设计领域受到了广泛的接受。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,有硬件描述语言Verilog HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作,最终形成集成电子系统或专业集成芯片的一门新技术。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

关键词:EDA;QuartusⅡ;Verilog HDL一、简易数字频率计设计原理1.1基本原理数字频率计的主要功能是测量周期信号的频率。

频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。

频率是单位时间(1秒)内方波信号发生周期变化的次数。

在给定的1秒时间内对方波信号波形计数,并将所计数值显示出来,就能读取被测信号的频率。

基于EDA软件QuartusII的数字频率计的设计

基于EDA软件QuartusII的数字频率计的设计

基于E D A软件Q u a r t u s I I 的 数字频 率计的设计
钱 虹 凌
( 大同大学 T程实 圳『 f l 心. 1 J 人 I 0 3 7 0 ( } 3 )
摘 要 : 介 绍 了 基 于 Al t e r a公 司 开 发 的 Q L 1  ̄ . I r l us l I EI ) A 软 件 , 该 软 件 是 片 上 可 编 程 系 统 设 计 的 综
CI KS TAD( 5 M) 连 接 到 7段 译 码 器 稳 定 显 示 输 入
时钟 信 号 . 为了使 得稳 定 显示功 能 实现 . 该 5 M 信 被 分 频为 3 0 0 Hz信 . 本 系 统 通 过 加 法 汁 数 器 来 产 , l : 该 3 0 0 H z信 号 , 并 且 由它 来 产 生 位 选 信 号 , 具 体 程 序 及分 析 见下 文 。选 取 3 0 0 Hz信 号 足 闪 为 扫 描
牛 器 TES r r CTI , 八 个 十进 制 汁数 器 【 、 NT1 0:, 一 个 3 2位 锁 存 器 RE G3 2 B, 7段 译 码 器 输 f { = { 选 择 、
效果 . 而 H . 显 示 也小闪烁 。当时 钟信 号 为 5 M Hz 时. 最 后 每 个 示 扫 描 信 频 率 为 : 3 0 0 / 6— 5 0> 2 4 Hz , 所 以 会 有 闪 烁 情 形 产 生 。
合 性 环境 , 以数 字 频 率 计 的 设 计 为 例 . 介 绍该 软件 的层 次化 设计 使 用方 法 。 关键 词 : Qu a r l us I I ; EI ) A; VH DI ; 层次化 设计 ; 数 字 频 率 计
中 图分类 号 : TP3 文献 标 识码 : A 文章 编号 : l ( ) ( ) 7

基于QuartusⅡ软件平台的八位数字频率计设计

基于QuartusⅡ软件平台的八位数字频率计设计

频率测量 的基本 原理是计算每秒 内待测信 号
的脉冲个数 。本设计采用 直接测频法 , 当系统正常工 作时 , 输人 1 z H 的门控信号 , 经过测频控制信 号发生器 进行信号 的变换 2分频产生脉宽 为 1 的计数信号 , s 被 测信号通过整形 电路整 形处 理 , 产生 同一频 率技 术 学 院 学报
J u a fLu h c t n lT c n lg ol g o r lo o e Vo a i a e h oo y C l e n o e
V0 . 0 No. 】1 2
Ma . 0 1 r2 1
2 1年 3 月 01
夺 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ > 夺 ・ 夺 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 夺 夺 夺 夺 夺 夺 夺 寺 夺 夺 ÷ 夺 争 争 ÷ 幸 孛 夺 幸 夺 夺 夺 专 夺 夺 寺 争 孛 夺 夺 夺 - ・ { ・ 夺 夺 夺 夺 夺 夺 夺 夺 夺 4
波 , 人 计 数模 块 , 数模 块 在 单 位 时 间 内对 输 入 的 矩 送 计
出不同的底层功能模块 , 后再把这 模 块用元件 例 然
化 语 句组 装 起 来 , 可生 成 具 有 一 定 功 能 的 器 件 , 计 便 设
自由 , 作 方 便 。 操 文 中 介 绍 了 在 Q a u Ⅱ软 件 平 台 上 应 用 V D ur s t H L 文本 输 入 设 计 方 法 实现 八 位 十 进 制 数 字 频 率 计 。采 用
E A技术 配合 Q at 开发 软件的设计 方式改变 了 D ur sl ui 采用 中小规模集成 电路实现 时的器件 多、 靠性性等 可 缺点 , 且它的开发周期 短 , 在硬件 电路不变 时 , 通过修

基于FPGA的高精度频率计设计

基于FPGA的高精度频率计设计

基于FPGA的高精度频率计设计摘要频率计是一种应用非常广泛的电子仪器,也是电子测量领域中的一项重要内容,而高精度的频率计的应用尤为广泛。

目前宽范围、高精度数字式频率计的设计方法大都采用单片机加高速、专用计数器芯片来实现。

传统的频率测量利用分立器件比较麻烦,精度又比较低,输入信号要求过高,很不利于高性能场合应用。

本论文完成了高精度数字频率计硬件设计和软件设计。

该数字频率计主要包括FPGA和单片机两大部分。

其中FPGA部分又可分为数据测量模块、FPGA和单片机接口模块、FPGA和数码管动态扫描部分。

FPGA部分采用verilog语言编写了电路的各模块电路,选用了当前比较流行的EDA开发软件Quartus II作为开发平台,所有模块程序均通过了编译和功能仿真验证。

对测频系统的设计流程、模型的建立和仿真做出了具体详细的研究,验证了该系统的正确性。

单片机部分采用C51编写了控制软件。

本设计中以FPGA器件作为系统控制的核心,其灵活的现场可更改性,可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上还可以进一步提高系统的性能。

关键词:频率计,单片机,FPGA,电子设计自动化Design of High-accuracy Digital Frequency MeterBased on FPGAABSTRACTFrequency meter is a kind of electronic instrument applied widely. A kind of high-accuracy digital frequency meter is designed based on FPGA in this paper.At present extends the scope,the high accuracy digital frequency meter's design method to use the monolithic integrated circuit to add, the special-purpose counter chip mostly to realize high speed.The design of system hardware and system software is accomplished in the paper. System consists of FGPA and MCU. The circuit based on FPGA includes following some parts: data acquisition module, interface between FPGA and MCU, module scanning number tube. Every circuit module is realized by verilog.The platform of development is Quartus II and all modules procedure is demonstrated by compiling and simulation. Detailed research of design flow, model establishment and system simulation is done. The correctness of the system is demonstrated. The software based on MCU is programmed by C51.In this design takes the systems control by the FPGA component the core, its nimble scene alterability, may dispose ability again, is convenient to system's each kind of improvement, in does not change in hardware circuit's foundation also to be possible to further enhance system's performance.The system has the advantage of high-accuracy and convenience. It’s practicability of frequency meter is well.KEY WORDS: Frequency meter, MCU, FPGA, electronic design automation目录摘要........................................................................................................................................ I ABSTRACT .............................................................................................................................. I I 第1章绪论 (1)1.1研究背景及意义 (1)1.2国内外研究现状 (1)1.2.1 频率计的测量方法 (1)1.3EDA技术简介 (3)1.4本论文内容及安排 (4)第2章频率测量方法与原理 (6)2.1直接测频法 (6)2.2利用电路的频率特性进行测量 (7)2.2.1 电桥法测频 (8)2.2.2 谐振法测频 (8)2.2.3 频率—电压转换法测频 (8)2.3等精度测量法 (8)2.4本章小结 (10)第3章系统总体设计方案 (11)3.1频率计系统设计任务与分析 (11)3.1.1 频率计系统设计任务要求 (11)3.1.2 频率计系统设计任务分析 (11)3.2系统总体设计方案 (11)3.3FPGA内部功能模块设计 (12)3.4本章小结 (14)第4章系统的硬件电路设计 (15)4.1FPGA部分的硬件设计 (15)4.1.1 FPGA简介 (15)4.1.2 FPGA芯片的选型 (15)4.2单片机部分的硬件电路设计 (17)4.2.1 单片机的选型原则 (17)4.2.2 单片机控制电路的设计 (18)4.3外围电路设计 (19)4.3.1 键盘接口电路 (19)4.3.2 显示电路 (19)4.3.3 电源电路 (20)4.3.4 信号放大整形电路 (20)4.3.4 其它电路 (21)4.4本章小结 (22)第5章系统的软件设计 (23)5.1VERILOG HDL语言简介 (23)5.2QUARTUS II软件简介 (24)5.3基于EDA技术的设计方法 (25)5.3.1 自底向上的设计方法 (25)5.3.2 自顶向下的设计方法 (26)5.4FPGA内部功能模块设计 (26)5.4.1 D触发器模块 (27)5.4.2 32位高速计数器模块 (28)5.4.3 二选一选择器模块 (29)5.4.4 并—串转换接口模块 (31)5.4.5 串—并转换接口模块 (31)5.4.6 二进制数到8421BCD码转换模块 (32)5.4.7 LED动态扫描显示控制模块 (33)5.5单片机部分的软件设计 (35)5.6本章小结 (36)第6章结论 (37)致谢 (39)参考文献 (40)附录I 顶层原理图 (42)附录II VERILOG程序源代码 (43)基于FPGA的高精度频率计设计 1第1章绪论1.1 研究背景及意义在电子测量技术领域内,频率是一个最基本的参数。

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;。

数字频率计设计(使用VHDL语言)

数字频率计设计(使用VHDL语言)

实验报告\
一、实验目的
设计数字频率计,学习较复杂数字系统设计方法。

二、实验内容
设计八位数码显示频率计P228
三、实验环境
计算机、QuartusII软件
四、实验步骤
1、子模块FTCTRL(用于产生控制信号) (1)程序代码
(2)仿真结果
2
、子模块COUNTER32B (用于计数)
(1)程序代码
(2)仿真结果
(3)结果分析
当使能信号ENABLE=‘1’时,允许计数。

当CLR=‘1’时重新计数
3、子模块REG32B(输出数据)
(1)程序代码
(2)仿真结果
(3)结果分析
当LK=’1’时,输出当前数据DIN,否则不做处理。

4、子模块SHOW
(1)程序代码
(2)仿真结果
(3)结果分析
当S=‘0’时,载入数据DATA,否则将数据DATA左移4位。

每次上升沿,SHOW1输出数据的高四位。

综合模块:
五、实验结果与讨论
这个实验花了比较多的时间,在做计数器的时候由于没有考虑到最后使用的是二进制显示的,所以在转换的时候遇到了不少的问题,最后
新亏有老师帮我想了办法解决。

基于某QUARTUS地EDA课程设计数字频率计地仿真

基于某QUARTUS地EDA课程设计数字频率计地仿真

成绩评定表课程设计任务书目录1.设计要求 (2)2、设计目的 (2)3.总体设计思路及解决方案 (2)3.1相关知识 (2)3.3、设计思路及解决方案 (4)4.分层次方案设计及代码描述 (5)4.1.底层程序源码 (5)4.2顶层程序源码 (10)5.各模块的时序仿真结果 (12)6.设计心得 (15)数字频率计课程设计1.设计要求设计一个四位十进制的数字频率计。

要求具有以下功能:(1)测量围:1HZ~10HZ。

(2) 测量误差≤1/(3)响应时间≤15s。

(4)显示时间不小于1s。

(5)具有记忆显示的功能。

即在测量过程中不刷新数据。

等数据过程结束后才显示测量结果。

给出待测信号的频率值。

并保存到下一次测量结束。

(6)包括时基产生与测评时序控制电路模块。

以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。

2、设计目的通过综合性课程设计题目的完成过程,运用所学EDA知识,解决生活中遇到的实际问题,达到活学活用,所学为所用的目的,进一步理解EDA的学习目的,提高实际应用水平。

本次设计的数字频率计具有精度高、使用方便、测量迅速、便于实现测量过程自动化等优点,是频率测量的重要手段之一。

数字频率计主要包括时基产生与测评时序控制电路模块、待测信号脉冲计数电路、译码显示与锁存控制电路模块。

3.总体设计思路及解决方案3.1相关知识Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程。

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

EDA实验四数字频率计实验报告

EDA实验四数字频率计实验报告

EDA技术与应用实验报告学院:电气与信息工程学院班级:指导老师:谭会生老师姓名:学号:实验四:数字频率计的设计一.实验目的(1)熟悉artus I/ISE Suite/ispLEVNRI软件的基本使用方法。

(2)熟悉和掌握GW48-CK或其他EDA实验开发系统的使用。

(3)学习VHDL程序中数据对象、数据类型、顺序语句和并行语句的综合使用。

二.实验条件与要求(1)开发软件:Quartus II 9.0(2)实验设备:PC、GW48-CK EDA实验开发系统。

(3)画出系统的原理框图,说明系统中各个主要功能、编写各个VHDL源程序。

画出输入信号波形并调试和仿真。

三.实验内容设计并调试好八位十进制数字频率计,用GW48-CK实验开发系统进行硬件验证(实现应选择拟采用的实验芯片的型号)进行硬件验证。

四.实验设计(1)VHDL源程序1、8位可自加载加法计数器的源程序CNT10.VHD如下--CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CNT10 ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;ENA:IN STD_LOGIC;CQ:OUT INTEGER RANGE 0 TO 15;CO:OUT STD_LOGIC);END ENTITY CNT10;ARCHITECTURE ART OF CNT10 ISSIGNAL CQI:INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA) ISBEGINIF CLR='1'THEN CQI<=0;ELSIF CLK'EVENT AND CLK='1'THENIF ENA='1'THENIF CQI<9 THEN CQI<=CQI+1;ELSE CQI<=0;END IF;END IF;END IF;END PROCESS; PROCESS(CQI) ISBEGINIF CQI=9 THEN CO<='1'; ELSE CO<='0';END IF;END PROCESS;CQ<=CQI;END ARCHITECTURE ART;(3).完成设计文件输入后,保存文件,对文件进行编译和仿真。

基于Quartus Ⅱ的两种数字频率计的设计与比较

基于Quartus Ⅱ的两种数字频率计的设计与比较
维普资讯
18 6



Байду номын сангаас脑
20 0 8年第 6 期
基于 Q ats I ur 的两种数字频率计 的设计 与 比较 uI
曾永 西
(泉 州师 范学 院 理 工 学 院 福 建 泉 州 3 20 6 1 0) 3
【 摘 要】 :文 中提 出了基 于 Q ats ur Ⅱ的两种数字频率计的设计与比较 分 别 采 用原 理 图输 入 和 V L文 本输 入 两种 u HD 设 计 方 法 ,给 出设 计的 部 分 代 码 ,在 Q atsI ur I上对 设 计 进 行 全 程 编 译 和 仿 真 并 在 A T R 公 司 的 F G 器 件 u LE A P A
都涉及到或可以转化为频率的测量 。传统 的数字频率计一般 由 般 计 数 允 许 时 问是 l .计 数 的结 果 直 接 反 映 信 号 的频 率大 S 分 立元 件 组 合而 成 , 测量 范 围 、 其 测量 精 度 和 测 量速 度 均 受 到 较 小 , 果 对 测 频 的反 应 速 度 有所 要求 . 以合 理 控 制 计 数允 许 时 如 可 大 的限 制 。 片 机 的 发展 与应 用 改 善 了这 种 情 况 [】 由 于单 片 间 , 对计 数 结 果进 行 相 应 的 数学 运 算 后 再输 出到 显 示 模 块 : 单 1. _但 3 再 显
方便[ 4 ] 。


F -
,= c
蒌~
图 2 原 理 图设 计 的顶 层 文 件 框 图
文 中在 Q  ̄ u I 发 环 境 下 .运 用 原 理 图输 入 和 V D u s 开 I H L 输 入两 种 设 计 方法 对 数 字频 率 计 进 行设 计 .对 两 种设 计 分 别 在 Q a I 上 进 行 全 程 编 译 和 仿 真 .并 通 过 G 8系列 E A 实 ut I  ̄ W4 D 验开发系统在 A T R 公司 的 F G LE A P A器 件 E 1 3 P K 呲 l4 3上 4—

基于EDA软件QuartusII的数字频率计的设计

基于EDA软件QuartusII的数字频率计的设计

基于EDA软件QuartusII的数字频率计的设计
基于EDA软件QuartusII的数字频率计的设计
钱虹凌
【期刊名称】《内蒙古科技与经济》
【年(卷),期】2017(000)011
【摘要】介绍了基于Altera公司开发的QuartusII EDA 软件,该软件是片上可编程系统设计的综合性环境,以数字频率计的设计为例,介绍该软件的层次化设计使用方法.
【总页数】3页(90-92)
【关键词】QuartusII;EDA;VHDL;层次化设计;数字频率计
【作者】钱虹凌
【作者单位】大同大学工程实训中心,山西大同 037003
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于EDA的数字频率计电路设计 [J], 肖安南; 张东
2.基于QuartusⅡ软件平台的八位数字频率计设计 [J], 骆舒萍
3.基于FPGA自适应数字频率计的设计 [J], 陈尚志; 胡荣强; 胡合松
4.一种基于VHDL语言数字频率计的设计与实现 [J], 谢煜; 黄为
5.基于VHDL的数字频率计的设计与实现 [J], 王戎丞; 陈可中; 明鑫
以上内容为文献基本信息,获取文献全文请下载。

4位十进制频率计设计

4位十进制频率计设计

一、实验目的1.利用在quartus ii中用VHDL设计一个4位十进制频率计;2.了解且掌握频率计各模块的设计方法和复杂数字系统的设计方法。

二、实验原理根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的脉冲计数允许信号,1秒计数结束后,计数值(即所测信号频率)锁入锁存器,并为下一次测频作准备,即将计数器清零。

三、实验内容根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的脉冲计数允许信号,1秒计数结束后,计数值(即所测信号频率)锁入锁存器,并为下一次测频作准备,即将计数器清零。

四、实验步骤用VHDL硬件描述语言进行模块电路的设计(1)10进制计数器建立十进制计数器模块图如图1图1仿真波形图如图2:图2ena为高电平时,允许计数,当rst为高电平时重新开始计数,输出为9时自动进位。

(2)4位10进计数器建立4位十进制计数器模块图如图3图3波形图如图4图4如图所示,当rst为高电平时重新开始计数,当有上升沿高电平时输出自动加一,直到9999. (3)16位锁存器建立锁存器模块图如图5图5波形图如图6图6Ena 为高电平时候,允许数据锁存(4)LED控制模块建立LED控制模块图图7图7仿真波形图如图8图8如图8所示,D为4时候,A输出为1100110,D为0时候,A输出为0111111,即为控制LED各管的显示电平(5)控制模块控制分频的模块图图9图9 仿真波形图如图10图9 (6)顶层模块语句仿真波形输入CLK为1HZ脉冲,FX为3HZ时钟信号。

根据程序设计,每七位对应一个数码管,从高到低排列即为(0111111)(0111111)(0111111)(0111111),数码管显示10进制数为0000 结果分析:FX若改为10HZ时钟信号将实现数码管显示10进制数。

四、实验总结(1)从原理图来看,原理图可以分四个模块:十进制计数器,控制模块,锁存器,译码器输出模块。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆师范大学期末考核提交材料课程名称: EDA原理及应用院系:物理与电子工程学院时间: 2012—2013学年度第2学期专业:电子信息科学与技术(职教师资)年级: 2011级培养层次:本科学生姓名:学号:成绩:基于QuartusⅡ设计的频率计摘要:计数器在数字电路中有着广泛的应用,现提出一种计数器设计穿插在电子电路设计的教学方法,使学生能够快速地根据现有的数字电路知识转化到EDA 的应用。

关键词频率计;电子设计自动化;Verilog0 引言:随着EDA技术的发展和应用领域的扩大,EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。

同时,随着技术市场对EDA技术需求的不断提高,产品的市场效率和技术要求也必然会反映到数学和科研领域中来。

以最近的十届全国大学生电子设计竞赛为例,涉及EDA技术的赛题从未缺席过。

对诸如斯坦福大学、麻省理工学院等美国一些著名院校的电子与计算机实验室建设情况的调研表明,其EDA技术的教学与实践的内容也十分密集;在其本科和研究生教学中有两个明显的特点:其一,各专业中EDA教学实验课程的普及率和渗透率极高;其二,几乎所有实验项目都部分或全部地融入了EDA技术,其中包括数字电路、计算机组成与设计、计算机接口技术、数字通信技术、嵌入式系统、DSP等实验内容,并且更多地注重创新性实验。

这显然是科技发展和市场需求双重影响下自然产生的结果。

1.QuartusⅡ简介:QuartusⅡ是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大的可编程逻辑器件供应商之一。

QuartusⅡ在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plusⅡ的更新换代产品,其界面友好,使用便捷。

2.计数器设计这里首先设计测频用的、含时钟使能控制的2位十进制计数器。

2.1:设计电路原理图。

频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。

为此这里用一个双十进制计数器74390和其他一些辅助元件来完成。

首先建立图像编辑环境,再在原理图编辑窗口分别键入74390、AND4、AND2、NOT、INPUT和OUTPUT元件名,调出这些元件,并按照图1链接好电路原理图。

图中,74390连成两个独立的十进制计数器,待测频率信号clk通过一个与门进入74390的计数器“1”端的时钟输入端1CLKA。

与门的另一端由计数使能信号enb 控制:当enb=1时允许计数;enb=0时禁止计数。

计数器1的4 位输出去q[3]、q[2]、q[1]和q[0]并成总线表达方式,即q[3..0](注意原理图中的总线表示方法,如Q[3..0],与VHDL不同),由图1左下角的OUTPUT输出端口向外输出计数值。

同时由一个4输入与门和两个反相器构成进位信号,进位信号进入第二个计数器的时钟输入端2CLKA。

第二个计数器的4位计数输出是q[7]、q[6]、q[5]、q[4],总线输出信号是q[7..4]。

这两个计数器的总的进位信号,可由一个6输入与门和两个反相器产生,由cout输出。

Clr是计数器的清零信号。

图一含有时钟使能的2位十进制计数器在原理图的绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式(粗线条表示总线)。

对于以标号方式进行总线连接,如图1所示。

例如一根8位的总线bus1[7..0]欲与三根分别为1、3、4位宽的连线相接,他们的标号可分别为bus1[0]、bus1[3..1]、bus1[7..4]。

最后将图1电路存盘,文件为conter.dbf 2.2:建立工程。

为了测试图1电路的功能,可以将conter.bdf设置成工程,工程名和顶层文件名都取为conter。

建立工程后,如果要了解74390内部的情况,可以在其上双击鼠标。

2.3:系统仿真。

完成设计即可对电路的功能进行测试。

由图2可见,电路的功能完全符合原设计要求:当clk输入时钟信号时,clr信号具有清零功能;当enb为高电平时允许计数,低电平时禁止计数;当低4位计数器计到9时向高4位计数器进位。

另外由于图中没有显示出高4位计数器计到9,故看不到count的进位信号。

图2 2位十进制计数器工作波形2.4:生成元件符号。

选择左上File中德相关项,将当前文件conter.bdf变成一个元件conter后存盘,以便在高层次设计中调用。

3.频率计主结构电路设计根据频率计的测频原理,可以完成如图3所示的频率计主体结构的电路设计。

方法同上。

首先关闭原来的工程,再打开一个新的原理图编辑窗口,并将此空原理图设为工程,文件名可取为ft_top。

然后在基于新工程的原理图编辑窗口调入图3所示的所有元件,连接好后存盘。

图3 2位十进制频率计频率计顶层设计原理图文件图3所示的电路中,74374是8位锁存器;74248是七段BCD译码器,它的7位输出可以直接与7段公阴数码管相接,图上方的74248显示个位频率计数值,下方的显示十位频率计数值;conter是电路图1构成的元件。

在这些元件上双击鼠标,可以看到内部的电路结构。

此电路的工作时序波形图4所示,由该波形可以清楚地了解电路的工作原理。

在图4的激励波形的设置中要注意,根据仿真需求,元件conter的输入信号的设置:其中F_IN是待测频率信号(设周期为410ns);CNT_EN是对待测频率脉冲计数允许信号(设周期为32us);当CNT_EN高电平时允许计数,低电平时禁止计数。

图4 2位十进制平频率计测频仿真波形仿真波形显示,当CNT_EN为高电平时允许conter对F_IN计数,低电平时conter 停止计数,由锁存信号LOCK发出的脉冲,将conter中的二个4位十进制数“39”锁存进74374中,并由74374分高低位通过总线H[6..0]和L[6..0]输给74248译码输出显示,这就是测得的频率值。

十进制显示值“39”的7段译码值分别是“6F”和“4F”。

此后由清零信号CLR对计数器conter清零,以备下一周期计数之用。

图3中的进位信号COUT是留待频率计扩展用的。

在实际测频中,由于CNT_EN是测频控制信号,如果其频率选定为0.5Hz,则其允许计数的脉宽为1s,这样,数码管就能直接显示F_IN的频率值了。

4.时序控制电路设计由波形图4可知,欲使频率计能自动测频,还需增加一个测频时序控制电路,要求它能按照图4所示的时序关系,产生三个控制信号:CNT_EN、LOCK和CLR,以便使频率计能自动完成计数、锁存和清零三个重要的功能步骤。

根据控制信号CNT_EN、LOCK和CLR的时序要求,图5给出了相应的电路,设该电路的文件名为tf_ctro,bdf。

该电路由三个部分组成:4位二进制计数器7493、4-16译码器74154和两个由双与非门构成的RS触发器。

其中的74154也可以用3—8译码器74138代替,甚至用其他电路形式实现此功能,大家可以试一试。

对图5所示电路(取文件名为tf_cteo.bdf)的设计和验证流程同上,包装入库的元件名为tf_ctro。

对其建立工程后即可对其功能进行仿真测试。

图6即为其时序波形。

比较图6和图4中德控制信号CNT_EN、LOCK和CLR的时序,表明图5的电路是满足设计要求的。

事实上,图5所示的电路还有许多其他用途。

例如可构成高速时序脉冲发生器,可通过输入不同频率的CLK信号,或将RS触发器接在74154的不同输出端,从而产生各种不同脉宽和频率的脉冲信号。

图5 测频时序控制电路图6 测试时序控制电路工作波形5.顶层电路设计有了图5的电路元件tf_ctro,就可以改造图3的电路,使其成为能自动测频和数据显示的实用频率计了。

改造后的电路如图7所示,其中含有新调入的元件tf_ctro。

电路中有两个输入信号:待测频率输入信号F_IN和测频控制时钟CLK。

根据电路图5和波形图6可以算出,如果从CLK输入的控制时钟的频率是8Hz,则计数使能信号CNT_EN的脉宽即为1s,从而可使数码管直接显示F_IN的频率值。

图7 频率计顶层电路原理图图7的保存文件名不变,仍为ft_top.gdf,它的仿真波形示于图8.图中,待测信号F_IN的周期取为410ns,测频控制信号CLK的周期取为2us。

根据测频电路原理,不难算出测频显示应该为“39”。

这个结果与图4给出的数值完全一致。

由该图可见,测频计数器中的计数值q[3..0],q[7..4]随着F_IN脉冲的输入而不断发生变化,但由于74374的锁存功能,两个74248输出的测频结果L[6..0]和H[6..0]始终分别稳定在“6F”和“4F”上(通过7段显示数码管,此二数将分别被译码显示为3和9)。

图7 频率计工作时序波形结论EDA技术是电子设计的发展趋势,利用EDA工具可以代替设计者完成电子系统设计中的大部分工作EDA工具从数字系统设计的单一领域,发展到今天,应用范围己涉及模拟、微波等多个领域,可以实现各个领域电子系统设计的测试、设计仿真和布局布线等,这些都是我在这次课设中深刻体会到的。

经过这次实习,让我真正认识了EDA这门学科,了解到这种方式下的设计方案,硬件电路简洁,集成度高,体现了当今社会所需的先进技术,日后必定在有着广阔的发展空间。

在这次EDA课程结束设计中,虽然应用的都是在书本上学过的知识,但是只有应用到实际中才算真正的学懂了这些知识。

通过这次课程设计实践巩固了学过的知识并能够较好的利用。

课程设计实践不单是将所学的知识应用于实际,在设计的过程中,只拥有理论知识是不够的。

逻辑思维、电路设计的步骤和方法、考虑问题的思路和角度等也是很重要,需要我们着重注意锻炼的能力。

在这次设计中还发现理论与实际常常存在很大差距,为了使电路正常工作,必须灵活运用原理找出解决方法。

经过这学期的实习,使我学到了很多只有实际操作中的问题,虽然在学习的过程中遇到不少的麻烦,但是经过周围同学和老师的帮助,最终顺利的完成了此次课程结题设计。

在此,感谢我们的何老师。

本课能够顺利完成,离不开何老师在课堂上的耐心讲解和课下的指导。

参考文献【1】潘松.黄继业.潘明编著,EDA技术实用教程——Verilog HDL版(第四版).北京:科学出版社,2010。

相关文档
最新文档