基于FPGA的数字频率计_第1页
基于FPGA的数字频率计_第2页
基于FPGA的数字频率计_第3页
基于FPGA的数字频率计_第4页
基于FPGA的数字频率计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA的数字频率计系统综合电子课程设计 -基于FPGA的数字频率计班级: 0410101班 作者: 同组: 年月日目录1实验内容及要求2.实验原理2.频率测量原理2.周期测量原理2.试验方案介绍3.系统整体逻辑框图3.测试信号源模块3.频率测试模块4.频率测试模块4.分频模块5.1系统时钟分频得到2HZ信号5.系统时钟分频得到2MHZ信号5.5频率周期测试切换模块6.6系统显示模块74. FPGA的资源分配介绍84.1 FPGA的引脚资源分配84.2 FPGA的系统资源占用情况85. 课设收获及感想86. 附录96.1 Verilog语言程序源代码9基于FPGA的数字频率计系统1实验内容及要求信号频率和周期测量信号:脉冲波;频率:1Hz100KHz.实验原理.频率测量原理测量频率的基本方法是在单位时间(如s)内统计待测信号的周期数。本设计采用等精度测量法,使门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差,在测量过程中分别对被测信号和标准信号同时计数。测量的具体方法是:首先给个闸门开启信号(预置闸门信号),此时计数器并不开始计数,而是等被测信号的上升沿到来时计数器才开始计数,然后预置闸门信号关闭信号(下降沿),计数器并不立即停止计数,而是等到被测信号上升沿来到时才停止计数,完成一次测量过程,过程如下图所示。图.频率测试原理设计时,采用门控信号为S,因此,测得的标准信号Ns为1,故,被测信号Nx的值,即为实际的频率值,可以处理后直接显示。.周期测量原理测量周期的基本方法是在待测信号一个周期内对高频脉冲信号(如MHz)进行计数。以待测信号作为闸门信号的开启,在待测信号的一个周期内高电平的期间对标准信号进行计数,计出来的数为,对应的信号周期即为,单位为微秒。.试验方案介绍.系统整体逻辑框图图.系统整体逻辑框图基于FPGA的数字频率计系统主要分为四大模块:测试信号源模块、频率测试模块、周期测试模块、分频模块、频率周期测试切换模块、显示模块。.测试信号源模块图.测试信号源测试信号源模块的输入信号为DE2开发板上的M时钟信号,通过计数分频方式获取,由开发板上的SW、SW、SW SW控制计数模块的数值,实现不同频率信号的输入。分别是SW控制输出的待测信号,SW控制输出的待测信号,SW控制输出的待测信号,SW控制输出的待测信号。.频率测试模块图.频率测试模块注:Rest为复位信号,低电平有效,为闸门启动信号,高电平有效。是计数信号。.频率测试模块图.周期测试模块注:Rest为复位信号,低电平有效,为闸门启动信号,高电平有效。是计数信号。.分频模块.1系统时钟分频得到2HZ信号通过将开发板上的50信号分频,得到hz的信号,用以产生闸门信号。图.1分频模块.系统时钟分频得到2MHZ信号通过将开发板上的50信号先倍频到,再对进行分频,得到hz的信号,用以产生计数信号。图.2分频模块.5频率周期测试切换模块图.5频率周期测试切换模块当待测信号的频率小于1KHZ时,系统选择当前周期测试数据有效;当待测信号的频率大于1KHZ时,系统选择当前频率测试数据有效,并在系统试验板上以信号灯的亮灭作为当前周期显示和频率显示的标志。.6系统显示模块图.6系统显示模块4. FPGA的资源分配介绍4.1 FPGA的引脚资源分配图4.1 FPGA的引脚资源分配图4.2 FPGA的系统资源占用情况图4.2 FPGA的系统资源占用图5. 课设收获及感想这次课设之后,我发现虽然我现在已经大四,也学到了很多专业知识,但实际动手操作的能力还是太差了,很多学过的东西不知道怎么应用,对于相关的软件,以及器件的了解程度还是很不够,不能把书上学会的东西灵活的应用到实际中。在课设的过程中,我还是学到了很多东西,这也要多谢那些无私的帮助我,指导我熟悉课设内容,加深对系统设计工作流程的理解,以及热心帮助我熟悉quartusII的使用,帮我解答设计中的各种问题的同学。通过这样一个系统的设计学习,让我能把自己的知识应用到实际中去,提高了我动手的能力,我真真正正的感觉到,没有前面扎实的基础,就不能很好的进行这种系统是设计,而没有这种系统的实际应用就不可能充分的了解自己以前所学的东西,不能真正的知道自己学到了什么,也就不能了解自己所欠缺的究竟死什么。6. 附录6.1 Verilog语言程序源代码待测信号源代码module clk_x (key0,key1,key2,key3,clk,rst,signal);input key0,key1,key2,key3,clk,rst;output reg signal;reg 25:0 key;reg 25:0 cnt;always (key0 or key1 or key2 or key3)begin if(key0=1) key=26d24999999; else if (key1=1) key=26d499999; else if (key2=1) key=26d249999; else if (key3=1) key=26d249; else key=26d24; endalways (posedge clk or negedge rst)begin if(!rst) cnt=26d0; else begin if(cnt=key) begin signal=signal; cnt=26d0; end else cnt=cnt+26d1; end endendmodule2HZ信号源代码module fenpin_1s (clk,rst,signal);input clk,rst;output reg signal;reg 25:0 cnt;always (posedge clk or negedge rst)begin if(!rst) cnt=26d0; else begin if(cnt=26d49999999) begin signal=signal; cnt=26d0; end else cnt=cnt+26d1; end endendmodule2MHZ信号源代码module fenpin_2M (clk,rst,signal);input clk,rst;output reg signal;reg 25:0 cnt;always (posedge clk or negedge rst)begin if(!rst) cnt=26d0; else begin if(cnt=26d24) begin signal=signal; cnt=26d0; end else cnt=cnt+26d1; end endendmodule频率测试程序源代码module cepin (clk_x,clk_1s,rst,clk_out);input clk_x,clk_1s,rst;output reg25:0 clk_out;reg 25:0 clk_tmp;always(posedge clk_x or negedge rst)begin if(!rst) clk_tmp=26d0; else begin if(clk_1s) clk_tmp=clk_tmp+26d1; else clk_tmp=26d0; endendalways (negedge clk_1s) clk_out=clk_tmp;endmodule周期测试程序源代码module cezhou (clk_x,clk_2M,rst,clk_out);input clk_x,clk_2M,rst;output reg25:0 clk_out;reg 25:0 clk_tmp;always(posedge clk_2M or negedge rst)begin if(!rst) clk_tmp=26d0; else begin if(clk_x) clk_tmp=clk_tmp+26d1; else clk_tmp=26d0; endendalways (negedge clk_x) clk_out26d1000)begin sel=1b1; ind_led=1b1;endelsebegin sel=1b0; ind_led=1b0;endendmodule显示模块程序源代码/*Filename : B_BCD.vAuthor : Medied.LeeDescription : a 8-bit binary-to-bcd moduleRevision : 2010/11/20Company :*/module B_BCD ( ena, binary, bcd0,bcd1,bcd2,bcd3,bcd4,bcd5,bcd6,bcd7,bcd8,bcd9,bcd10,bcd11,bcd12,bcd13,bcd14,bcd15,bcd16,bcd17,bcd18,bcd19,bcd20,bcd21,bcd22,bcd23 ,bcd24,bcd25,bcd26,bcd27);/ena为使能端,binary为待转换的二进制数,bcd为转换后的BCD码/parameter B_SIZE =17; /B_SIZE为二进制数所占的位数,可根据需要进行扩展input binary, ena; /ena高电平有效,低电平时bcd=0output bcd0,bcd1,bcd2,bcd3,bcd4,bcd5,bcd6,bcd7,bcd8,bcd9,bcd10,bcd11,bcd12,bcd13,bcd14,bcd15,bcd16,bcd17,bcd18,bcd19,bcd20,bcd21,bcd22,bcd23,bcd24,bcd25,bcd26,bcd27;reg bcd0,bcd1,bcd2,bcd3,bcd4,bcd5,bcd6,bcd7,bcd8,bcd9,bcd10,bcd11,bcd12,bcd13,bcd14,bcd15,bcd16,bcd17,bcd18,bcd19,bcd20,bcd21,bcd22,bcd23,bcd24,bcd25,bcd26,bcd27;wire ena;wire 25: 0 binary;reg 25: 0 bin;reg 27: 0 bcd; / bcd的长度应根据实际情况进行修改reg 27 : 0 result; /result的长度=bcd的长度always( binary or ena )beginbin = binary;result = 0;if ( ena = 0 )bcd 4 )result3 : 0 = result3 : 0 + 4d3;if ( result7 : 4 4 )result7 : 4 = result7 : 4 + 4d3;if ( result11 : 8 4 )result11 : 8 = result11 : 8 + 4d3; /扩展时应参照此三条if语句续写if (result15 : 124)result15 : 12 = result15 : 12+4d3;if ( result19 : 16 4 )result19 : 16 = result19 : 16 + 4d3;if ( result23 : 20 4 )result23 : 20 = result23 : 20 + 4d3;if ( result27 : 24 4 )result27 : 24 = result27 : 24 + 4d3;result = result 1;bin = bin 1;endresult0 = bin25;bcd = result;bcd0=bcd0;bcd1=bcd1;bcd2=bcd2;bcd3=bcd3;bcd4=bcd4;bcd5=bcd5;bcd6=bcd6;bcd7=b

温馨提示

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

评论

0/150

提交评论