量程自动转换数字式频率计的设计说明

合集下载

自动量程数字频率计实验报告

自动量程数字频率计实验报告

自动量程数字频率计实验要求一、任务设计制作一个自动量程数字频率计。

二、要求1.显示位数:四位,最大显示数为9999。

2.闸门时间:分10ms、100ms、1s三种,根据被测频率F的大小自动切换。

3.测量量程:第一档:100Hz~999.9kHz (闸门时间为10ms)第二档:10Hz~99.99kHz (闸门时间为100ms)第三档:1Hz~9.999kHz (闸门时间为1s)。

要求具有小数点指示的闸门切换。

4.自动量程要求:当计数器数值大于9999时(溢出),量程自动升高一档,当计数值小于0800时,量程自动降低一档。

5.输入被测信号:10Hz~1MHz方波或正弦波,幅度为3mV~3V(有效值)。

6.显示器件:采用七段数码管。

实验报告一、前言频率和周期是电信号在时域内重要的特征。

测量信号的频率和周期也是认识一个信号的重要手段。

以测频和测周期原理实现的频率计的设计方案很多。

传统的设计中多使用分立元件,这种方案成本低,并且具有一定的可靠性。

本实验报告介绍了使用分立元件设计自动量程数字频率计的具体实现原理和方案,并给出了实验结果和误差分析。

二、设计原理和方案1.直接测频法原理频率测量可采用直接测频方法,先对输入信号整形,变换为数字信号的电平,然后对其进行测量。

测量时,采用一个脉宽为T的闸门信号控制被测信号作为计数器的输入如图1所示,计数值为n,则被测信号频率为:F=n/T若采用T为单位时间,则可直接将计数结果转换为BCD码并显示。

图1 直接测频法在被测信号频率较高时通常采用直接测频法,这种方法的计数值会产生±1个字的误差。

很明显,被测信号频率一定时,采用闸门时间T越大,相应的误差越小。

当闸门时间与被测信号的周期比值较大时,这种方法有较好的效果。

2.自动换档技术当被测信号的频率范围变化较大时,若采用单一门限时间的闸门信号,对于高频被测信号,得到计数值n过大,会造成计数器溢出,并且测量时间过长;对于低频被测信号,得到计数值n过小,会造成较大误差。

量程自动转换数字式频率计的设计说明

量程自动转换数字式频率计的设计说明

EDA课程设计(量程自动转换数字式频率的设计)题目:数字频率计的设计学院:_____________班级:_______________学号:—姓名:_______________________指导老师:________________提交时间:____________目录一.设计要求二.设计方案1, 频率计的工作原理2 ,频率计的系统框图三.详细设计1, 4 位十进制计数模块(1)十进制计数器元件cnt10v 的设计(2)计数器的顶层设计(3)分频模块的设计2. 闸门控制模的设计3 .可自动换挡基准时钟模块的设计4.锁存模块的设计5.译码显示模块的设计与实现七段数码显示译码管的VHDI设计6.频率计电路顶层原理图的设计7 .实验数据和误差分析四.总结五.参考文献数字频率计的设计摘要: 数字频率计是一种能够测量被测信号频率的数字测量仪器。

它被广泛应用于航天、航空、电子、自动化测量、测控等领域。

本文利用测频原理,设计一个量程自动转换数字式频率计,主要硬件电路由Altera 公司生产的复杂可编程逻辑(CPLD )EPM7128 构成。

复杂可编程逻辑器件CPLD 芯片EPM7128SLC84-15 完成各种时序逻辑控制、计数功能。

在QUARTUS II 平台上,用VHDL 语言编程完成了CPLD 的软件设计、编译、调试、仿真和下载。

由于本系统采用了先进的EDA 技术,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小,可靠性高,测频围宽、精度高等优点。

关键词:频率计;可编程逻辑器件;VHDL一、设计要求1. 频率计的测量围为1 MHz ,量程分10 KHz 、100 KHz 和1000 KHz 三档(最大读数分别为9.99 KHz 、99.9 KHz 、999 KHz )。

2. 要求量程可根据被测量的大小自动转换。

即当计数器溢出时,产生一个换档信号,让整个计数时间减少为原来的1/10,从而实现换档功能。

数字频率计课程设计实习报告

数字频率计课程设计实习报告

数字频率计设计报告书一、设计要求设计一个4位十进制数字式频率计,最大测量范围为10MHz。

量程分10kHz、100kHz、1MHz和10MHz四档(最大读数分别为9.999kHz、99.99kHz、999.9kHz、9999.kHz).量程自动转换规则如下:(1)当读数大于9999时,频率计处于超量程状态,此时显示器发出溢出指示,下一次测量时,量程自动增大一档,小数点位置随量程变更自动移位。

(2)可用手动方式使量程在每次测量开始时处于最低档。

显示方式如下:(3)采用记忆显示方式,即计数过程中不显示数据,待计数过程结束以后,显示计数结果,将此显示结果保持到下一次计数结束。

