16进制频率计数器.doc_第1页
16进制频率计数器.doc_第2页
16进制频率计数器.doc_第3页
16进制频率计数器.doc_第4页
16进制频率计数器.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验课程名称:EDA技术与应用实验项目名称16进制频率计实验实验成绩实 验 者专业班级组 别同 组 者实验日期一、实验目的1掌握计数器的基本原理,进一步加深对频率计数器工作原理及电路组成的理解与掌握。2熟悉VHDL文本输入法的使用方法,掌握更复杂的EDA设计技术流程和数字系统设计方法,完成8位十六进制频率计的设计。二、实验仪器 1.计算器及操作系统 2.Quartus II软件3、 实验原理 1.根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1s的输入信号脉冲计数允许的信号;一秒结束后,计数器被锁入锁存器,计数器清零,为下一测频计数周期做好准备。测频控制信号可以由一个独立的发生器来产生,即图1中的FTCTRL。 2.FTCTRL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计中的32位二进制计数器COUNTER32B(图2)的ENABL使能进行同步控制。 当CNT_EN高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前一秒钟的计数值锁存进各锁存器REG32B中,并由外部的十六进制7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清零信号而不断闪烁。锁存信号后,必须有清零信号RST_CNT对计数器进行清零,为下一秒的计数操作准备。4、 实验内容1.测频控制电路 设计频率计的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。控制时钟信号clk取为1Hz,2分频后即可产生一个脉宽为1秒的时钟test-en,此作为计数闸门信号。当test-en为高电平时,允许计数;当test-en由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次test-en上升沿到来之前产生清零信号clear,将计数器清零,为下次计数作准备。2 .32位锁存器:设置锁存器的作用是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存器的位数应跟计数器完全一样。3.计数器:计数器以待测信号作为时钟,清零信号clear到来时,异步清零;test-en为高电平时开始计数。5、 实验步骤1建立工作库文件夹和编辑设计文件1)新建一个文件夹。首先利用Windows资源管理器,新建一个文件夹。2)输入源程序。打开Quartus,选择Filenew命令,在New窗口中的Design File栏选择编辑文件的语言类型,这里选择VHDL File选项。然后在VHDL文本编译窗口中输入以下VHDL程序。3)文件存盘。2.创建工程 选择Filenew Project Wizard命令建立工程,将设计文件加入工程中。3.编译前设置 在对工程进行编译处理前必须给予必要的设置和约束。4.全程编译 选择ProcessingStart Compilation命令,启动全程编译。5.时序仿真打开波形编辑器,选择Filenew命令,在New窗口中选择Vector Waveform File选项。设置仿真时间区域,编辑输入波形,仿真器参数设置,启动仿真器,观察仿真结果。测频控制电路程序如下:LIBRARY IEEE; -测控控制电路USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FTCTRL IS PORT (CLKK:IN STD_LOGIC;-1HZ CNT_EN:OUT STD_LOGIC; -计数器时钟使能 RST_CNT:OUT STD_LOGIC; -计数器清零 Load:OUT STD_LOGIC); -输出锁存信号END FTCTRL;ARCHITECTURE behave OF FTCTRL ISSIGNAL Div2CLK:STD_LOGIC;BEGINPROCESS(CLKK)BEGINIF CLKKEVENT AND CLKK=1 THEN -1HZ时钟2分频Div2CLK=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 behave;图1 测控控制电路的RTL图 图2 测控控制电路时序仿真图图3 测控控制器元器件图32位锁存器程序如下:LIBRARY IEEE; -32位锁存器USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT (LK:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END REG32B;ARCHITECTURE behave OF REG32B ISBEGINPROCESS(LK,DIN)BEGINIF LKEVENT AND LK=1 THEN DOUT=DIN;END IF;END PROCESS;END behave; 图4 32位锁存器的RTL图图5 32位锁存器的时序仿真图图6 32位锁存器元器件图计数器程序如下:LIBRARY IEEE; -32位计数器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER32B ISPORT(FIN:IN STD_LOGIC; -时钟信号 CLR:IN STD_LOGIC; -清零信号 ENABL:IN STD_LOGIC; -计数使能信号 DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);-计数结果END COUNTER32B;ARCHITECTURE behave OF COUNTER32B ISSIGNAL CQI:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN PROCESS(FIN,CLR,ENABL) BEGINIF CLR=1 THEN CQI0); -清零ELSIF FINEVENT AND FIN=1 THEN IF ENABL=1 THEN CQI=CQI+1; END IF; END IF;END PROCESS;DOUTCLK1HZ,CNT_EN=TSTEN1, RST_CNT=CLR_CNT1,Load=Load1);U2: REG32B PORT MAP( LK=Load1,DIN=DTO1,DOUT=DOUT );U3: COUNTER32B PORT MAP(FIN=FSIN,CLR=CLR_CNT1, ENABL=TSTEN1,DOUT=DTO1);END struc;图10 8位十六进制频率计电路图六 实验结果及分析工程编译通过后,必须对其功能和时序性质进行仿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论