基于fpga的数字频率计设计报告

基于fpga的数字频率计设计报告

ID:15134975

大小:222.50 KB

页数:20页

时间:2018-08-01

基于fpga的数字频率计设计报告_第1页
基于fpga的数字频率计设计报告_第2页
基于fpga的数字频率计设计报告_第3页
基于fpga的数字频率计设计报告_第4页
基于fpga的数字频率计设计报告_第5页
资源描述:

《基于fpga的数字频率计设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子技术综合试验实验报告班级:测控一班学号:2907101002姓名:李大帅指导老师:李颖20基于FPGA的数字频率计设计报告一、系统整体设计设计要求:1、被测输入信号:方波2、测试频率范围为:10Hz~100MHz3、量程分为三档:第一档:闸门时间为1S时,最大读数为999.999KHz第二档:闸门时间为0.1S时,最大读数为9999.99KHz第三档:闸门时间为0.01S时,最大读数为99999.9KHz。4、显示工作方式:a、用六位BCD七段数码管显示读数。b、采用记忆显示方法c、实现对高位无意义零的消隐。系统设计原理:所谓“频率”,就是

2、周期性信号在单位时间(1秒)内变化的次数。若在一定的时间间隔T内计数,计得某周期性信号的重复变化次数为N,则该信号的频率可表达为:f=N/T.基于这一原理我们可以使用单位时间内对被测信号进行计数的方法求得对该信号的频率测量,具体实现过程简述如下:首先,将被测信号①(方波)加到闸门的输入端。由一个高稳定的石英振荡器和一系列数字分频器组成了时基信号发生器,它输出时间基准(或频率基准)信号③去控制门控电路形成门控信号④,门控信号的作用时间T是非常准确的(由石英振荡器决定)。门控信号控制闸门的开与闭,只有在闸门开通的时间内,方波脉冲②才能通过闸门成为被

3、计数的脉冲⑤由计数器计数。闸门开通的时间称为闸门时间,其长度等于门控信号作用时间T。比如,时间基准信号的重复周期为1S,加到闸门的门控信号作用时间T亦准确地等于1S,即闸门的开通时间——“闸门时间”为1S。在这一段时间内,若计数器计得N=100000个数,根据公式f=N/T,那么被测频率就是100000Hz。如果计数式频率计的显示器单位为“KHz”,则显示100.000KHz,即小数点定位在第三位。不难设想,若将闸门时间设为T=0.1S,则计数值为10000,这时,显示器的小数点只要根据闸门时间T的改变也随之自动往右移动一位(自动定位),那么,

4、显示的结果为100.00Khz。在计数式数字频率计中,通过选择不同的闸门时间,可以改变频率计的测量范围和测量精度。系统单元模块划分:1)分频器,将产生用于计数控制的时钟分别为1HZ,10HZ,100HZ脉冲和1KHZ的用于七段显示数码管扫描显示的扫描信号。2)闸门选择器,用于选择不同的闸门时间以及产生后续的小数点的显示位置。3)门控电路,产生用于计数的使能控制信号,清零信号以及锁存器锁存信号。4)计数器,用于对输入的待测信号进行脉冲计数,计数输出。5)锁存器,用于对计数器输出数据的锁存,便于后续译码显示电路的对数据进行记忆显示,同时避免计数器清

5、零信号对数据产生影响。6)译码显示,用于产生使七段显示数码管的扫描数字显示,小数点显示的输出信号,同时对高位的无意义零进行消隐。二、单元电路设计1、分频器:该电路将产生四个不同频率的信号输出,因为电路板上给出了一个48MHZ的晶振,所以我们只需要对48MHZ的信号进行适当分频即可得到我们所需的四个不同频率的信号输出,我们设计一个输入为2048MHZ,有四个输出端分别为1HZ,10HZ和100HZ,1KHZ的分频器,原程序如下:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARI

6、TH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityfenpinqiisPort(clk:inSTD_LOGIC;clkout1:outSTD_LOGIC;clkout10:outSTD_LOGIC;clkout100:outSTD_LOGIC;clkout1K:outSTD_LOGIC);endfenpinqi;architectureBehavioraloffenpinqiissignalcnt1:integerrange1to24000000;signalcnt10:integerrange1to24

7、00000;signalcnt100:integerrange1to240000;signalcnt1K:integerrange1to24000;signalc1:std_logic;signalc2:std_logic;signalc3:std_logic;signalc4:std_logic;beginprocess(clk)isbeginifclk'eventandclk='1'thenifcnt1<24000000then--对cnt1进行计数,当cnt1未计满后对其进行加1cnt1<=cnt1+1;elsifcnt1=2400000

8、0then--cnt1计满后对其进行赋一,并且令c1进行翻转,然后将c1的值赋给clkout1c1<=notc1;--由于48MHZ的的信号,前一半的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。