显示时间应不小于1s。

(4)送入信号应是符合CMOS电路要求的脉冲波,对于小信号模拟信号应有放大整形电路。

二、方案设计<1>整体思路所谓频率就是周期性信号在单位时间 (1s)内变化的次数。

若在一定时间间隔 T内测得周期性信号的重复变化次数为 N ,则频率可表示为 f =N /T (Hz)。

被测信号fx经放大整形电路变成计数电路所要求的脉冲信号,其频率与被测信号fx的频率相同。

基准电路提供标准时间基准信号clk,其高电平持续时间 t 1 = 1 s,当 1 s信号来到时 ,闸门电路开通 ,被测脉冲信号通过闸门电路,成为计数电路的计数脉冲 CP,计数电路开始计数,直到 ls信号结束时闸门电路关闭 ,停止计数。

若在闸门时间 1 s内计数电路计得的脉冲个数为 N ,则被测信号频率 f =NHz。

控制电路的作用有两个:一是产生锁存脉冲 CLK,使显示电路上的数字稳定;二是产生清“0”脉冲,使计数电路每次测量从零开始计数。

<2>时钟信号的选择设计电路中时钟信号采用12M有源晶振产生,下面是12M有源晶振引脚图:<3>整形电路的选择整形电路中可以用运算放大器LM311组成电压选择器实现,以下是关于此芯片的资料:引脚功能:GROUND/GND 接地INPUT + 正向输入端INPUT - 反向输入端OUTPUT 输出端BALANCE 平衡BALANCE/STROBE 平衡/选通V+ 电源正V- 电源负NC 空脚LM311引脚图由于LM311过于复杂且此次设计要求精度不高,整形电路可以改为如下电路:这样产生稳定3.3V为幅值的信号送入EPM570中,对芯片起到保护作用。

自动转换量程频率计控制器

自动转换量程频率计控制器

百度文库- 让每个人平等地提升自我江西科技师范学院毕业设计(论文)题目:自动转换量程频率计控制器设计系院:通信与电子学院专业:电子信息工程学生姓名:陈浩学号:指导老师:陈亮亮封面格式不对,封面格式电子档已放入群共享量程自动转换的数字式频率计的设计数字频率计是一种基本的测量仪器。

它被广泛应用与航天、电子、测控等领域。

它的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码管显示出来。

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

本设计方案还要求,被测输入信号的频率范围自动切换量程,控制小数点显示位置,并以十进制形式显示。

整个频率计设计在一块CPLD芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。

频率计的测频范围:0~10MHz。

该设计方案通过了Max+plusⅡ软件仿真、硬件调试和软硬件综合测试。

关键词:数字频率计;电子设计自动化;CPLD;格式不对,而且你怎么会用到CPLD?目录第一章引言 (1)1.1 研究背景 (1)1.2 频率计的发展情况 (3)第二章设计所用工具与环境介绍 (5)2.1 BTYG-EDA实验开发系统简介 (5)2.1.1 系统特点 (5)2.1.2 系统资源介绍 (5)2.2 CPLD简介 (6)2.2.1 CPLD器件结构简介 (6)2.2.2 典型CPLD器件简述 (9)2.2.3 CPLD在新技术中的应用 (12)2.3 VHDL语言简介 (13)2.3.1 VHDL的发展情况与特点 (13)2.3.2 VHDL语言结构 (15)第三章频率计的设计方案 (19)3.1 传统方法 (19)3.2 现代方法 (19)3.2.1 自顶向下的设计方法 (19)3.2.2 与传统的设计方法相比EDA的特点 (20)3.3 本设计的方法 (22)第四章数字频率计的设计 (24)4.1 频率计的设计要求与原理 (24)4.1.1 设计要求 (24)4.1.2 频率测量方法及原理 (24)4.2 频率计的硬件设计 (26)4.2.1 电子设计的发展情况 (26)4.3 频率计的软件设计及其仿真 (27)4.3.1 软件设计的实现 (27)4.3.2 功能模块的实现 (28)4.3.3 各模块基于VHDL的设计与仿真 (29)4.4 下载验证 (38)4.4.1 管脚分配 (38)4.4.2 硬件调试 (40)4.4.3 软件调试 (41)4.4.4 数据下载与验证 (41)第五章实验测试与误差分析 (44)5.1 实验测试的方法 (44)5.2 系统的验证 (44)5.3 频率测量精度分析 (45)5.4 测量误差分析 (46)总结语 (48)参考文献 (49)Abstract (50)附录 (51)第一章引言1.1 研究背景近年来信息技术、电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的大大提高。

数字式频率计设计

数字式频率计设计

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

数字频率计是近代电子技术领域的重要测量工具之一,同时也是其他许多领域广泛应用的测量仪器。

数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。

数字频率计用于测量信号(方波,正弦波或其他周期信号)的频率,并用十进制数字显示,它具有精度高,测量速度快,读数直观,使用方便等优点。

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

