数字频率计实验报告
数字频率计实训报告
![数字频率计实训报告](https://img.taocdn.com/s3/m/8d8a473743323968011c9286.png)
ALE/ :党访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。当在Flash编程时还可以作为编程脉冲输出( )。
一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。
1.1课题背景
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
当执行内部编程指令时, 应该接到VCC端。
·XTAL1:振荡器反相放大器以及内部时钟电路的输入端。
·XTAL2:振荡器反相放大器的输出端。
在本次设计中,采用89C51作为CPU处理器,充分利用其硬件资源,结合D触发器Cቤተ መጻሕፍቲ ባይዱ4013,分频器CD4060,模拟转换开关CD4051,计数器74LS90等数字处理芯片,主要控制两大硬件模块,量程切换以及显示模块。下面还将详细说明。
2.1系统硬件的构成
本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。可分为以下几个模块:放大整形模块、秒脉冲产生模块、换档模拟转换模块、单片机系统、LCD显示模块。
各模块关系图如图2所示:
图2数字频率计功能模块
2.2系统工作原理图
关键词:频率测量,频率计,单片机,LED显示
目录
摘要…………………………………………………………………………………………1
实验报告模板:实验四 数字频率计设计
![实验报告模板:实验四 数字频率计设计](https://img.taocdn.com/s3/m/b8f1a1380912a2161479299e.png)
实验四数字频率计设计【实验目的】1.掌握数字频率计的Verilog描述方法;2.学习设计仿真工具的使用方法;3.学习层次化设计方法;【实验内容】1.用4位十进制计数器对用户输入时钟进行计数,计数间隔为1秒,计数满1秒后将计数值(即频率值)锁存到4位寄存器中显示,并将计数器清0,再进行下一次计数。
2.为上述设计建立元件符号【实验原理】根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽位1 秒的输入信号脉冲计数允许信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一次测频计数周期做准备的计数器清零信号。
这3个信号由测频控制信号发生器TESTCTL产生,它的设计要求是,TESTCTL的计数使能信号输出CNT_EN 能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。
当CNT_EN高电平时,允许计数;当CNT_EN低电平时停止计数,并保持所计的脉冲数。
在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进各个锁存器REG4B中,并由外部的七段译码器译出,显示计数值。
设置锁存器的好处是,显示数据稳定,不会由于周期性的清零信号而不断闪烁。
信号锁存之后,还必须用清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作做准备。
【程序源代码】(加注释)module CNT10(CLK,RST,EN,COUT,DOUT); //4位计数器input CLK,RST,EN; //时钟,复位,时钟使能output COUT; //计数进位输出output[3:0] DOUT; //计数数据输出[3:0] Q; reg COUT;always @ (posedge CLK or posedge RST)begin //时序部分if(RST) Q=0; //RST=1时,对内部寄存器单元异步清零else if(EN) begin //同步使能EN=1,则允许计数if(Q<9) Q=Q+1; //当Q小于9时,累加计数else Q=0;end //否则一个时钟后清0返回初值endalways @ (Q) //组合电路过程if(Q==4'b1001) COUT=1; //当Q==4'b1001时,输出进位COUT=1else COUT=0; //否则,输出进位为0assign DOUT=Q; //把Q赋值给DOUTendmodulemodule RGB4(DIN,LOAD,DOUT); //4为数据寄存器input LOAD; //加载信号input[3:0] DIN; //外加输入信号output[3:0] DOUT;reg[3:0] DOUT;always @ (posedge LOAD)DOUT=DIN; // LOAD有效则将外加输入信号加载endmodulemodule CNTL(CLK,CNL_EN,RST_CNL,LOAD);//控制部分input CLK; //由CLK信号产生CNL_EN,RST_CNL,LOAD信号output CNL_EN,RST_CNL,LOAD; 时钟使能,时钟复位,数据加载控制信号reg CLKDIV,CNL_EN,LOAD,RST_CNL;always @ (posedge CLK)CLKDIV=~CLKDIV; //在时钟信号在上升沿时,将CLKDIV取反always @ (posedge CLK) beginCNL_EN=CLKDIV; //在时钟信号在上升沿时, 把CLKDIV赋给使能信号CNL_EN LOAD=~CLKDIV;end //在时钟信号在上升沿时, 将CLKDIV取反并赋值给加载信号always @ (CLK) beginif(CLK==1'b0&&CNL_EN==1'b0)RST_CNL=1; //当使能信号与时钟信号均为低电平时,RST_CNL=1 elseRST_CNL=0; end //否则RST_CNL=0endmodulemodule FREG (clk1HZ,uclk,led0,led1,led2,led3,rst,en,load);input clk1HZ, uclk; //时钟信号和待测信号output [3:0]led0,led1,led2,led3; //4个八段数码管output load,rst,en; //复位和加载信号wire in_load,in_rst,in_en,c0,c1,c2;wire [3:0]dout0,dout1,dout2,dout3;assign load=in_load;assign rst=in_rst;assign en=in_en;CNTL u1(.CLK(clk1HZ),.CNL_EN(in_en),.RST_CNL(in_rst),.LOAD(in_load));CNT10 u2 (.CLK(uclk),.EN(in_en),.RST(in_rst),.COUT(c0),.DOUT(dout0));CNT10 u3 (.CLK(c0),.EN(in_en),.RST(in_rst),.COUT(c1),.DOUT(dout1));CNT10 u4 (.CLK(c1),.EN(in_en),.RST(in_rst),.COUT(c2),.DOUT(dout2));CNT10 u5 (.CLK(c2),.EN(in_en),.RST(in_rst),.DOUT(dout3));RGB4 u6 (.DIN(dout0),.LOAD(in_load),.DOUT(led0));RGB4 u7 (.DIN(dout1),.LOAD(in_load),.DOUT(led1));RGB4 u8 (.DIN(dout2),.LOAD(in_load),.DOUT(led2));RGB4 u9 (.DIN(dout3),.LOAD(in_load),.DOUT(led3));LED7 u10 (.IN(led0));LED7 u11 (.IN(led1));LED7 u12 (.IN(led2));LED7 u13 (.IN(led3));endmodule【元件符号与总框图】【仿真和测试结果】功能分析:在波形中,CLK1HZ的频率为1HZ,以CLK1HZ为输入,产生CNL_EN(en),RST_CNL(rst),LOAD(load)的输出波形。
数字频率计课程设计实习报告
![数字频率计课程设计实习报告](https://img.taocdn.com/s3/m/c22240d576a20029bd642daf.png)
数字频率计设计报告书一、设计要求设计一个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中,对芯片起到保护作用。
频率计实验报告
![频率计实验报告](https://img.taocdn.com/s3/m/cf5817576fdb6f1aff00bed5b9f3f90f76c64dfe.png)
频率计实验报告一,实验目的1. 应用AT89S52单片机、单片机的I/O端口外扩驱动器74HC573和74HC138、LED数码管动态显示等实现对外部信号频率进行准确计数的设计。
二,实验要求A.基本要求:使用单片机的定时器/计数器功能,设计频率测量装置。
(1)当被测频率fx<100Hz时,采用测周法,显示频率XXX.XXX;当被测频率fx>100Hz时,采用测频法,显示频率XXXXXX。
(2)利用键盘分段测量和自动分段测量。
(3)完成单脉冲测量,输入脉冲宽度范围是100µs-0.1s。
B.扩展部分:三,实验基本原理以单片机AT89S52为核心,利用单片机AT89S52的计数/定时器(T1和T0)的功能来实现频率的计数,并且利用单片机的动态扫描把测出的数据送到数字显示电路显示。
利用7SEG-MPX8-CC-BLUE共阴极数码管,显示电路共由六位共阴极数码管组成,总体原理框图如图1.1所示。
图1.1 总体设计框图测频原理测量频率有测周法和测频法两种。
如图2.2和图2.3所示图1.2测周法 图1.3测频法(1)测频法(T 法):通过测量脉冲宽度来确定频率,适用于高频。
(2)测周法(M 法):是计数器在一定时间内对速度的脉冲数,确定频率,适用于低频。
四,实验设计分析针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含8KB 在线可编程(ISP )的可反复擦写1000次的Flash 只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 52指令系统及80C52引脚结构。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
延时程序等。
运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。
首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
频率计实验报告
![频率计实验报告](https://img.taocdn.com/s3/m/7907547d59fb770bf78a6529647d27284b7337f2.png)
频率计实验报告一、实验目的本次实验的目的是通过设计和搭建频率计电路,掌握频率测量的基本原理和方法,熟悉相关电子元器件的使用,提高电路设计和调试的能力,并深入理解数字电路中计数器、定时器等模块的工作原理。
二、实验原理频率是指周期性信号在单位时间内重复的次数。
频率计的基本原理是通过对输入信号的周期进行测量,并将其转换为频率值进行显示。
常见的频率测量方法有直接测频法和间接测频法。
直接测频法是在给定的闸门时间内,对输入信号的脉冲个数进行计数,从而得到信号的频率。
间接测频法则是先测量信号的周期,然后通过倒数计算出频率。
在本次实验中,我们采用直接测频法。
使用计数器对输入信号的脉冲进行计数,同时使用定时器产生固定的闸门时间。
在闸门时间结束后,读取计数器的值,并通过计算得到输入信号的频率。
三、实验设备与器材1、数字电路实验箱2、示波器3、函数信号发生器4、集成电路芯片(如计数器芯片、定时器芯片等)5、电阻、电容、导线等若干四、实验步骤1、设计电路原理图根据实验要求和原理,选择合适的计数器芯片和定时器芯片,并设计出相应的电路连接图。
确定芯片的引脚连接方式,以及与外部输入输出信号的连接关系。
2、搭建实验电路在数字电路实验箱上,按照设计好的电路原理图,插入相应的芯片和元器件,并使用导线进行连接。
仔细检查电路连接是否正确,确保无短路和断路现象。
3、调试电路接通实验箱电源,使用示波器观察输入信号和输出信号的波形,检查电路是否正常工作。
调整函数信号发生器的输出频率和幅度,观察频率计的测量结果是否准确。
4、记录实验数据在不同的输入信号频率下,记录频率计的测量值,并与函数信号发生器的设定值进行比较。
分析测量误差产生的原因,并尝试采取相应的措施进行改进。
五、实验数据与分析以下是在实验中记录的部分数据:|输入信号频率(Hz)|测量值(Hz)|误差(%)||||||100|98|2||500|495|1||1000|990|1||2000|1980|1|从数据中可以看出,测量值与输入信号的实际频率存在一定的误差。
数字频率计实验报告
![数字频率计实验报告](https://img.taocdn.com/s3/m/78976a0e11a6f524ccbff121dd36a32d7375c7c2.png)
考虑到测量方便,将数字频率计划分为四档:10~99Hz 、100~999Hz 、1000~9999Hz 、10000~99999Hz 。
这样可以保证每一档三位有效数字,而且第三位有效数字误差在±2以内时即可达到精度要求。
三个输入信号:待测信号、标准时钟脉冲信号和复位脉冲信号。
设计细化要求:频率计能根据数字频率计设计计双0102 雷昊 2001011830786一、课程设计内容及要求本次课程设计要求设计并用FPGA 实现一个数字频率计,具体设计要求如下:测量频率范围: 10Hz ~100KHz 精度: ΔF / F ≤ ±2 %系统外部时钟: 1024Hz 测量波形: 方波 Vp-p = 3~5 V 硬件设备:Altera Flex10K10 五位数码管 LED 发光二极管编程语言:Verilog HDL / VHDL二、系统总体设计输入待测信号频率自动选择量程,并在超过最大量程时显示过量程,当复位脉冲到来时,系统复位,重新开始计数显示频率。
基于上述要求,可以将系统基本划分为四个模块,分别为分频、计数、锁存和控制,并可以确定基本的连接和反馈,如上图所示。
三、系统及模块设计与说明如左图所示为数字频率计测量频率的原理图。
已知给定标准时钟脉冲高电平时间,将此0T 高电平信号作为计数器闸门电平,通过计数器得到时间内待测脉冲的个数N ,则有。
由图示可以看出,一个闸门电平时间内0T 0T Nf计数的最大误差为N ±1,为保证误差要求取N ≥100。
经计算,四档的闸门电平时间分0T 别为10s 、1s 、0.1s 和0.01s 。
仅对计数器计数值N 进行简单的移位即可得到结果。
产生闸门电平的工作由分频器完成。
分频器采用计数分频的方法,产生计数闸门电平和一系列控制脉冲,并接受计数器和控制器的反馈。
控制器主要用来判断计数器计数是否有效,从而控制档位转换,锁存器打开、关闭和设定值。
计数器在分频器和控制器的作用下对输入待测信号计数,并把计数值输出,在计数溢出时向控制器和分频器发送溢出脉冲。
数字频率计设计实验报告
![数字频率计设计实验报告](https://img.taocdn.com/s3/m/8c3c676727d3240c8447ef49.png)
成绩指导教师日期张歆奕2011-5-12 五邑大学实验报告实验课程名称:电子系统EDA院系名称:信息学院专业名称:通信工程实验项目名称:实验3 数字频率计班级:AP08054 学号:AP0805422 报告人:彭志敏实验3 数字频率计一、实验目的1、学会利用Quartus II 进行层次化设计;2、练习混合设计输入方法;3、巩固用实验箱验证设计的方法。
二、频率计的原理数字频率计是用来测量输入信号的频率并显示测量结果的系统。
一般基准时钟的高电平的持续时间为01T S ,若在这0T 内被测信号的周期数为N 则被测信号的频率就是N ,选择不同的0T ,可以得到不同的测量精度。
一般0T 越大,测量精度越高,但一次的测量时间及频率计所需的硬件资源也增加。
下面是数字频率计测量原理示意图(图一):▲图一:数字频率计测量原理示意图三、频率计设计及其简要说明(可分模块进行说明)数字频率计可由三模块组成,控制模块、计数模块、锁存显示模块。
下面先介绍顶层设计,然后分模块介绍。
1.顶层设计。
改频率计顶层设计采用原理设计,主要包过6个10进制计数器,一个门控制电路和一个锁存器。
输入引脚包括时钟信号CLK 和复位按钮reset 以及待测频率信号输入端signer ,输出引脚一个24位output 。
▲图二:数字频率计顶层设计原理图2.控制模块。
控制模块是此次设计的设计重点和难点,在标准时钟的作用下,它需要提供计数模块的时钟信号和周期为2秒的控制信号,还要提供锁存器必要时候的锁存允许信号,在一定时候锁存计数器测得的频率值。
主要由门电路和D 触发器构成,下面是控制模块原理图(图三)和时序图(图四)。
▲图三控制模块原理图▲图四控制模块时序图3.计数模块。
计数模块有六个相同的十进制计数器构成,各级计数器之间采用级联方式。
计数器就就采用参数化宏单元调用即可。
下图是参数化宏单元计数器生成的符号(图五):▲图五 10进制计数器4.锁存显示模块。
数字频率计实验报告
![数字频率计实验报告](https://img.taocdn.com/s3/m/6ccfa8738e9951e79b8927c4.png)
的工作由分频器完成。
分频器采用计数分频的方法,产生计数闸门电平和一系列控制脉冲,并接受计数器和控制器的反馈。
控制器主要用来判断计数器计数是否有效,从而控制档位转换,锁存器打开、关闭和设定值。
计数器在分频器和控制器的作用下对输入待测信号计数,并把计数值输出,在计数溢出时向控制器和分频器发送溢出脉冲。
锁存器用来储存有效计数值,以稳定输出。
四、系统及模块具体实现与说明系统总体结构图见附图1,下面对每一个模块的具体功能、引脚分配和Verilog HDL语言编程实现进行详细说明。
在分模块介绍之前先说明两个重要的寄存器状态STAT[1..0]和LATCH_STAT[1..0]。
STAT[1..0]用来保存当前档位信息,STA T[1..0]等于0则为第一档,等于1则为第二档,依此类推,共可标记四档,它位于控制模块中,也是输出,这样其他模块可以通过访问它得到当前档位信息,而控制模块可以修改它从而调整档位(注:在系统总图中由于所有与STAT[1..0]相连的线路均为对应顺序连接,故没有才用MAX+plus II中默认的总线连接,而是采用单根线)。
LATCH_STAT[1..0]用来保存锁存器状态信息,LATCH_STA T[1..0]=0时,锁存器在CLK作用下打开关闭。
LATCH_STAT[1..0]=1时,锁存器强制置零,CLK无效。
LATCH_STA T[1..0]=2时,锁存器强制置1FFFF,CLK无效。
它也在控制器中,这样可以通过对其改变数值达到控制锁存器锁存、复位和显示过量程的功能。
计数器COUNTER计数器设计图见附图1右上部分,由四个十进制计数器级联。
四个输入端口:时钟脉冲CLK、使能端EN、清零端CLRN、档位状态端STAT[1..0]。
五个输出端口:四个四位十进制BCD码输出OUT1[3..0]~OUT4[3..0]、过量程溢出OF。
功能表见下:表格1十进制计数器功能表进制计数器用V erilogHDL语言编程实现。
EDA数字频率计实验报告
![EDA数字频率计实验报告](https://img.taocdn.com/s3/m/b071dc1679563c1ec5da71e3.png)
实验四:数字频率计的设计1.实验目的(1)熟悉Quartus Ⅱ/ISE Suite/ispLEVER软件的基本使用方法。
(2)熟悉GW48-CK或其他EDA实验开发系统的基本使用方法。
(3)学习VHDL基本逻辑电路的综合设计应用。
2.实验内容设计并调试好8位十进制数字频率计,并用GW48-CK或其他EDA实验开发系统(事先应选定拟采用的实验芯片的型号)进行硬件验证。
3.实验要求(1)画出系统的原理图,说明系统中各主要组成部分的功能。
(2)编写各个VHDL源程序。
(3)根据系统的功能,选好测试用例,画出测试输入信号波形或编号测试程序。
(4)根据选用的EDA实验开发装置编好用于硬件验证的管脚锁定表格或文件。
(5)记录系统仿真、逻辑综合及硬件验证结果。
(6)记录实验过程中出现的问题及解决办法。
4.实验条件(1)开发条件:Quartus Ⅱ 8.0。
(2)实验设备:GW48-CK实验开发系统。
(3)拟用芯片:EP3C5F484C8N。
5.实验设计1)系统原理图本设计8位数字频率计,它由1个CLKGEN分频模块,1个测频控制信号发生器TESTCTL、8个有时钟使能的十进制计数器CNT10、1个32位锁存器REG32B,动态信号产生模块CTRLS、数据动态显示模块DISPLAY组成。
6个模块按照图4.1所示的原理图构成顶层电路dtFREQ。
图4.1分频、测频、锁存模块图 4.2 dtFREQ电路原理图2)VHDL程序数字频率计FREQ的底层和顶层电路均采用VHDL文本输入,有关VHDL程CNT10的VHDL源程序:--CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK: IN STD_LOGIC;CLR: IN STD_LOGIC;ENA: IN STD_LOGIC;CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO: OUT STD_LOGIC );END ENTITY CNT10;ARCHITECTURE ART OF CNT10 ISSIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINPROCESS(CLK, CLR, ENA) ISBEGINIF CLR='1' THEN CQI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENIF CQI="1001" THENCQI<="0000";ELSECQI<=CQI+'1';END IF;END IF;END IF;END PROCESS;PROCESS(CLK, CQI) ISBEGINIF CLK'EVENT AND CLK='1' THENIF CQI<"1001" THENCO<='0';ELSECO<='1';END IF;END PROCESS;CQ<=CQI;END ARCHITECTURE ART;REG32B的VHDL源程序:--REG32B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B ISPORT(LOAD: IN STD_LOGIC;DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); END ENTITY REG32B;ARCHITECTURE ART OF REG32B ISBEGINPROCESS(LOAD,DIN) ISBEGINIF(LOAD'EVENT AND LOAD='1')THENDOUT<=DIN;END IF;END PROCESS;END ARCHITECTURE ART;TESTCTL的VHDL源程序:--TESTCTL.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL ISPORT(CLK: IN STD_LOGIC;TSTEN: OUT STD_LOGIC;CLR_CNT: OUT STD_LOGIC;LOAD: OUT STD_LOGIC);END ENTITY TESTCTL;ARCHITECTURE ART OF TESTCTL ISSIGNAL DIV2CLK: STD_LOGIC;BEGINPROCESS(CLK) ISBEGINIF CLK'EVENT AND CLK='1' THENDIV2CLK<=NOT DIV2CLK;END IF;END PROCESS;PROCESS(CLK, DIV2CLK) ISBEGINIF CLK='0' AND DIV2CLK='0' THENCLR_CNT<='1';ELSE CLR_CNT<='0';END IF;END PROCESS;LOAD<=NOT DIV2CLK;TSTEN<=DIV2CLK;END ARCHITECTURE ART;CLKGEN的VHDL源程序:--CLKGEN.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN ISPORT(CLK_IN: IN STD_LOGIC;RESET: IN STD_LOGIC;CLK_OUT: OUT STD_LOGIC );END ENTITY CLKGEN;ARCHITECTURE ART OF CLKGEN ISCONSTANT DIVIDE_PERIOD:INTEGER:=50000000; --50MHZ TO 1HZ BEGINPROCESS(CLK_IN,RESET) ISVARIABLE CNT:INTEGER RANGE 0 TO 49999999;BEGINIF(RESET='1')THENCNT :=0;CLK_OUT<='0';ELSIF RISING_EDGE(CLK_IN) THENIF(CNT<(DIVIDE_PERIOD/2)) THENCLK_OUT<='1';CNT:=CNT+1;ELSIF(CNT<(DIVIDE_PERIOD-1)) THENCLK_OUT<='0';CNT:=CNT+1;ELSECNT:=0;END IF;END IF;END PROCESS DIVIDE_CLK;END ARCHITECTURE ART;CTRLS的VHDL源程序--CTRLS.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRLS ISPORT(CLK: IN STD_LOGIC;SEL: OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END ENTITY CTRLS;ARCHITECTURE ART OF CTRLS ISSIGNAL CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINPROCESS(CLK) ISBEGINIF CLK'EVENT AND CLK='1' THENIF CNT="111" THENCNT<="000";ELSECNT<=CNT+'1';END IF;END IF;END PROCESS;SEL<=CNT;END ARCHITECTURE ART;DISPLAY的VHDL源程序--DISPLAY.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DISPLAY ISPORT( SEL: IN STD_LOGIC_VECTOR(2 DOWNTO 0); DATAIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); COM: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); SEG: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY DISPLAY;ARCHITECTURE ART OF DISPLAY ISSIGNAL DATA: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINP1:PROCESS(SEL) ISBEGINCASE SEL ISWHEN"000"=>COM<="11111110";WHEN"001"=>COM<="11111101";WHEN"010"=>COM<="11111011";WHEN"011"=>COM<="11110111";WHEN"100"=>COM<="11101111";WHEN"101"=>COM<="11011111";WHEN"110"=>COM<="10111111";WHEN"111"=>COM<="01111111";WHEN OTHERS=>COM<="11111111";END CASE;END PROCESS P1;P2:PROCESS(SEL)BEGINCASE SEL ISWHEN"000"=>DATA<=DATAIN(3 DOWNTO 0); WHEN"001"=>DATA<=DATAIN(7 DOWNTO 4); WHEN"010"=>DATA<=DATAIN(11 DOWNTO 8); WHEN"011"=>DATA<=DATAIN(15 DOWNTO 12); WHEN"100"=>DATA<=DATAIN(19 DOWNTO 16);WHEN"101"=>DATA<=DATAIN(23 DOWNTO 20); WHEN"110"=>DATA<=DATAIN(27 DOWNTO 24); WHEN"111"=>DATA<=DATAIN(31 DOWNTO 28); WHEN OTHERS=>DATA<="0000";END CASE;CASE DATA ISWHEN"0000"=>SEG<="00111111";WHEN"0001"=>SEG<="00000110";WHEN"0010"=>SEG<="01011011";WHEN"0011"=>SEG<="01001111";WHEN"0100"=>SEG<="01100110";WHEN"0101"=>SEG<="01101101";WHEN"0110"=>SEG<="01111101";WHEN"0111"=>SEG<="00000111";WHEN"1000"=>SEG<="01111111";WHEN"1001"=>SEG<="01101111";WHEN OTHERS=>SEG<="00000000";END CASE;END PROCESS P2;END ARCHITECTURE ART;dtFREQ的VHDL源程序:--dtFREQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dtFREQ ISPORT(FSIN: IN STD_LOGIC;CLK: IN STD_LOGIC;CLK2:IN STD_LOGIC;RESET: IN STD_LOGIC;SEG: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COM: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY dtFREQ;ARCHITECTURE ART OF dtFREQ IS--CNT10COMPONENT CNT10 ISPORT(CLK, CLR, ENA: IN STD_LOGIC;CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO: OUT STD_LOGIC);END COMPONENT CNT10;--REG32BCOMPONENT REG32B ISPORT(LOAD: IN STD_LOGIC;DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); END COMPONENT REG32B;--TESTCTLCOMPONENT TESTCTL ISPORT(CLK: IN STD_LOGIC;TSTEN: OUT STD_LOGIC;CLR_CNT: OUT STD_LOGIC;LOAD: OUT STD_LOGIC);END COMPONENT TESTCTL;--CLKGENCOMPONENT CLKGEN ISPORT(CLK_IN: IN STD_LOGIC;RESET: IN STD_LOGIC;CLK_OUT: OUT STD_LOGIC );END COMPONENT CLKGEN;--CTRLSCOMPONENT CTRLS ISPORT(CLK: IN STD_LOGIC;SEL: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT CTRLS;--DISPLAYCOMPONENT DISPLAY ISPORT(SEL: IN STD_LOGIC_VECTOR(2 DOWNTO 0);DATAIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT DISPLAY;SIGNAL SE,SC,SL,CLK1:STD_LOGIC;SIGNAL S0,S1,S2,S3,S4,S5,S6,S7,S8:STD_LOGIC;SIGNAL SD,DOUT:STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL SEL:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINU0:CLKGEN PORT MAP(CLK,RESET,CLK1);U1:TESTCTL PORT MAP(CLK=>CLK1,TSTEN=>SE, CLR_CNT=>SC, LOAD=>SL); U2:CNT10 PORT MAP(CLK=>FSIN, CLR=>SC, ENA=>SE, CQ=>SD(3 DOWNTO 0),CO=>S1);U3:CNT10 PORT MAP(CLK=>S1, CLR=>SC, ENA=>SE, CQ=>SD(7 DOWNTO 4),CO=>S2);U4:CNT10 PORT MAP(S2, SC, SE, SD(11 DOWNTO 8),S3);U5:CNT10 PORT MAP(S3, SC, SE, SD(15 DOWNTO 12),S4);U6:CNT10 PORT MAP(S4, SC, SE, SD(19 DOWNTO 16),S5);U7:CNT10 PORT MAP(S5, SC, SE, SD(23 DOWNTO 20),S6);U8:CNT10 PORT MAP(S6, SC, SE, SD(27 DOWNTO 24),S7);U9:CNT10 PORT MAP(S7, SC, SE, SD(31 DOWNTO 28),S8);U10:REG32B PORT MAP(LOAD=>SL, DIN=>SD, DOUT=>DOUT);U11:CTRLS PORT MAP(CLK2,SEL);U12:DISPLAY PORT MAP(SEL,DOUT,COM(7 DOWNTO 0),SEG(7 DOWNTO 0));END ARCHITECTURE ART;3)仿真波形设置本设计包括三个层次,因此先进行底层的测频信号发生器TESTCTL、计数器CNT10、锁存器REG32B,分频器CLKGEN,动态信号产生模块CTRLS,数据动态显示模块DISPLAY的仿真,再进行顶层dtFREQ的仿真。
数字频率计实验报告
![数字频率计实验报告](https://img.taocdn.com/s3/m/aaff0bffc8d376eeaeaa31c8.png)
电工电子课程设计——数字频率计学生姓名陈卓学号1302060413专业通信工程班级0605指导教师宋学瑞目录第一章技术指标…………………………………………………………第二章整体方案设计…………………………………………………第三章单元电路设计…………………………………………………第四章测试与调整……………………………………………………第五章设计小结………………………………………………………第一章技术指标一.整体功能要求频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。
其扩展功能可以测量信号的周期。
二.系统结构要求数字频率计的整体结构要求如图所示。
图中被测信号为外部信号,送入测量电路进行处理、测量,档位转换用于选择测试的项目------频率、周期,若测量频率则自动分档。
数字频率计整体方案结构方框图三、电气指标被测信号波形:正弦波和矩形波。
输入信号电压:0.5~5V测量范围:0~9999Hz和1~100kHz脉冲周期测量范围:100μS~1S具有超量程声、光报警功能显示4位有效数字测量误差小于5%可供选择的元器件见附录第二章整体方案设计现代测量技术及仪器以数字化和智能化为主要发展方向。
数字式时频测量仪器很符合这样的方向。
频率量是几乎不经转换就能得到的数字量,在数字频率计中,被测信号是以脉冲信号方法来传递、控制和计数的,易于做成智能化设备。
数字频率计的基本工作原理是以适当的逻辑电路,使电子计数器在预定的标准时间内累计待测输入信号的脉冲个数,实现频率测量。
频率就是指周期性信号在单位时间内重复出现的次数。
若在一定的时间间隔T内计得这个周期性信号的重复次数N,则其频率可表达为:f=N/T由于计数器可以严格按照上式所表达的频率的定义进行测量,对于上式来说,要测量某个周期现象的频率,就必须解决计数和时间标准问题。
测量方案应至少包括两个部分,即计数部分和时基选择部分。
数字频率计的原理框图如下所示:图A、数字频率计测频原理数字频率计的原理框图如图A所示,从中可以看出测量过程。
数字频率计实验报告
![数字频率计实验报告](https://img.taocdn.com/s3/m/5cb2ef11866fb84ae45c8dc8.png)
2011年电子技术实验实验报告频率计一、概述数字频率计是使用领域非常广泛的测量仪器,在计算机、通讯设备、音频视频等科研生产领域不可缺少。
通过十进制数字显示被测信号频率,具有测量迅速,精度高,显示直观等诸多优点。
本实验中,我们使用VHDL开发FPGA的一般流程,采用频率计开发的基本原理和相应的测量方案,在FPGA实验开发板进行数字频率计的设计和实现。
数字频率计是数字电路中的一个典型应用,随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。
本次的频率计设计主要是顶层设计,通过各个模块综合使用,学习常用的数字系统设计方法。
采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。
在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。
该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。
本实验,我采用硬件描述语言VHDL,在软件开发平台ISE上完成,该设计的频率计能准确的测量频率在10Hz到100MHz之间的信号。
使用ModelSim仿真软件对VHDL程序做了仿真,并完成了综合布局布线,最终下载到FPGA上。
VHDL主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式,描述风格以及句法十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称为设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(又称为可视部分,即端口)和内部(又称为不可视部分),即设计实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
现代电子技术综合实验-数字频率计设计实验报告
![现代电子技术综合实验-数字频率计设计实验报告](https://img.taocdn.com/s3/m/f85ca4f933687e21af45a9d4.png)
现代电子技术综合实验数字频率计设计实验报告姓名:学号:、系统总体设计设计要求1、被测输入信号:方波2、测试频率范围为:10Hz〜1MHz 扩展1MHz〜100MHz3、量程分为三档:第一档:闸门时间为1S时,最大读数为999.999KHZ第二档:闸门时间为0.1S时,最大读数为9999.99KHz第三档:闸门时间为0.01S时,最大读数为99999.9KHz。
4、显示工作方式:a用六位BCD七段数码管显示读数。
b、采用记忆显示方法c、实现对高位无意义零的消隐。
系统工作原理信号的频率就是信号在单位时间内所产生的脉冲个数,其表达式为f=N/T ,其中f 为被测信号的频率,N为技术其所累计的脉冲个数,T为产生N个脉冲所需的时间。
技术其所记录的结果,就是被测信号的频率。
如在1s内记录1000个脉冲,则被测信号的频率为1000HZ。
测量频率的基本方法有两种:计数法和计时法,或称测频法和测周期法。
1 、计数法计数法是将被测信号通过一个定时闸门加到计数器进行计数的方法,如果闸门打开的时间为T,计数器得到的计数值为N1,则被测频率为f=N1/T。
改变时间T,贝【J可改变测量频率范围。
如图所示。
计数法测量原理设在T期间,计数器的精确计数值应为N,根据计数器的计数特性可知,N1的绝对误差是N仁N+1,N1的相对误差为A N仁(N1-N)/N=1/N。
由N1的相对误差可知,N的数值愈大,相对误差愈小,成反比关系。
因此,在f以确定的条件下,为减少N的相对误差,可通过增大T的方法来降低测量误差。
当T为某确定值时(通常取1s),则有f仁N1, 而f=N,故有fl的相对误差:A f1=(f1-f)/f=1/f从上式可知fl的相对误差与f成反比关系,即信号频率越高,误差越小;而信号频率越低,贝V测量误差越大。
因此测频法适合用于对高频信号的测量,频率越高,测量精度也越高。
2、计时法计时法又称为测周期法,测周期法使用被测信号来控制闸门的开闭,而将标准时基脉冲通过闸门加到计数器,闸门在外信号的一个周期内打开,这样计数器得到的计数值就是标准时基脉冲外信号的周期值,然后求周期值的倒数,就得到所测频率值。
数字频率计设计实验报告
![数字频率计设计实验报告](https://img.taocdn.com/s3/m/7872ec6fbf1e650e52ea551810a6f524ccbfcbf1.png)
数字频率计设计实验报告1.实验目的本实验旨在通过设计数字频率计的电路,使学生掌握数字电路的设计与运用,加深对计数器、分频器等数字电路的理解,同时熟悉数字电路及测量方法。
2.实验原理数字频率计的原理基于时间测量,将待测信号的周期或频率转化为时间或计数值,再转化为显示在数码管上的频率或周期。
其电路主要由时基、型切换及显示部分组成。
时基部分是实现数字频率计最核心的部分,具有准确的定频测量功能。
根据时基频率的稳定性,数字频率计还可分为光学时基式和晶体时基式,后者是目前数字频率计设计中较为主流和有效的方案。
型切换部分是将输入信号的周期或频率转化为电平,经一个比较器进行比较,输出脉冲后送到后端的计数器。
可分为一级型切换和两级型切换,一级型切换分频系数较小,能测量的频率范围较宽,但精度相对较低;两级型切换分频系数较多,能够实现更高的精度,但测量范围相对较窄。
显示部分主要由解码器、数码管、驱动器等构成,将计数器输出的数字部分经过解码器解码,以驱动数码管显示实际测量结果。
3.实验内容3.1电路设计本实验按照晶体时基式数字频率计的设计原理,设计一个简单的频率计电路。
时基部分采用简单的晶体振荡器电路,输入3V的电源电压,晶体振荡频率为6M,采用CD4066B型CMOS开关实现时填充寄存器与计数控制部分的切换。
型切换部分采用两级型切换,以加强精度,输入信号经过第一级分频后送到S1端,S1端接CD4066B的开关控制引脚,在S1位置上的6dB衰减电阻衰减输入信号再经过第二级分频后进入计数控制部分。
显示部分采用三片74LS47数码管显示器驱动芯片将数码转移至共阴数码管,选用CD4052B组成的位选开关循环驱动数码管。
3.2电路测试将方法频率计电路搭建完成后,接通电源,输入300Hz、3kHz、30kHz和300kHz的信号,观察数码管的测量结果。
并与示波器进行对比,计算相对误差。
4.实验结果通过实验测试,本设计可以稳定地测量300Hz至300kHz范围内的信号频率,并且测量误差相对较小。
数字频率计实训报告
![数字频率计实训报告](https://img.taocdn.com/s3/m/8186ea8e32d4b14e852458fb770bf78a65293a3b.png)
一、实训目的本次数字频率计实训旨在使学生掌握数字频率计的基本原理、结构、工作原理以及实际操作技能。
通过实训,学生能够了解数字频率计在电子技术中的应用,提高电子测量和信号处理能力,为今后从事相关领域的工作打下坚实基础。
二、实训环境1. 实训设备:数字频率计、示波器、信号发生器、万用表等。
2. 实训软件:数字频率计操作软件、示波器操作软件等。
3. 实训场地:电子实验室。
三、实训原理数字频率计是一种用于测量信号频率的仪器,它通过数字电路对输入信号进行采样、计数、处理,最终显示出信号的频率。
其基本原理如下:1. 采样:将输入信号按照一定的采样频率进行采样,得到一系列离散的采样值。
2. 计数:对采样值进行计数,得到在一定时间内信号变化的次数。
3. 处理:根据计数结果和采样频率,计算出信号的频率。
四、实训过程1. 数字频率计的结构认识:了解数字频率计的组成部分,如:模拟输入电路、数字信号处理电路、显示电路等。
2. 数字频率计的使用方法:学习数字频率计的操作步骤,包括:开机、设置测量范围、输入信号、读取频率值等。
3. 信号发生器的使用:掌握信号发生器的操作方法,产生不同频率、幅度和波形的信号。
4. 数字频率计的测量:使用数字频率计测量信号发生器产生的信号频率,并与理论值进行比较,分析误差原因。
5. 示波器的使用:观察信号波形,分析信号的频率、幅度、相位等特性。
6. 数据分析与处理:对测量数据进行处理和分析,得出结论。
五、实训结果1. 成功掌握了数字频率计的基本原理、结构和工作原理。
2. 熟练掌握了数字频率计的操作方法,能够独立进行测量和数据分析。
3. 通过实验,验证了数字频率计在电子技术中的应用价值。
4. 提高了电子测量和信号处理能力。
六、实训总结1. 数字频率计是一种重要的电子测量仪器,广泛应用于电子技术领域。
2. 掌握数字频率计的基本原理、结构和工作原理,对于从事电子技术工作具有重要意义。
3. 实训过程中,应注意以下几点:- 熟悉数字频率计的操作方法,避免误操作。
毕业设计194数字式频率计设计实验报告
![毕业设计194数字式频率计设计实验报告](https://img.taocdn.com/s3/m/9a94c92caf45b307e971970f.png)
数字式频率计设计实验报告频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。
一:设计要求1. 用555产生待测频率信号和定时时机信号。
2.频率测量范围为0000~9999 Hz。
3. 用LED数码管显示频率数值。
4. 计数结束时对数码管清零。
二:设计原理所谓频率,就是周期性信号在单位时间(1s)内变化的次数。
若在一定时间间隔T内测得这个周期性信号的重复变化次数为N,则其频率可表示为f=N/T。
图1①时基电路时基电路的作用是产生一个标准时间信号(高电平持续时间为1s),由定时器555 构成的多谐振荡器产生。
若振荡器的频率,则振荡器的输出波形如图1中的波形II所示,其中t1=1s,t2=0.25s。
由公式t1=0.7(R1+R2)C和t2=0.7R2C,可计算出电阻R1、R2及电容C的值。
图2②逻辑控制电路根据图1(b)所示波形,在计数信号II 结束时产生锁存信号IV,锁存信号IV 结束时产生清“0”信号V。
脉冲信号IV 和V 可由两个单稳态触发器74LS123 产生,它们的脉冲宽度由电路的时间常数决定。
设锁存信号IV 和清“0 ”信号V的脉冲宽度tw 相同,如果要求tw=0.02s ,则得tw=0.45RextCext=0.02s。
若取Rext=10kΩ,则Cext=tw/0.45Rext=4.4μF。
由74LS123 的功能可得,当1RD=1B=1,触发脉冲从1A 端输入时,在触发脉冲的负跳变作用下,输出端Q 1可获得一负脉冲,其波形关系正好满足图1 所示的波形IV 和V 的要求。
手动复位开关S 按下时,计数器清“0”。
图3③锁存器锁存器的作用是将计数器在1s 结束时所计得的数进行锁存,使显示器上能稳定地显示此时计数器的值。
EDA实验四数字频率计实验报告
![EDA实验四数字频率计实验报告](https://img.taocdn.com/s3/m/4c0ef97aa417866fb84a8e36.png)
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).完成设计文件输入后,保存文件,对文件进行编译和仿真。
数字频率计实训报告心得
![数字频率计实训报告心得](https://img.taocdn.com/s3/m/25a19d0d76232f60ddccda38376baf1ffd4fe375.png)
一、引言随着科技的飞速发展,数字技术在各个领域的应用越来越广泛。
数字频率计作为数字测量技术中的一种重要工具,其在电子、通信、科研等领域扮演着至关重要的角色。
为了更好地理解和掌握数字频率计的使用方法,提高自身的实践能力,我参加了数字频率计实训课程。
通过这段时间的学习和实践,我对数字频率计有了更深入的了解,以下是我对这次实训的心得体会。
二、实训内容与过程1. 实训内容本次实训主要围绕数字频率计的基本原理、测量方法、功能应用等方面展开。
具体内容包括:(1)数字频率计的基本原理及结构(2)数字频率计的测量方法及误差分析(3)数字频率计在通信、电子、科研等领域的应用(4)数字频率计的维护与保养2. 实训过程实训过程中,我们首先学习了数字频率计的基本原理和结构,了解了其内部电路及工作原理。
接着,通过实验操作,掌握了数字频率计的测量方法,并进行了误差分析。
最后,我们结合实际应用,探讨了数字频率计在各个领域的应用案例。
三、实训心得体会1. 理论与实践相结合的重要性在实训过程中,我深刻体会到了理论与实践相结合的重要性。
虽然我们在课堂上学习了数字频率计的基本原理,但只有通过实际操作,才能真正掌握其使用方法。
通过动手实践,我对理论知识有了更深刻的理解,同时也提高了自己的动手能力。
2. 数字频率计在各个领域的应用价值实训过程中,我了解到数字频率计在通信、电子、科研等领域的应用非常广泛。
例如,在通信领域,数字频率计可以用于测量信号的频率、相位等参数,为通信设备的研发和调试提供重要依据;在电子领域,数字频率计可以用于测量电路元件的频率特性,为电路设计提供参考;在科研领域,数字频率计可以用于测量物理量的频率,为科学研究提供数据支持。
3. 误差分析的重要性在实训过程中,我们学习了数字频率计的误差分析方法。
误差分析是数字频率计测量过程中的重要环节,通过对误差的识别、分析、修正,可以提高测量结果的准确性。
因此,在今后的工作中,我将更加注重误差分析,提高自己的测量技能。
数字频率计实训报告总结
![数字频率计实训报告总结](https://img.taocdn.com/s3/m/c72c2372443610661ed9ad51f01dc281e53a563b.png)
一、实训背景与目的随着科技的飞速发展,数字频率计在各个领域得到了广泛应用。
为了更好地了解数字频率计的工作原理和实际应用,提高自身的实践能力,我们选择了数字频率计作为实训项目。
本次实训旨在使学生掌握数字频率计的设计原理、实现方法及调试技巧,提高学生在电子设计、电路分析等方面的综合能力。
二、实训内容与过程1. 实训内容本次实训主要包括以下内容:(1)数字频率计的基本原理和设计方法(2)TMS320F2812 DSP芯片及其在数字频率计中的应用(3)数字频率计的硬件电路设计(4)数字频率计的软件编程(5)数字频率计的调试与优化2. 实训过程(1)理论学习:通过查阅相关资料,了解数字频率计的基本原理、TMS320F2812 DSP芯片的功能和应用,为后续的实践环节打下理论基础。
(2)硬件电路设计:根据实训要求,设计数字频率计的硬件电路,包括电源管理模块、输入调理模块、信号处理模块、通讯模块和D触发器等。
(3)软件编程:编写数字频率计的软件程序,实现频率测量、脉宽和占空比测量等功能。
(4)调试与优化:对数字频率计进行调试,检查电路性能,优化软件程序,确保数字频率计能够稳定、准确地测量频率。
三、实训成果与分析1. 实训成果本次实训成功设计并实现了一款基于TMS320F2812 DSP芯片的简易数字频率计。
该频率计具有以下特点:(1)高精度:采用多周期测量原理,提高了测量精度。
(2)宽量程:在保证最大相对误差的前提下,尽可能扩大了测量范围。
(3)易于扩展:可根据实际需求,增加其他功能模块。
2. 实训成果分析(1)硬件电路设计方面:在硬件电路设计过程中,我们充分考虑了电路的稳定性和可靠性,选用合适的元器件,确保电路性能。
(2)软件编程方面:在软件编程过程中,我们采用了模块化设计,提高了代码的可读性和可维护性。
同时,针对数字频率计的测量原理,进行了详细的误差分析,优化了软件程序。
(3)调试与优化方面:在调试过程中,我们针对电路性能和软件程序进行了多次优化,确保数字频率计能够稳定、准确地测量频率。
数字频率计设计实训报告
![数字频率计设计实训报告](https://img.taocdn.com/s3/m/26bb9a5ca7c30c22590102020740be1e640ecc52.png)
一、实训目的1. 熟悉数字频率计的原理和设计方法。
2. 学会使用数字电路设计工具进行电路设计。
3. 提高实际动手能力,培养创新思维。
4. 增强团队协作意识。
二、实训内容本次实训以设计一款简易数字频率计为目标,主要内容包括:1. 确定设计指标和功能要求。
2. 设计数字频率计的硬件电路。
3. 编写程序实现频率计的功能。
4. 进行电路调试和测试。
三、设计指标和功能要求1. 频率测量范围:1Hz~99.99kHz。
2. 波形测量:正弦波、方波、三角波等。
3. 数码显示:LCD1602液晶显示屏。
4. 量程选择:手动切换。
5. 误差:≤±1%。
四、硬件电路设计1. 信号输入电路:采用LM324运算放大器作为信号放大和整形电路,确保信号幅度在1Vpp以上。
2. 分频电路:采用74HC390计数器进行分频,将输入信号频率降低到计数器可计数的范围内。
3. 计数电路:采用74HC595移位寄存器实现计数功能,计数结果通过串口输出。
4. 显示电路:采用LCD1602液晶显示屏显示频率值。
5. 控制电路:采用AT89C52单片机作为主控制器,负责信号处理、计数、显示和量程切换等功能。
五、程序设计1. 初始化:设置计数器初值、波特率、LCD1602显示模式等。
2. 主循环:检测信号输入、计数、计算频率、显示结果。
3. 信号处理:对输入信号进行放大、整形、分频等处理。
4. 计数:根据分频后的信号频率,对计数器进行计数。
5. 计算频率:根据计数结果和分频系数计算实际频率。
6. 显示:将计算出的频率值通过串口发送到LCD1602显示屏。
7. 量程切换:根据手动切换的量程,调整分频系数。
六、电路调试与测试1. 调试信号输入电路,确保信号幅度在1Vpp以上。
2. 调试分频电路,确保分频后的信号频率在计数器可计数的范围内。
3. 调试计数电路,确保计数器能够正确计数。
4. 调试显示电路,确保LCD1602显示屏能够正确显示频率值。
频率计实验报告
![频率计实验报告](https://img.taocdn.com/s3/m/f19896d665ce050877321347.png)
频率计实验报告信息工程实验任务及要求:1.设计一个可测量的数字式频率计,测量范围为1Hz-12MHz。
2.用层次化的设计方法设计该电路,编写各个功能模块的程序。
3.仿真各功能模块,通过观察有关波形确认电路设计是否正确4.完成电路设计后,通过在实验系统上下载,验证设计的正确性实验原理分析:根据总的设计图可知:8位十进制数字频率计的设计有一个测频控制信号发生器TESTCTL,8个有时钟使能的十进制数字计数器CNT10,一个32位锁存器REG32B组成。
测频控制信号发生器的设计原理和要求:频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。
这就要求TESTCTL的计数使能信号TSTEN能产生1秒脉宽的周期信号,并对频率计的每一个计数器CNT10的ENA使能端进行不同控制。
当TSTEN高电平时允许计数,低电平时停止计数,并保持所计的数。
在停止计数的期间,首先需要一个锁存信号Load的上跳沿将计数器在前一秒的计数值锁存进32位锁存器REG32B中,且由外部的七段译码器译出并稳定显示。
设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
锁存信号之后,必须有一个清零信号CLR_CNT对计数器进行清零,为下一秒钟的计数操作做准备,测频控制信号发生器的工作时序为周期2秒,占空比为0.5的方波,为了产生的方波,需首先建立一个由D触发器构成的二分频器,在每秒时钟CLK上升沿到来时使其翻转,其中控制信号时钟CLK的频率为1Hz,那么信号TSTEN的脉宽恰好为1秒,可以用作闸门信号,然后根据测频的时序要求,可得出信号Load和CLR_CNT的逻辑描述,在一个计数完成后,即计数使能信号TSTEN在1秒的高电平后,利用其反向值的上升沿产生一个锁存信号Load,0.5秒后,CLR_CNT产生一个清零信号跳沿。
各个模块的源程序如下所示:TESTCTL仿真波形:REG32B仿真波形:分析:设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学城市学院数字电路与系统课程设计设计题目:数字频率计学院:电子与自动化学院专业:自动化学生:揣智涵同组人:王晓宁周英茹指导教师:于海霞完成日期: 2012年3月26日目录第一章设计任务1.1项目名称1.2项目设计说明1.2.1设计任务和要求1.2.2进度安排1.3项目总体功能模块图第二章需求分析2.1问题基本描述(要求分析得出整个系统流程图)2.2系统模块分解及各模块功能的基本要求第三章设计原理3.1 设计原理3.2 MAXPLUSII介绍第四章系统功能模块设计4.1 FEN模块4.1.1 FEN模块流程图4.1.2 输入输出引脚及其功能说明4.1.3 程序代码实现4.2 SEL模块4.2.1 SEL模块流程图4.2.2输入输出引脚及其功能说明4.2.3程序代码实现4.3 CORNA模块4.3.1 CORNA模块流程图4.3.2 输入输出引脚及其功能说明4.3.3 程序代码实现4.4 LOCK模块4.4.1 LOCK模块流程图4.4.2 输入输出引脚及其功能说明4.4.3 程序代码实现4.5 CH模块4.5.1 输入输出引脚及其功能说明4.5.2 程序代码实现4.6 DISP模块4.6.1 输入输出引脚及其功能说明4.6.2 程序代码实现第五章调试并分析结果5.1输入说明5.2预计输出5.3测试结果记录5.4测试结果分析第六章结论心得体会参考文献第一章设计任务1.1 项目名称:数字频率计1.2 项目设计说明1.2.1 设计任务和要求此频率计共分4档:一档:0~9999Hz;二档:10~99.99kHZ;三档:100.0~999.9kHz;,四档:1.000~999MHz;在换挡的设计方面,此程序突破了以往改变闸门时间的方法,使自动换挡的实现更加简单可靠。
1.2.2 进度安排第一节课:画出模块及程序流程图第二节课:调试各模块程序使其无误第三节课:连接整个程序并下载到试验箱是数字频率计的功能实现第四节课:改进程序设计实现创新,然后完成课程设计报告第五节课:完成答辩1.3 项目总体功能模块图如下图1-1第二章需求分析2.1 问题基本描述所谓频率,就是周期信号在单位时间(1秒)内变化的次数。
频率计的测量范围为1MHZ,为了测量精确量程分别为10KHZ,100KHZ,1000KHZ和1MHZ四个档。
即最大读数分别为9.999KHZ,99.99KHZ,999.9KHZ,999MHZ。
要求两成自动换挡。
其具体功能如下:(1) 当量程超过999时,自动增大一档,下一次测量时量程大一档;(2) 当超过测量范围时,显示溢出,报警器报警。
(3) 小数点位置随量程变化自动移位。
(4) 采用记忆显示方法,在测量过程中不显示数据,在测量完成以后显示测频结果,并将此结果保存到下次测量结束,显示时间不少于1秒。
(5) 根据频率计的测频原理,可以选择合适的时基信号即阀门时间,对输入信号脉冲进行计数,实现测频的目的。
(6) 根据数字频率计的设计原理,可以将数字频率计设计分为五个模块来实现其功能。
即分频模块,控制模块,计数模块,锁存模块和显示模块。
用CLDH语言进行编程。
(7) 弄清什么情况下是测频率,就是选择合适的时基信号的问题。
测频率时以输入信号作为时钟信号,因为输入信号的频率大于频率计的基准频率。
:数字频率计的系统流程图如下图2-12.2 系统模块分解及各模块功能的基本要求计数器在各个档是被反复应用的,如果在各个档分别设计计数器就造成资源的浪费,而且在测周期和频率的时候,计数器的时基信号和输入信号要进行调换,但计数功能是一样的,所以将计数器设为单独的模块。
七段译码器也是被重复使用的,也设成单独的模块,这样的话就不用在重复使用的时候重复书写译码电路了。
总体来说数字频率计分为五个模块来设计,即分频模块计数模块,锁存模块,预测控制信号发生器,显示模块。
分频模块为计数模块提供1秒的阀门时间。
计数模块是整个程序的核心,它完成在1秒的时间里对被测信号计数的功能,并通过选择输出数据实现自动换挡的功能。
锁存模块在信号L的下降沿到来时将信号A4,A3,A2,A1锁存。
显示模块对应于数码管片选信号,将相应的数据送出,其中档位也通过数码管显示。
第三章设计原理3.1 设计原理众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。
因此,频率检测是电子测量领域最基本的测量之一。
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为 1 s。
闸门时间可以根据需要取值,大于或小于1 s都可以。
闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。
闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。
一般取1 s作为闸门时间。
数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图3-1所示。
图3-1数字频率计原理图3.2 MAXPLUSII介绍MAX+PLUSⅡ(Multiple Array and Programming Logic User System)开发工具是Altera公司推出的一种EDA工具,具有灵活高效、使用便捷和易学易用等特点。
Altera公司在推出各种CPLD 的同时,也在不断地升级相应的开发工具软件,已从早起的第一代A+PLUS、第二代MAX+PLUS发展到第三代MAX+PLUSⅡ和第四代Quartus。
使用MAX+PLUSⅡ软件,设计者无需精通器件内部的复杂结构,只需用业已熟悉的设计输入工具,如硬件描述语言、原理图等进行输入即可,MAX+PLUSⅡ就会自动将设计转换成目标文件下载到器件中去。
MAX+PLUSⅡ开发系统具有以下特点。
(1) 多平台。
MAX+PLUSⅡ软件可以在基于PC机的操作系统如Windows95、Windows98、Windows2000、Windows NT下运行,也可以在Sun SPAC station等工作站上运行。
(2) 开放的界面。
MAX+PLUSⅡ提供了与其他设计输入、综合和校验工具的接口,借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等标准。
目前MAX+PLUSⅡ所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphics、Cadence、OrCAD、Xilinx等公司提供的工具。
(3) 模块组合式工具软件。
MAX+PLUSⅡ具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验和下载编程4个模块,设计者可以按设计流程选择工作模块。
(4) 与结构无关。
MAX+PLUSⅡ开发系统的核心——Compiler(编译器)能够自动完成逻辑综合和优化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可编程器件系列,提供一个与结构无关的PLD开发环境。
(5) 支持硬件描述语言。
MAX+PLUSⅡ支持各种HDL设计输入语言,包括VHDL、Verilog-HDL和Altera的硬件描述语言AHDL。
(6) 丰富的设计库。
MAX+PLUSⅡ提供丰富的库单元供设计者调用,其中包括一些基本的逻辑单元,74系列的器件和多种特定功能的宏功能模块以及参数化的兆功能模块。
调用库单元进行设计,可以大大减轻设计人员的工作量,缩短设计周期。
第四章系统功能模块4.1 FEN 模块4.1.1 FEN 模块流程图图4-14.1.2输入输出引脚及其功能说明模块FEN如图9-87所示。
通过对4MHz时钟的分频得到0.5Hz 时钟,为模块CORNA提供1s的闸门时间。
CLK:输入时钟信号;Q:输出分频后的基准信号。
程序代码的实现如下library ieee;use ieee.std_logic_1164.all;entity fen isport (clk:in std_logic;q: out std_logic); 图4-2 end fen;architecture fen_arc of fen isbeginprocess(clk)variable cnt: integer range 0 to 999999;variable x: std_logic;beginif clk'event and clk = '1' thenif cnt<999999 thencnt:=cnt+1;elsecnt:=0;x:= not x;end if;end if;q<=x;end process;end fen_arc;4.2 SEL模块4.2.1 SEL 模块流程图图4-34.2.2 SEL模块输入输出引脚及其功能说明CLK:基准时钟信号; Q[2..0]:产生数码管的片选信号。
4.2.3 程序代码实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel isport (clk: in std_logic; 图4-4 q:out std_logic_vector(2 downto 0));end sel;architecture sel_arc of sel isbeginprocess(clk)variable cnt:std_logic_vector(2 downto 0);beginif clk'event and clk='1' thencnt:=cnt+1;end if;q<=cnt;end process;end sel_arc;4.3 模块CORNA4.3.1 CORNA 模块流程图图4-54.3.2 输入输出引脚及其功能说明该模块是整个程序的核心,它完成在1s的时间里对被测信号计数的功能,并通过选择输出数据实现自动换挡的功能输入输出引脚及其功能说明CLR:复位按钮;SIG:待测频率信号;DOOR:基准时钟频率;ALM:蜂鸣器;DANG[3..0]:档位值;Q0~4[3..0]:计算后的频率值。
4.3.3程序代码实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity corna isport (clr,sig,door : in std_logic;alm : out std_logic;q3,q2,q1,q0,dang : out std_logic_vector(3 downto 0));end corna;architecture corn_arc of corna isbeginprocess (door,sig)variable c0,c1,c2,c3,c4,c5,c6: std_logic_vector (3 downto 0);variable x:std_logic;beginif sig'event and sig='1' thenif door='1' thenif c0<"1001"thenc0:=c0+1;elsec0:="0000";if c1<"1001" thenc1:=c1+1;elsec1:="0000"; 图4-6if c2<"1001" thenc2:=c2+1;elsec2:="0000";if c3<"1001" thenc3:=c3+1;elsec3:="0000";if c4<"1001" thenc4:=c4+1;elsec4:="0000";if c5<"1001" thenc5:=c5+1;elsec5:="0000";if c6<"1001" thenc6:=c6+1;elsec6:="0000";alm<='1';end if;end if;end if;end if;end if;end if;end if;elseif clr = '0' thenalm <= '0';end if;c6:="0000";c5:="0000";c4:="0000";c3:="0000";c2:="0000";c1:="0000";c0:="0000";end if;if c6/="0000" thenq3<=c6;q2<=c5;q1<=c4;q0<=c3;dang<="0100";elsif c5/="0000" thenq3<=c5;q2<=c4;q1<=c3;q0<=c2;dang<="0011";elsif c4/="0000" thenq3<=c4;q2<=c3;q1<=c2;q0<=c1;dang<="0010";elseq3<=c3;q2<=c2;q1<=c1;q0<=c0;dang<="0001";end if;end if;end process;end corn_arc;4.4 模块LOCK4.4.1 LOCK 模块流程图图4-74.4.2 输入输出引脚及其功能说明该模块实现锁存器的功能,在信号L的下降沿到来时信号A4、A3、A2、A1锁存。