




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
量程自动转换数字式频率计的设计EDA课 程 设 计 题 目: 数字频率计的设计 学 院: 理工学院 班 级: 10 电 信 学 号: 1034301114 姓 名: X X 指导老师: X X 提交时间: 2013-12-6 数字频率计的设计摘要: 数字频率计是一种能够测量被测信号频率的数字测量仪器。它被广泛应用于航天、航空、电子、自动化测量、测控等领域。本文利用测频原理,设计一个量程自动转换数字式频率计,主要硬件电路由Altera公司生产的复杂可编程逻辑(CPLD)EPM7128构成。复杂可编程逻辑器件CPLD芯片EPM7128SLC84-15完成各种时序逻辑控制、计数功能。在QUARTUS II平台上,用VHDL语言编程完成了CPLD的软件设计、编译、调试、仿真和下载。由于本系统采用了先进的EDA技术,不但大大缩短了开发研制周期,而且使本系统具有结构紧凑、体积小,可靠性高,测频范围宽、精度高等优点。关键词:频率计;可编程逻辑器件;VHDL一、设计要求1. 频率计的测量范围为1,量程分10、100和1000三档(最大读数分别为9.99、99.9、999)。2. 要求量程可根据被测量的大小自动转换。即当计数器溢出时,产生一个换档信号,让整个计数时间减少为原来的1/10,从而实现换档功能。3. 要求实现溢出报警功能。即当频率高于999时,产生一报警信号,点亮LED灯,从而实现溢出报警功能。二、设计方案1、频率计的工作原理常用的测量频率的方法有两种,一个是测周期法,一个是测频率法。测周期法需要有基准系统时钟频率,在待测信号一个周期内,记录基准时钟频率的周期数,则被测频率可表示为:=/ 测频率法就是在一定的时间间隔内内,得到这个周期信号重复变化的次数,则被测频率可表示为=/ 本设计采用的是直接测频率的方法。2、频率计的系统框图频率计的系统设计可以分为4位10进制计数模块、闸门控制模块、锁存器模块、译码显示模块和可自动换档基准时钟模块,其系统框图如图2.1所示。可自动换档基准时钟模块闸门控制模块4位10进制计数模块译码显示模块锁存模 块图2.1:频率计的系统框图其中,可自动换档模块为闸门控制模块提供3个档也就是3个测量范围的基准时钟信号,通过计数器的最高位溢出情况来判定工作在第几档。闸门控制模块根据基准时钟信号产生基准时钟信号周期2倍的周期使能信号,随后为锁存器产生一周期性地锁存信号,再然后为计数模块产生一周期性地清零信号。4位10进制计数模块在使能信号和清零信号的控制下对被测信号的波形变化进行计数,若产生溢出则为自动换档模块输出一换档信号。译码显示模块负责不闪烁的显示被测信号的频率以及数字频率计目前工作的档位。三、详细设计1、4位十进制计数器模块4位十进制计数器模块包含4个级联十进制计数器,用来对施加到时钟脉冲输入端的待测信号产生的脉冲进行计数,十进制计数器具有计数使能、清零控制和进位扩展输出。用于计数的时间间隔(计数允许周期T)由闸门控制模块的控制信号发生器所产生的使能信号来控制,使能十进制计数器的计数允许周期T可由闸门控制模块中的量程选择输入来决定。这样允许用户选择所希望的被测频率范围,并有效地确定读出数据中十进制小数点的位置。(1)、十进制计数器元件cnt10的设计十进制计数器既可采用QuartusII的宏元件74160,也可用VHDL语言设计,本设计采用VHDL编写,其源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 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);END cnt10;ARCHITECTURE one OF cnt10 ISBEGINPROCESS(clr,clk,en) VARIABLE cqi:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN IF clr=1THEN cqi:=(OTHERS=0); ELSIF clkEVENT AND clk=1THEN IF en=1THEN IF cqi0); END IF; END IF; END IF; IF cqi=9 THEN cout=1; ELSE cout=0; END IF; cq=cqi;END PROCESS;END; 在源程序中cout是计数器进位输出;cq3.0是计数器的状态输出;clk是时钟输入端;clr是复位控制输入端,当clr=1时,cq3.0=0;en是使能控制输入端,当en=1时,计数器计数,当en=0时,计数器保持状态不变。其仿真输出波形如图3.1所示: 图3.1:十进制计数器模块仿真输出波形在项目编译仿真成功后,将设计的十进制计数器电路设置成可调用的元件cnt10.bsf,用于以下的4位十进制计数器的顶层设计。(2)、计数器的顶层设计该顶层设计可以用原理图输入的方法完成。在QUartusII中,新建一个原理图编辑窗,从当前的工程目录中调出4片十进制计数器元件cnt10,并按图所示的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 IS SIGNAL a:STD_LOGIC; SIGNAL count:STD_LOGIC_VECTOR (1 downto 0); BEGIN PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN a=not a; END IF; END PROCESS;PROCESS(fin) BEGIN IF finEVENT AND fin=1 THEN IF a=0 then IF 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; tstenSOUT=IN0;OVER=0;FLAGSOUT=IN1;OVER=0;FLAGSOUT=IN2;OVER=0;FLAGSOUT=0;OVER=1;FLAG=000;END CASE;END PROCESS;END;图中将所有计数器的清零信号接地,因为清零信号为高电平有效,接地信号一直保持低电平,这样保证计数器不会被清零,一直正常工作。所有计数器的使能端需要一个高电平信号EN使其一直保持正常工作。最后一个计数器并不属于实现基准信号换挡功能的计数器组,它直接为三选一选择器mux3服务,统计来自4位十进制计数器模块的最高位进位信号的个数。Y输出端输出已经调整了的适合于被测频率的基准时钟信号。图3.6是其的波形仿真图。图中SEL是通道选择控制端,当SEL为“0000”是选择IN0,为“0001”时选择IN1,为0010时选择IN2。图中FLAG的作用是输出指示用,用于驱动发光二极管,显示当前频率计的档位。OVER是报警信号,当测量范围溢出时,使报警电路工作。图3.6可自动换挡基准计时模块的仿真波形图3、锁存模块的设计锁存模块的功能是将4个十进制计数器的数据,在LOAD信号有效时(LOAD=1)锁存到寄存器中,其VHDL源程序如图所示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG16 ISPORT(DIN0:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DIN1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DIN2:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DIN3:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LOAD:IN STD_LOGIC; DOUT0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END REG16;ARCHITECTURE one OF REG16 ISBEGINPROCESS(LOAD) BEGIN IF LOADevent and LOAD=1THEN DOUT0=DIN0; DOUT1=DIN1; DOUT2=DIN2; DOUT3=DIN3; END IF; END PROCESS;END one;相对来说,锁存模块是最简单的,它的波形仿真如图3.7所示:图3.7:锁存模块的波形仿真图4、 译码显示模块的设计与实现 数字逻辑系统中常用的显示器件是数码管,半导体是数码管的外形和等效电路如图6-27所示,其每一个字段都是一个发光二级管(Light Emitting Diode,LED), 因而也称之为LED数码管或LED显示器。LED数码管用7段发光二极管(带小数点时为8段)来显示数字,每一段都是一个发光二极管,一般把所有段的相同一端相连,连接到地(共阴极接法)或者是连接到电源(共阳极接法)。共阴级LED数码管的公共端连接到地,另一端分别接一个限流电阻后再接到控制电路的信号端,当信号端为高电平时,该段即被点亮,否则不亮。共阳极接法则相反,公共端连接到电源,另一端分别接一个限流电阻后再接到控制电路的信号端,只有信号端为低电平时才被点亮,否则不亮。数码管的扫描方式有两种:静态扫描和动态扫描。静态扫描方式简单,动态扫描方式节约资源。从资源角度出发,这里采用动态扫描方式。采用扫描方式来实现LED数码管动态显示,控制好数码管之间的延时是相当重要。根据人眼视觉暂留原理,LED数码管每秒的导通16次以上,人眼就无法分辨LED数码管短暂的不亮,认为是一直点亮的(其实LED数码管是以一定频率在闪动的)。但是,延时(导通频率)也不是越小越好,因为LED数码管达到一定亮度需要一定时间。如果延时控制的不好则会出现闪动,或者亮度不够。据经验,延时0.005秒可以达到满意的效果。另外,显示的字符有变化时,可在延时到达后送一个低电平(共阴极数码管)让LED数码管先短暂熄灭,再显示下一个字符,可使在视觉上字符的变化更清晰。 7段数码显示译码器的VHDL设计该模块将显示寄存器的四位BCD数字符译成7段码,其VHDL源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity display isport(in3,in2,in1,in0:in std_logic_vector(3 downto 0);sout:out std_logic_vector(6 downto 0);SEL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);clk:in std_logic);end display;architecture a of display issignal s:std_logic_vector(1 downto 0);signal lout4:std_logic_vector(3 downto 0);beginprocess (clk)beginif (clkevent and clk=1)thenif (s=11) thens=00;else s=s+1;end if;sel lout4 lout4 lout4 lout4 NULL; END CASE; end if;end process; sout=1111110 when lout4=000 else 0110000 when lout4=001 else 1101101 when lout4=010 else 1011111 when lout4=011 else 1110000 when lout4=100 else 1111111 when lout4=101 else 1110011 when lout4=110 else 1111110 when lout4=111 else XXXXXXX ; end a;程序中,din是09的BCD码输入,dout为译码后的7段数据信号,SEL是数码管的位选信号。 图3.8为其编译仿真后的输出时序波形图。图中的CLK接1KHZ的输入时针,其由分频器分频后得到。 图3.8:译码显示模块的仿真波形;3、 频率计电路顶层原理图的设计和仿真(1)、频率计主体电路顶层原理图设计在成功完成低层单元电路模块设计仿真后,可根据测频原理框图,可完成图3.7所示的频率计电路顶层原理图的设计文件。该电路中定时信号模块、控制信号发生器模块、4位十进制计数器模块、寄存显示模块为前面设计低层单元电路模块。clk为系统基准输入信号;FIN为待测频率信号,本设计测试中用3个发光二级管表示量程状态显示;OVER是进位扩展信号,用于超量程提示功能,在超出目前量程档次时发出报警信号,驱动LED发光报警。在QuartusII利用原理图输入对频率计电路顶层原理图TOP.qpf编译仿真正确无误后,即可生成如图所示图3.9所示。需要说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递站点抵押合同范本
- 钢结构签合同范本
- 染料销售合同范本
- 监理合同范本 酬金
- 开公司 投资 合同范本
- 办公座椅购买合同范本
- 施工企业施工合同范本
- 员工集资合同范本
- 面地板装修合同范本
- 联合中标epc合同范本
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 26480-2011阀门的检验和试验
- GB/T 19861-2005丙烯酸系阴离子交换树脂强碱基团、弱碱基团和弱酸基团交换容量测定方法
- GB/T 11085-1989散装液态石油产品损耗
- GB 30000.3-2013化学品分类和标签规范第3部分:易燃气体
- 《材料力学》说课-课件
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 天星择日的基本原理
评论
0/150
提交评论