本次设计的数字频率计以555为核心,采用直接测频法测频,能够测量正弦波、三角波、锯齿波、矩形波等。

根据显示的频率范围,用4片10进制的计数器构成1000进制对输入的被测脉冲进行计数;根据输入信号的幅值要求,所以要经过衰减与放大电路进行检查被测脉冲的幅值;由于被测的波形是各种不同的波,而后面的闸门或计数电路要求被测的信号必须是矩形波,所以还需要波形整形电路,通过这些整体要求,由显示部分,计数部分,逻辑控制部分,时基电路部分,构成简易的频率计的设计。

目录一.设计任务和要求 (3)1.设计任务 (3)2.设计要求 (3)二.系统设计 (4)1.系统要求 (4)2. 方案设计 (5)3.系统工作原理 (6)三.单元电路设计 (8)1.时基电路部分 (8)2.计数显示部分电路 (11)3.控制电路设计如下 (14)四.电路仿真分析 (15)五.元器件的选择及参数确定 (17)1.电路调试 (17)2系统功能及性能测试 (18)3.电路安装 (20)4.调试 (21)参考文献 (25)总结及体会 (26)附录 (28)一.设计任务和要求1.设计任务设计一个数字式频率计。

2.设计要求1、能够测量正弦波、三角波、锯齿波、矩形波等周期性信号的频率;2、能直接用十进制数字显示测得的频率;3、频率测量范围:1HZ—10KHZ且量程能自动切换;4、输入信号幅度范围为0.5—5V,要求仪器自动适应5、测量时间:t≼1.5s6、电源:220V/50HZ的工频交流电供电;(注:直流电源部分仅完成设计即可,不需制作,用实验室提供的稳压电源调试,但要求设计的直流电源能够满足电路要求)7、按照以上技术要求设计电路,绘制电路图,对设计的电路用Multisim或OrCAD/PspiceAD9.2进行仿真,用万用板焊接元器件,制作电路,完成调试、测试,撰写设计报告。

自动量程切换频率计的设计

自动量程切换频率计的设计

1.前言在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系。

因此,频率的测量就显得更为重要。

频率就是周期性信号在单位时间内变化的次数。

频率计数器是测量信号频率的装置,也可以用来测量方波脉冲的脉宽。

通常频率以数字形式直接显示出来,简便易读,即所谓的数字频率计。

频率测量对生产过程监控有很重要的作用,可以发现系统运行中的异常情况,以便迅速做出处理。

测量频率的方法有多种,其中电子计数器测量频率具有使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。

传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接采用。

本设计是基于学过的单片机技术和C 语言,设计的一种数字式量程自动切换频率计数器,该频率计具有操作简单方便、响应速度快、体积小等一系列优点,可以及时准确地测量低频信号的频率。

2.总体方案设计总体方案选:方案设计一:由硬件电路设计的频率计方案一中频率计由时基电路、放大整形电路、闸门电路、逻辑控制电路、计数器、锁存器和译码显示器构成,电路方框图如下:图2-1 方案1方框图上图为硬件电路组成的数字频率计。

其中被测信号经放大整形电路变成计数器所要求的脉冲信号,其频率与被测信号的频率相同。

时基电路提供标准时间基准信号,其高电平持续时间s t 11=,当1s 信号来到时,闸门开通,被测信号通过闸门,计数器开始计数,直到1s 信号结束时闸门关闭,停止计数。

