位十进制频率计EDA课程设计报告_第1页
位十进制频率计EDA课程设计报告_第2页
位十进制频率计EDA课程设计报告_第3页
位十进制频率计EDA课程设计报告_第4页
位十进制频率计EDA课程设计报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

EDA课程设计报告名称:8位十进制频率计学位:名字:学年专业:2011级电子信息工程学院:物电学院指导老师:日期:2014年6月2日安徽师范大学物理电子信息学院collegeofphysicsandelectronicinformation,Anhui Normal University目录一、设计目的2二、设计要求二三、设计构想3四、设计原理3五、设计模拟3六、实验现象4七、设计源代码4八、总结九参考文献9引言数字频率计是数字电路的典型应用,实际硬件设计中使用的设备教育很多,布线复杂,而且产生大的延迟,测量误差、可靠性差。 随着现场可编程阵列FPGA的应用,作为EDA工具的开发手段,使用VHDL等硬件描述语言,大大简化了整个系统,提高了整个系统的性能和可靠性。一、课程设计目的1 )加深对“EDA技术”“数字电子技术”基本知识的理解,提高综合运用本课程中学到的知识的能力。2 )培养学生根据课题选择参考书、手册、图表、文献资料的自学能力。 通过独立思考,你会学习深入研究相关问题,分析自己解决问题的方法。3 )培养硬件设计、软件设计和系统软件、硬件调整的基本思路、方法和技术,能熟练运用当前流行的电路设计和分析相关的软件和硬件。二、课程设计要求1 )脉冲信号的频率是在单位时间内产生的脉冲数,f是被测定信号的频率,n是累积在计数器中的脉冲数,t是产生n个脉冲所需要的时间。 因此,计数器在1秒钟内记录的结果是被测定信号的频率。2 )被测频率信号从实验箱水晶振荡器的输出信号被施加到控制台室的输入端。3 )取晶体振荡器的另一标准频率信号,进行分频以产生各种定时脉冲:1ms、10ms、0.1s、1s等,定时信号的选择可以控制,即范围改变。4 )定时信号通过控制电路在主栅极中产生栅极信号,仅在栅极信号的采样期间(定时信号的一个周期)内,输入信号通过主栅极。5 )当5)f=N/T,改变定时信号的周期t时,可以获得不同的频率测量范围。6 )当主门关闭时,计数器停止计数,监视器显示记录结果,控制电路输出归零信号,使计数器和所有触发器复位,准备新的采样三、课程设计的思考频率测量的基本原理是计算每秒测量的信号的脉冲数。 这需要TESTCTL的计数使能信号TSTEN产生具有1秒脉冲宽度的周期信号,并且对频率计的计数器CNT10的ENA使能侧进行同步控制。 在TSTEN为高电平时,在允许计数的低电平时,停止计数并保持计数数。 在停止计数期间,首先需要锁存器信号LOAD的上升沿,将计数器前1秒的计数值锁存在32位锁存器REG32B中,由外部的7段解码器进行解码并稳定地显示。 锁存信号后,清除信号CLR_CNT清除计数器,准备下一秒钟的计数动作。当该模块的输入端口已经存在32位BCD代码时,寄存器REG32B在信号LOAD的上升时被锁存在寄存器REG32B内部,从REG32B的输出侧输出,并且将7段解码器翻译者输出的数值显示在数字代码管理器上计数器CNT10要求具有用于锁定计数值的时钟使能输入。 在高电平时允许计数,在低电平时禁止计数。此次设计是实验箱的下载验证,可以将第一全局时钟CLK连接到实验箱的1Hz频率信号上,输入第二全局时钟CLK2作为测定对象频率,将测定出的频率值连接6个数字码管来输出。四、课程设计原理在电子技术中,频率是最基本的参数之一,与许多电气参数的测量方案、测量结果有着密切的关系,所以频率的测量更为重要。 测量频率的方法有很多,其中电子计数器的测量频率具有精度高、使用方便、测量快捷、测量过程自动化容易等优点,是测量频率的重要手段之一。数字频率计的测量原理有两种。 一种是直接频率测量法,在一定的选通时间内测量被测量信号的脉冲数的第二种是作为间接频率测量法的周期法,例如周期频率测量法。 直接频率测量法适用于高频信号的频率测量,通常用计数器、数据锁存器和控制电路实现,通过改变计数器阀的时间长度实现不同测量精度的间接频率测量法适用于低频信号的频率测量。在这次的设计中,直接频率测量法,即计数器向计算机1S内输入信号周期的个数,其频率范围为1HzHz。五、设计电路的顶层结构和仿真图本次的设计由3个模块构成,频率计测控制信号发生器TESTCTL具有在时钟时发挥作用的十进制计数器CNT10和32位锁存器REG32B顶层结构图频率测量控制信号发生器TESTCTL的模拟效果图六、实验现象当从时钟源TJ4TJ6输入一个波形信号时,数字码管显示该信号的频率值,输入信号的频率范围为1Hz100MHz,在频率高的情况下有误差。 另外,可以从GCLK2侧输入外部的数字信号进行测量。七、设计源代码十进制计数器CNT10程序:库IEEE;use ieee.std_logic_1164.all;实体CNT 10is端口(clk : in STD _ logic;clr: in std_logic;ena: in std_logic;CQ : out integer范围0 to 9;carry_out: out std_logic;end cnt10;CNT 10 is体系结构信号cqi :智能范围0 to 9;begin流程(clr、clk、ena )beginPS (PS=1) Kcqi=0;elsif (clk事件和clk=1) thenPS (PS=1) PSPK (cqi=9) PScqi=0;carry_out=1;elsecqi=cqi 1carry_out=0;结束PS;结束PS;结束PS;结束处理;cq=cqi;end behav;角色:实现十进制计数功能。 当第一个CNT10对CQ=9进行计数输出时,当下一秒的时钟上升沿到达时,在产生CARRY_OUT信号作为下一个CNT10的时钟信号的同时CQ被清除。 依次按压到8个CNT10。32位锁存器REG32B程序:库IEEE;use ieee.std_logic_1164.all;实体reg 32 b is端口(load : in STD _ logic;rst: in std_logic;din : instd _ logic _ vector (31 down to0)dout :输出STD _ logic _ vector (31下载到0 );结束记录32 b;architecture behav of reg32b is信号数据: STD _ logic _ vector (31 down to0)begin进程(rst,load )beginPR=1PSdata=(others=0)elsif (加载事件和加载=1) thendata=din;结束PS;dout=data;结束处理;end behav;实现方式:复位信号RST为高电平时复位,低电平时,锁存当LOAD信号的上升沿到达时输入到内部的CNT10计数信号。角色:锁存信号,将结果输出到SELTIME。频率测量控制信号发生器TESTCTL程序:库IEEE;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;实体测试PS is端口(clk : in std_logic;tsten : out std_logic;clr_cnt : out std_logic;load : out std_logic;结束测试CTL;architecture behav of testctl is信号div2clk : STD _ logic;begin进程(clk )beginPS (事件和clk=1) thendiv2clk=not div2clk;结束PS;结束处理;进程(clk,div2clk )beginPS (PS=0and div2PS=0) thenclr_cnt=1;elseclr_cnt=0;结束if;结束处理;加载=not div2clk;tsten=div2clk;end behav;作用:对8个CNT10产生产生同步使能信号TSTEN的清除信号CLR_CNT,当计数完成时,清除8个CNT10,产生锁存信号LOAD并锁存锁存器RED32B,锁存CNT10产生的信号。数字代码的解码显示了DELED的程序库IEEE;USE IEEE.STD_LOGIC_1164.ALL;实体deled is端口(s : instd _ logic _ vector (3down to0)a、b、c、d、e、f、g、h :输出STD _ logic;结束deled;deled is体系结构信号数据: STD _ logic _ vector (3down to0)信号dout : STD _ logic _ vector (7下载到0 )BEGINDATA=S;进程(数据)BEGINCASE DATA ISwhen0000=dout=;when0001=dout=;when0010=dout=;when0011=dout=;when0100=dout=;when0101=dout=;when0110=dout=;WHEN 0111=DOUT=;when1000=dout=;when1001=dout=;when1010=dout=;when1011=dout=;when1100=dout=;when1101=dout=;when1110=dout=;when1111=dout=;WHEN OTHERS=DOUT=;结束情况;结束处理;H=DOUT(7)G=DOUT(6)F=DOUT(5)E=DOUT(4)D=DOUT(3)C=DOUT(2)B=DOUT(1)A=DOUT(0)END BEHAV;作用:用数字编码管直观显示实验结果。数字代码管理扫描SELTTIME的程序:库IEEE;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;实体选择is端口(clk : in std_logic;din : instd _ logic _ vector (31 down to0)daout : out STD _ logic _ vector (3down to0)sel :输出STD _ logic _ vector (2下载到0 );结束选择;seltime is体系结构signal sec : STD _ logic _ vector (2down to0)begin进程(clk )beginPS (事件和clk=1) thenif(sec=111) thensec=000 ;elsesec=sec 1;结束PS;结束PS;结束处理;进程(sec,din (31下到0 ) )begincase sec iswhen000=daout=din(3downto0)when001=daout=din(7downto4)when010=daout=din(11

温馨提示

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

评论

0/150

提交评论