若在闸门时间内计数器得到的脉冲个数为N ,则被测信号频率)(Hz N f x =。

逻辑控制电路的作用有两个:一是产生锁存脉冲,使显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从0开始计数。

方案设计二:基于单片机的频率计设计该方案中频率计由放大整形电路、单片机、LED 显示器和电源电路构成。

其中,信号的核心处理部分为单片机,由AT89C51构成。

自动换挡频率计设计

实验七自动换挡频率计设计一、实验目的1、学习设计一个三位或者多位十进制数字式频率计,量程为1KHZ到99MHZ。

2、通过小数点表示量程范围。

二、实验要求1、当小于1KHZ时,不在其量程范围内,显示为0。

2、当在1KHZ到999KHZ时,频率计自动换到KHZ的档位,;三个数码管分别显示对应的数字,用一个小数点表示其量程单位为千。

3、当在1MHZ到99MHZ时,频率计自动换到MHZ的档位,;三个数码管分别显示对应的数字,用两个小数点表示其量程单位为M.4、采用动态数码管输出其所测频率。

三、实验仪器PC机、Quartus II软件、EDA实验箱四、实验原理1、当计数时间相同时,标准频率为Nx,被测频率为Fs则实际测得的频率的个数为Nx对标准信号的计数个数为Ns,这下式成立:Fx/Nx= Fs/NsFx= Fs×Nx/Ns2、本次设计采用1秒为门时间, 标准频率为8HZ。

利用十进制计出来的数即为实际被测出来的频率。

3、可以用两个计数器来实现测频率的功能,一个count_basic_8以8HZ为时钟信号的计数器产生1秒的控制信号;另一个pinglvji为以被测频率信号的 clk为时钟信号的计数器,其在1秒钟计数的个数即为实际被测出来的频率。

(1)以8HZ为时钟信号的计数器,令其计数个数为8,当计数未满八时,置控制cout 信号输出为高,频率计数器均可以计数,当计满一秒钟,即计满八时,cout为0,控制计数器均停止计数,这样变产生了一个一秒的控制信号,通过这个信号cout可以控制下一个被测频率计数器的总计数时间为一秒钟。

利用start控制count_basic_8计数器的开始,即频率计数器均开始计数;利用clr复位清零。

(2)pinglvji通过一个以clk为时钟信号的计数器,令其计数使能由en控制,在en 为1时,计数,当en为0时,输出所记的数值。

每来一个脉冲计一次数。

因为此次计数最大有八位,因此每一位用一个四位std_logic_vector表示便于十进制计数调整。

在FPGA上用VHDL实现数字频率计 实验报告

数字系统设计实验报告一、设计要求:1、(1)频率测量范围10Hz~1MHz(2)量程自动转换,量程分为10KHz (1s) 、100KHz (0.1s) 、1MHz (10ms)三档。

转换规则如下:当读数大于9999时,频率计处于超量程状态,下一次测量时,量程自动增大一档;当读数小于0999时,频率计处于欠量程状态,下一次测量时,量程自动减小一档(3)数据采用记忆显示方式,即计数过程中不显示数据,待计数过程结束以后,显示计数结果,并将此显示结果保持到下一次计数结束。

(4)用发光二极管显示量程二、方案选则1测量原理:当预置门控信号为高电平时,启动计数器,被测信号(频率为fx) 计数当预置门控信号为低电平时,关闭计数器设在一次预置门控时间Tg内对被测信号计数值为Nx,则fx= Nx / Tg2具体方案:本设计中将2MHz的时钟分三次频,分别作为防抖电路的周期信号、显示模块片选信号、计数及锁存模块闸门信号。

防抖电路滤去窄波,显示模块用模4计数器来分别输出四位测量结果。

计数器通过在0.1s内对输入信号的高电平(发生期)进行计数来得出结果,并且为了达到换挡目的,测量时计六位数,通过结果选择档位进行输出。

二、原理图三、总体电路图四、流程图五、设计清单1、防抖电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY debounce ISPORT(key,cp: IN STD_LOGIC; --复位键imp:OUT STD_LOGIC); --去掉窄波后输出END debounce;ARCHITECTURE base OF debounce ISSIGNAL ql,q2:STD_LOGIC;BEGINPROCESS(cp)BEGINIF cp'event AND cp='1'THENq2<=ql; ql<=key;END IF;END PROCESS;imp<=ql AND NOT q2;END base;时序仿真波形:2、分频电路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_SIGNED.ALL;ENTITY dividefre4 ISPORT(cp_2m:IN STD_LOGIC; --2MHzcpl:OUT STD_LOGIC; --200Hzcp2:OUT STD_LOGIC; --25Hzcp3:OUT STD_LOGIC); --5HzEND dividefre4;ARCHITECTURE behavior OF dividefre4 IS SIGNAL tout:INTEGER RANGE 0 TO 4999; --5000分频SIGNAL toutl:INTEGER RANGE 0 TO 7; --8分频SIGNAL tout2:INTEGER RANGE 0 TO 39; --40分频SIGNAL cp_1:STD_LOGIC;SIGNAL cp_2:STD_LOGIC;SIGNAL cp_3:STD_LOGIC;SIGNAL cp:STD_LOGIC;BEGINPROCESS(cp_2m) –分出400Hz时钟BEGINIF(cp_2m'event AND cp_2m='1')THENIF tout=4999 THENtout<=0;ELSE tout<=tout+1;END IF;IF tout=2499 THENcp<='0';ELSE cp<='1';END IF;END IF;END PROCESS;PROCESS(cp) --200Hz时钟BEGINIF(cp'event AND cp='1')THENcp_1<=NOT cp_1;END IF;END PROCESS;PROCESS(cp_1) --25Hz时钟和5HzBEGINIF(cp_1'event AND cp_1='1')THENIF toutl=7 THEN toutl<=0;ELSE toutl<=toutl+1;END IF;IF toutl=3 THENcp_2<='1';ELSIF toutl=7 THEN cp_2<='0'; --8分频得25Hz END IF;IF tout2=39 THEN tout2<=0; --40分频得5HzELSE tout2<=tout2+1;END IF;IF tout2=39 THENcp_3<='1';ELSIF tout2=19 THEN cp_3<='0';END IF;END IF;END PROCESS;cpl<=cp_1;cp2<=cp_2;cp3<=cp_3;END behavior;仿真波形:(因原程序所分频倍数太大,所以这里将5000倍分频降至50倍)3、计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_SIGNED.ALL;ENTITY fretest ISPORT(enable:IN STD_LOGIC; --使能cp3:IN STD_LOGIC; --闸门INput:IN STD_LOGIC; --被测信号reset:IN STD_LOGIC; --复位信号overflow:OUT STD_LOGIC; --大于1000kHzPlay0,playl,play2,play3:OUT INTEGER RANGE 0 TO 9;decimal:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));--小数点,即档位END fretest;ARCHITECTURE behavior OF fretest ISSIGNAL r0_1,r1_1,r2_1,r3_1,r4_1,r5_1:INTEGER RANGE 0 TO 9;BEGINPROCESS(INput,enable,reset,cp3)BEGINIF enable='0'THEN NULL; --不测量ELSIF(input'event AND input='1')THEN --检测被测信号IF reset='1'THEN --同步复位,高电平有效overflow<='0';r0_1<=0;r1_1<=0;r2_1<=0;r3_1<=0;r4_1<=0;r5_1<=0;ELSIF cp3='0'THEN --闸门为0时清零Overflow<='0';r0_1<=0;r1_1<=0;r2_1<=0;r3_1<=0;r4_1<=0;r5_1<=0;ELSE --闸门为高电平计数r0_1<=r0_1+1;IF r0_1=9 THEN r1_1<=r1_1+1;r0_1<=0;IF(r1_1=9)THEN r2_1<=r2_1+1;r1_1<=0;IF(r2_1=9)THEN r3_1<=r3_1+1;r2_1<=0;IF(r3_1=9)THEN r4_1<=r4_1+1;r3_1<=0;IF(r4_1=9)THEN r5_1<=r5_1+1;r4_1<=0;IF(r5_1=9)THEN r5_1<=0;overflow<='1'; --大于1000kHz END IF;END IF;END IF;END IF;END IF;END IF;END IF;END IF;END PROCESS;PROCESS(r5_1,r4_1)BEGINIF r5_1=0 AND r4_1=0 THEN --为小于9999Hz时play0<=r0_1;playl<=r1_1;play2<=r2_1;play3<=r3_1;decimal<="100";ELSIF r5_1=0 THEN --为几十kHz时play0<=r1_1;playl<=r2_1;play2<=r3_1;play3<=r4_1;decimal<="010";ELSE --为几百kHz时play0<=r2_1;playl<=r3_1;play2<=r4_1;play3<=r5_1;decimal<="001";END IF;END PROCESS;END behavior;仿真波形4、锁存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_SIGNED.ALL;ENTITY frelatch ISPORT(reset:IN STD_LOGIC; --复位cp3:IN STD_LOGIC; --时钟Overflow: IN STD_LOGIC; --大于1000kHz表示play0,playl,play2,play3:IN INTEGER RANGE 0 TO 9;decimal:IN STD_LOGIC_VECTOR(2 DOWNTO 0);--小数点overlatch:OUT STD_LOGIC; --大于1000kHzp0latch,pllatch,p21atch,p31atch:OUT INTEGER RANGE 0 TO 9; delatch:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));--小数点END frelatch;ARCHITECTURE behavior OF frelatch ISBEGINPROCESS(cp3,reset)BEGINIF reset='1'THENoverlatch<='0';p0latch<=0;pllatch<=0;p21atch<=0;p31atch<=0;delatch<=decimal;ELSIF cp3'event AND cp3='0'THENoverlatch<=overflow;p0latch<=play0;pllatch<=playl;p21atch<=play2;p31atch<=play3;delatch<=decimal;END IF;END PROCESS;END behavior;仿真波形5、显示模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_SIGNED.ALL;ENTITY display ISPORT( cpl:IN STD_LOGIC; --时钟overflow:IN STD_LOGIC; --高于1000kHz标志p0,p1,p2,p3:IN INTEGER RANGE 0 TO 9;--BCD码输入 show:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--7段码输出 sel:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));--位扫描码END dISplay;ARCHITECTURE behavior OF display ISSIGNAL count: INTEGER RANGE 0 TO 3;SIGNAL sel_1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(cpl)BEGINIF(cpl'event AND cpl='1') THENIF count=3 THEN count<=0;ELSEcount<=count+1;END IF;END IF;END PROCESS;PROCESS(count)BEGINCASE count ISWHEN 0=>sel_1<="1110"; --第0位WHEN 1=>sel_1<="1101"; --第1位WHEN 2=>sel_1<="1011"; --第2位WHEN 3=>sel_1<="0111"; --第3位END CASE;END PROCESS;PROCESS(overflow,sel_1)BEGINIF(overflow='1')THENshow<="0110111"; --高于1000kHz,显示HELSIF(sel_1(0)='0')THEN --第0位数码管译码CASE p0 ISWHEN 0=>show<="1111110";--显示0,a-gWHEN 1=>show<="0110000";--1WHEN 2=>show<="1101101";--2WHEN 3=>show<="1111001";WHEN 4=>show<="0110011";WHEN 5=>show<="1011011";WHEN 6=>show<="0011111";WHEN 7=>show<="1110000";WHEN 8=>show<="1111111";WHEN 9=>show<="1110011";END CASE;ELSIF(sel_1(1)='0')THEN --第1位译码 CASE p1 ISWHEN 0=>show<="1111110";WHEN 1=>show<="0110000";WHEN 2=>show<="1101101";WHEN 3=>show<="1111001";WHEN 4=>show<="0110011";WHEN 5=>show<="1011011";WHEN 6=>show<="0011111";WHEN 7=>show<="1110000";WHEN 8=>show<="1111111"; WHEN 9=>show<="1110011";END CASE;ELSIF(sel_1(2)= '0')THEN --第2位译码 CASE p2 ISWHEN 0=>show<="1111110";WHEN 1=>show<="0110000";WHEN 2=>show<="1101101";WHEN 3=>show<="1111001";WHEN 4=>show<="0110011";WHEN 5=>show<="1011011";WHEN 6=>show<="0011111";WHEN 7=>show<="1110000";WHEN 8=>show<="1111111";WHEN 9=>show<="1110011";END CASE;ELSIF(sel_1(3)='0')THEN --第3位译码 CASE p3 ISWHEN 0=>show<="1111110";WHEN 1=>show<="0110000";WHEN 2=>show<="1101101";WHEN 3=>show<="1111001";WHEN 4=>show<="0110011";WHEN 5=>show<="1011011";WHEN 6=>show<="0011111";WHEN 7=>show<="1110000";WHEN 8=>show<="1111111";WHEN 9=>show<="1110011";END CASE;END IF;END PROCESS; sel<=sel_1; END behavior; 仿真波形。

数字电路频率计课设说明书.

目录1. 设计任务及主要技术指标和要求 (1)2. 总体设计方案 (1)2.1设计思路 (1)2.2设计方案和原理框图 (1)2.3方案比较 (2)3. 电路设计 (3)3.1放大整形电路 (3)3.2时基电路 (5)3.3计数译码显示电路 (8)3.4报警电路 (11)3.5闸门电路 (12)4. 组装调试 (12)5. 心得体会 (14)参考文献 (15)附录Ⅰ总电路图 (16)附录Ⅱ元件清单 (17)1.选题背景数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器,其功能是测量正弦信号,方波信号,尖脉冲信号以及其他各种单位时间内变化的物理量,因此已经成为电路设计的常用器件之一,它有不可取代的地位。

在电子技术中,频率与许多电参量的测量方案,测量结果都有十分密切的关系,因此频率的测量就显得更为重要。

测量频率的方法有多种,其中数字计数器测量频率具有精度高,使用方便,测量迅速,以及便于实现测量过程自动化等优点,是测量频率的重要手段之一。

1.1设计任务设计一个能够测量正弦波信号频率的电路。

具体要求如下:(1)测频范围为0~999Hz,精度为1Hz。

(2)用数码管显示测频结果。

(3)设有超量程显示(信号频率>=1KHZ时)。

发挥部分:进一步扩大频率计的测评范围,设计超量程换挡。

说明:在输入正弦波信号峰值为100mv的情况下测试2. 总体设计方案2.1 设计思路:频率,是单位时间内完成周期性变化的次数,所以我们的设计是将输入的信号进行放大整形之后输入到计数器,计算出一秒内通过的脉冲数量,然后经由译码器将对应的频率通过数码管显示出来。

2.2设计方案和原理框图:我们打算采用数电技术来完成设计,该数字频率计主要由放大整形电路、闸门电路、时基电路、计数器电路、译码显示电路几部分组成,总体结构如图:图2-1 数电频率计原理框图从原理图可知,被测信号X在不影响其频率的情况下经放大整形电路变成计数器需求的方波信号Y。

量程自动转换的数字频率计电路系统设计

1、前言课程设计是针对某一理论课程的要求,对学生进行综合性实践训练的实践教学环节,可以培养学生运用课程中所学的理论知识与时间紧密结合,独立地解决实际问题的能力。

本书着重介绍数字逻辑电路的设计方法和测试。

设计都以电路的基本理论为基础,介绍电路的设计、装调及性能参数的测试方法。

本课题具有体系结构新颖,知识综合运用性强,理论紧密联系实践的特点。

课程设计应达到如下基本要求:(1)综合运用电子技术课程中所学的理论知识独立完成一个课题的设计;(2)通过查阅手册和参考文献资料,培养学生独立分析和解决实际问题的能力;(3)熟悉掌用电子元器件的类型和特性,并掌握合理选用的原则;(4)学会电子电路的安装和调试技能;(5)数子电子仪器的使用方法;(6)学会撰写课程设计论文;(7)培养严肃认真的工作作风和严谨的科学态度。

教材内容的选择既有利于理论联系实际,又能系统地培养学生知识综合运用能力,进一步提高实际动手能力和工程设计能力,适应当前电子技术迅速发展与广泛应用的需要。

在本书的编写过程中,得到的老师的指导与帮助,才使我们的设计非常圆满的完成,在此表示感谢。

因时间仓促及编者水平有限,书中难免存大错误,恳请各位批评指正。

2、设计任务2.1设计目的(1)熟悉集成电路的引脚安排。

(2)掌握各芯片的逻辑功能及使用方法。

(3)了解PCB板、面包板结构及其接线方法。

(4)了解数字式频率计的组成及工作原理。

(5)熟悉数字式频率计的设计与制作。

2.2量程自动转换的数字式频率计的功能实现设计一个具有量程自动转换功能的3位十进制数字式频率计。

2.2.1量程范围量程范围为1MHz,量程分10kHz、100kHz和1MHz(最大读数分别为9.99kHz,99.9kHz,999kHz)。

2.2.2量程自动转换:(1)当读数大于999时,频率计处于超量程状态。

此时显示器发出溢出指示(最高位显示F,其余各位不显示数字),下一次测量时,量程自动增大一档。

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

EDA课程设计(量程自动转换数字式频率的设计)题目:数字频率计的设计学院:班级:学号:姓名:指导老师:提交时间:目录一.设计要求二.设计方案1,频率计的工作原理2,频率计的系统框图三.详细设计1, 4位十进制计数模块(1)十进制计数器元件cnt10v的设计(2)计数器的顶层设计(3)分频模块的设计2. 闸门控制模的设计3.可自动换挡基准时钟模块的设计4.锁存模块的设计5.译码显示模块的设计与实现七段数码显示译码管的VHDL设计6.频率计电路顶层原理图的设计7.实验数据和误差分析四.总结五.参考文献数字频率计的设计摘要:数字频率计是一种能够测量被测信号频率的数字测量仪器。

它被广泛应用于航天、航空、电子、自动化测量、测控等领域。

本文利用测频原理,设计一个量程自动转换数字式频率计,主要硬件电路由Altera公司生产的复杂可编程逻辑(CPLD)EPM7128构成。

复杂可编程逻辑器件CPLD芯片EPM7128SLC84-15完成各种时序逻辑控制、计数功能。

在QUARTUS II平台上,用VHDL语言编程完成了CPLD的软件设计、编译、调试、仿真和下载。

由于本系统采用了先进的EDA 技术,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小,可靠性高,测频围宽、精度高等优点。

关键词:频率计;可编程逻辑器件;VHDL一、设计要求1. 频率计的测量围为1MHz ,量程分10KHz 、100KHz 和1000KHz 三档(最大读数分别为9.99KHz 、99.9KHz 、999KHz )。

2. 要求量程可根据被测量的大小自动转换。

即当计数器溢出时,产生一个换档信号,让整个计数时间减少为原来的1/10,从而实现换档功能。

3. 要现溢出报警功能。

即当频率高于999KHz 时,产生一报警信号,点亮LED 灯,从而实现溢出报警功能。

二、设计方案1、频率计的工作原理常用的测量频率的方法有两种,一个是测周期法,一个是测频率法。

测周期法需要有基准系统时钟频率sF ,在待测信号一个周期xT ,记录基准时钟频率的周期数sN ,则被测频率可表示为:x F =s F /s N测频率法就是在一定的时间间隔w T ,得到这个周期信号重复变化的次数x N ,则被测频率可表示为x F =x N /w T本设计采用的是直接测频率的方法。

2、频率计的系统框图频率计的系统设计可以分为4位10进制计数模块、闸门控制模块、锁存器模块、译码显示模块和可自动换档基准时钟模块,其系统框图如图2.1所示。

图2.1:频率计的系统框图其中,可自动换档模块为闸门控制模块提供3个档也就是3个测量围的基准时钟信号,通过计数器的最高位溢出情况来判定工作在第几档。

闸门控制模块根据基准时钟信号产生基准时钟信号周期2倍的周期使能信号,随后为锁存器产生一周期性地锁存信号,再然后为计数模块产生一周期性地清零信号。

4位10进制计数模块在使能信号和清零信号的控制下对被测信号的波形变化进行计数,若产生溢出则为自动换档模块输出一换档信号。

译码显示模块负责不闪烁的显示被测信号的频率以及数字频率计目前工作的档位。

三、详细设计1、4位十进制计数器模块4位十进制计数器模块包含4个级联十进制计数器,用来对施加到时钟脉冲输入端的待测信号产生的脉冲进行计数,十进制计数器具有计数使能、清零控制和进位扩展输出。

用于计数的时间间隔(计数允许周期T)由闸门控制模块的控制信号发生器所产生的使能信号来控制,使能十进制计数器的计数允许周期T可由闸门控制模块中的量程选择输入来决定。

这样允许用户选择所希望的被测频率围,并有效地确定读出数据中十进制小数点的位置。

(1)、十进制计数器元件cnt10V的设计十进制计数器既可采用QuartusII的宏元件74160,也可用VHDL语言设计,本设计采用VHDL编写,其源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYt10v ISPORT(clr:IN STD_LOGIC;clk:IN STD_LOGIC;cout:OUT STD_LOGIC;en:IN STD_LOGIC;cq:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));ENDt10v;ARCHITECTURE example1 OFt10v ISBEGINPROCESS(clr,clk,en)V ARIABLE cqi:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF clr='1' THEN cqi:=(OTHERS=>'0');ELSIF CLK'EVENT AND clk='1' THENIF EN='1' THENIF cqi<9 then cqi:=cqi+1;ELSE cqi:=(OTHERS=>'0');END IF;END IF;END IF;IF cqi=9 THEN cout<='1';ELSE cout<='0';END IF;cq<=cqi;END PROCESS;END ;在源程序中cout是计数器进位输出;cq[3..0]是计数器的状态输出;clk是时钟输入端;clr是复位控制输入端,当clr=1时,cq[3..0]=0;en是使能控制输入端,当en=1时,计数器计数,当en=0时,计数器保持状态不变。

在项目编译仿真成功后,将设计的十进制计数器电路设置成可调用的元件cnt10V.bsf,用于以下的4位十进制计数器的顶层设计。

(2)、计数器的顶层设计该顶层设计可以用原理图输入的方法完成。

在QUartusII中,新建一个原理图编辑窗,从当前的工程目录中调出4片十进制计数器元件cnt10V,并按图所示的4位十进制计数器的顶层原理图完成电路连接,如图3.2所示。

图3.2:计数模块电路图(3) 分频模块的设计根据设计要求,最小一档的周期是10ms,即100Hz。

选用10MHz的晶振作为EPM7128的时针,为得到1000Hz的信号需要100分频,可知用2个cnt10级联就可以实现,图3.3是其电路图。

图3.3:分频模块电路图2、闸门控制模的设计闸门控制模块主要根据输入的控制时钟脉冲,首先要产生一个锁存信号LOAD,用其上升沿控制锁存器将之前的计数结果存入锁存器中,并由显示模块将其显示出来,设置锁存器是为了让显示稳定,不会因为周期性清零信号使得显示的数值不断闪烁。

锁存之后须有一清零信号CLR_CNT将计数器清零,为了下一秒的计数操作做准备。

闸门控制模块的VHDL源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL ISPORT(clk,fin:IN STD_LOGIC;clr_cnt:OUT STD_LOGIC;tsten:OUT STD_LOGIC;load:OUT STD_LOGIC);END;ARCHITECTURE one OF TESTCTL ISSIGNAL a:STD_LOGIC;SIGNAL count:STD_LOGIC_VECTOR (1 downto 0);BEGINPROCESS(clk)BEGINIF clk'EVENT AND clk='1' THENa<=not a;END IF;END PROCESS;PROCESS(fin)BEGINIF fin'EVENT AND fin='1' THENIF a='0' thenIF count="11" then load<='0';clr_cnt<='1';ELSE load<='1';count<=count+1;clr_cnt<='0';END IF;ELSE count<="00";load<='0';clr_cnt<='0';END IF;END IF;END PROCESS;tsten<=a;END;闸门控制模块的仿真波形如图3.4所示,图中clk是输入的时针信号,tesen是clk的二分频。

图中还有fin时针,它的频率要远小于clk,作用是作为一个计数器的时针,当tsten 为低电平且计数器值不为3时,load等于1。

而当tsten为低电平且计数值为3时,产生一个清零信号CLR_CNT。

3、可自动换挡基准时钟模块的设计本设计通过控制基准时钟信号来时现量程的自动转换。

如果一个周期为0.1s的信号作为时钟信号通过一个进制计数器,从十进制计数器的进位输出端将会得到一个周期为1s的信号。

因此,频率计的三档位可以通过计数器相级联来实现,如图3.5所示:CLK1KENO4图3.5 :可自动换挡基准计时模块图:图中3选1的选择器可以根据十进制计数器模块的溢出情况来作为选择标准。

先使可自动变换档的基准计时模块工作在0挡,若被测频率高于0挡的围。

则会使4位十进制计数器模块产生溢出,用这个溢出信号来使自动换挡基准时钟模块工作在一档;同理,如果被测频率还是高出一挡的测量围,就在自动换为二档。

若被测频率任高于二档的测量围,则输出一报警信号。

可自动换挡基准计时模块的VHDL源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux3 ISPORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0);y:OUT STD_LOGIC;o:OUT STD_LOGIC;input0:in STD_LOGIC;input1:in STD_LOGIC;input2:in STD_LOGIC);END mux3;ARCHITECTURE example5 OF mux3 ISBEGINPROCESS(input0,input1,input2,a)BEGINCASE a ISWHEN"0000"=>y<=input0;o<='0';WHEN"0001"=>y<=input1;o<='0';WHEN"0010"=>y<=input2;o<='0';WHEN"0011"=>y<='0';o<='1';WHEN OTHERS=>null;END CASE;END PROCESS;END;图中将所有计数器的清零信号接地,因为清零信号为高电平有效,接地信号一直保持低电平,这样保证计数器不会被清零,一直正常工作。

相关文档
最新文档