ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:3.20MB ,
资源ID:2671242      下载积分:3 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2671242.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(Verilog-数字频率计(00001).doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Verilog-数字频率计(00001).doc

1、Verilog-数字频率计 作者: 日期:2 个人收集整理 勿做商业用途 摘 要本文介绍了基于FPGA的数字频率计的设计方法,设计采用硬件描述语言Verilog ,在软件开发平台ISE上完成,可以在较高速时钟频率(48MHz)下正常工作。该数字频率计采用测频的方法,能准确的测量频率在10Hz到100MHz之间的信号。使用ModelSim仿真软件对Verilog程序做了仿真,并完成了综合布局布线,最终下载到芯片Spartan3A上取得良好测试效果。关键词:FPGA,Verilog,ISE,测频方法IAbstractThis paper introduces the design method o

2、f digital frequency meter based on FPGA, which use hardware description languageVerilog in software development platform ISE and can word in relatively highspeed clock of 48MHz. The frequency meter uses the method of frequency measurement, which could accurately measure the frequency of signals betw

3、een 10Hz to 100MHz。 This system uses the simulation toolModelSim to run and debug the Verilog program, and design the circuit placement。 A good result can be achieved when the program was burnt on the chip Spartan3A.个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途Keywords: FPGA, Verilog, ISE, Frequency Measurement目 录

4、第一章测量原理与方法41.1测频方法41。2测周方法51.3等精度测量法51。4放大整形电路61。5时基信号产生7第二章 任务要求8第三章 各模块功能及介绍83。1 分频器84.2 闸门选择器104。3 频率计数器124。4 锁存器144。5 扫描显示控制译码系统15第四章 顶层电路及总体仿真164。1 顶层电路164.2 总体仿真结果164.3 测试结果19II第一章 测量原理与方法所谓“频率”,就是周期性信号在单位时间(秒)内变化的次数.若在一定的时间间隔T内计数,计得某周期性信号的重复变化次数为N,则该信号的频率可表达为:f = N / T所以测量频率就要分别知道N和T的值,由此,测量频

5、率的方法一般有三种:测频方法、测周方法和等精度测量。1.1 测频方法这种方法即已知时基信号(频率或周期确定)做门控信号,T为已知量,然后在门控信号有效的时间段内进行输入脉冲的计数,原理图如下图所示:图 11 测频方法原理图首先,被测信号(以正弦波为例)经过放大整形后转变成方波脉冲,其重复频率等于被测信号频率。把方波脉冲加到闸门的输入端.由一个高稳定的石英振荡器和一系列数字分频器组成了时基信号发生器,它输出时间基准(或频率基准)信号去控制门控电路形成门控信号,门控信号的作用时间T是非常准确的(由石英振荡器决定)。门控信号控制闸门的开与闭,只有在闸门开通的时间内,方波脉冲才能通过闸门成为被计数的脉

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

7、选择不同的闸门时间,可以改变频率计的测量范围和测量精度。个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途1.2 测周方法测周方法即:被测信号(频率或周期待测)做门控信号,T为未知量,做门控信号T,然后在门控信号有效的时间段内对时基信号脉冲计数,原理图如下图所示:图 12 测周方法原理图计数器测周的基本原理刚好与测频相反,即由被测信号控制主门开门,而用时标脉冲进行计数,所以实质上也是一种比较测量方法.1.3 等精度测量法等精度测量法的核心思想是通过闸门信号与被测信号同步,将闸门时间控制为被测信号周期长度的整数倍。测量时,先打开预置闸门,当检测到被测信号脉冲沿到达时,标准信号时钟开始计

8、数。预置闸门关闭时,标准信号并不立即停止计数,而是等检测到被测信号脉冲沿到达时才停止,完成被测信号整数个周期的测量。测量的实际闸门时间可能会与预置闸门时间不完全相同,但最大差值不会超过被测信号的一个周期.在等精度测量法中,相对误差与被测信号本身的频率特性无关,即对整个测量域而言,测量精度相等,因而称之为“等精度测量。标准信号的计数值越大则测量相对误差越小,即提高门限时间和标准信号频率可以提高测量精度。在精度不变的情况下,提高标准信号频率可以缩短门限时间,提高测量速度。原理图如下:图 14 等精度测量的原理图1.4 放大整形电路放大整形电路包括衰减器、跟随器、放大器、施密特触发器,衰减器由两个双

9、向限幅二极管构成,将来的信号限制在0。7v到0。7v之间。跟随器由一个集成运算放大器组成,以增大带负载能力。放大器为由集成运放构成一个同向比例放大器,放大位数为50倍。施密特触发器由555定时器组成,实现对波形的整形,整形后的方波送到闸门以便计数。其仿真电路如下图所示:图15 放大整形电路当输入信号为0.5V时,仿真放大整形后的输出结果如下图示:图 1-6 放大整形电路仿真结果(一)当输入信号为3V时,仿真放大整形后的输出结果如下图示:图 1-6 放大整形电路仿真结果(二)图 16 放大整形电路仿真结果(三)当输入信号为10V时,仿真放大整形后的输出结果如下图示:1.5 时基信号产生系统所使用

10、的时钟信号由时基信号产生模块产生,它由一块晶体振荡器及简单的电路组成,如下图所示:图 17 时基信号产生电路第二章 任务要求设计一个计数式频率计,其频率测量范围为10Hz1MHz,测量结果用6只数码管显示。有三个带锁按键开关(任何时候都只能有一个被按下)被用来选择1S、0。1S和0.01S三个闸门时间中的一个.有一个按钮开关用来使频率计复位。有两只LED,一只用来显示闸门的开与闭,另一只当计数器溢出时做溢出指示.下图显示了该频率计前面板的基本排布构想。第三章 各模块功能及介绍3.1 分频器由于晶体振荡器提供的为48M的时钟,而在整个频率计里将用到周期为2s、0.2s和0。02s的闸门信号,还有

11、译码显示的扫描信号1KHz ,所以我们在此模块先分频产生1Hz、10Hz、100Hz、1KHz四个分频信号,以留作其它模块用。分频分别采用4个计数器来实现,当计到一定的值时输出的分频信号翻转,最后分别获得4个分频输出,分频器模块如下图所示:图 3-1 分频器模块此模块的复位为同步方式,当复位有效时,输出将清零。源程序如下:module div_clk(reset, clk,clk_1hz, clk_10hz, clk_100hz, clk_1khz);input reset,clk;output reg clk_1hz, clk_10hz,clk_100hz,clk_1khz;reg 29:0

12、 counter1,counter2,counter3,counter4; /分频计数值always (posedge clk or negedge reset) beginif(!reset) begincounter1=0;counter2=0;counter3=0;counter4=0;clk_1hz=0;clk_10hz=0;clk_100hz=0;clk_1khz=0;endelse beginif(counter1=24000000) begin counter1=0;clk_1hz=clk_1hz; endelse begin counter1=counter1+1; endif

13、(counter2=2400000) begin counter2=0;clk_10hz=clk_10hz; endelse begin counter2=counter2+1; endif(counter3=240000) begin counter3=0;clk_100hz=clk_100hz; endelse begin counter3=counter3+1; endif(counter4=24000) begin counter4=0;clk_1khz=clk_1khz; endelse begin counter4=counter4+1; endendendendmodule仿真图

14、如下所示:图 32 分频器模块仿真图(一)图 3-3 分频器模块仿真图(二)4.2 闸门选择器该模块主要实现对闸门的选择功能,通过输入的门选信号来确定输出的闸门,生成的模块如下图所示:图 3-4 闸门选择器具体实现方法如下:当三个门选信号中有且仅有门选信号gate_ch1有效时,reg变量gate为clk_1hz ,f的值为01;当三个门选信号中有且仅有门选信号gate_ch2有效时,reg变量gate为clk_10hz ,f的值为10;当三个门选信号中有且仅有门选信号gate_ch3有效时,reg变量gate为clk_100hz ,f的值为11.reg变量gate再二分频则是输出的闸门信号g

15、ate_out(f 为标记信号,标记了当前闸门的选择情况)。如果同时有两个或以上的门选信号有效,则err输出为低,否则为高。另外输出的译码扫描信号为clk_1khz ,供后面的扫描译码模块使用。本模块的源代码如下所示:module gate_ch(reset,gate_ch1,gate_ch2,gate_ch3,clk_1hz,clk_10hz,clk_100hz,clk_1khz,gate_out,err,scan_freq,f);input reset,gate_ch1,gate_ch2,gate_ch3,clk_1hz,clk_10hz,clk_100hz,clk_1khz;output

16、 reg gate_out,err;output wire scan_freq;output reg 1:0 f; reg 2:0 counter5; / 产生扫描信号时的分频计数值 reg gate;always (posedge clk_1khz or negedge reset) beginif(!reset) begin gate=0;counter5=0;err=1;f=2b01;end else beginif(gate_ch1=0 & gate_ch2=1 gate_ch3=1) begin gate=clk_1hz; f=2b01;err=1;end else if(gate_

17、ch1=1 & gate_ch2=0 & gate_ch3=1) begin gate=clk_10hz;f=2b10;err=1;end else if(gate_ch1=1 & gate_ch2=1 & gate_ch3=0) begin gate=clk_100hz;f=2b11;err=1;end else begin err=0;end endendassign scan_freq=clk_1khz;always (posedge gate or negedge reset) beginif(!reset) begingate_out=0;endelse begingate_out=

18、gate_out;endendendmodule仿真结果如下图所示:图 35 当且仅当gate_ch2有效时的仿真结果图(一)4。3 频率计数器频率计数器的功能为在输入的闸门信号的控制下对输入脉冲时行计数,它是一个7拉的模十计数器。生成的模块如下图所示:图 3-6 当且仅当gate_ch2有效时的仿真结果图(一)当gate_out信号为高时才计数器才计数,在gate_out为低后,马上将此时计数的值cnt赋给输出cnte ,然后当输入carry_in信号再过一个脉冲后降计数的值cn清零,以备下次闸门有效时又重新开始计数。源程序如下:module count(carry_in,gate_out,

19、reset,cnte0,cnte1,cnte2,cnte3,cnte4,cnte5,cnte6);input carry_in,gate_out,reset;output reg 3:0 cnte0,cnte1,cnte2,cnte3,cnte4,cnte5,cnte6;/在每一次闸门有效时读数/器传递的计数值reg 3:0 cnt0,cnt1,cnt2,cnt3,cnt4,cnt5,cnt6; /计数器的6个计数值reg 2:0 counter6; / 延迟将counternum清零的计数值always (posedge carry_in or negedge reset) beginif(

20、!reset) begincnt0=4b0000;cnt1=4b0000;cnt2=4b0000;cnt3=4b0000;cnt4=4b0000;cnt5=4b0000;cnt6=4b0000;/判断是否溢出cnte0=4b0000;cnte1=4b0000;cnte2=4b0000;cnte3=4b0000;cnte4=4b0000;cnte5=4b0000;counter6=0;end else begin if(gate_out=1) begin counter6=0;if((cnt5=4b1001)(cnt4=4b1001)(cnt3=4b1001)(cnt2=4b1001)&(cnt

21、1=4b1001)&(cnt0=4b1001)) begincnt0=4b0000;cnt1=4b0000;cnt2=4b0000;cnt3=4b0000;cnt4=4b0000;cnt5=4b0000;cnt6=cnt6+4b0001;end else beginif((cnt4=4b1001)&(cnt3=4b1001)&(cnt2=4b1001)&(cnt1=4b1001)&(cnt0=4b1001)) begincnt0=4b0000; cnt1=4b0000; cnt2=4b0000; cnt3=4b0000;cnt4=4b0000; cnt5=4b0001+cnt5; cnt6=c

22、nt6;end else beginif(cnt3=4b1001)&(cnt2=4b1001)(cnt1=4b1001)&(cnt0=4b1001)begincnt0=4b0000; cnt1=4b0000; cnt2=4b0000; cnt3=4b0000;cnt4=4b0001+cnt4; cnt5=cnt5; cnt6=cnt6;end else beginif((cnt2=4b1001)(cnt1=4b1001)&(cnt0=4b1001) begincnt0=4b0000; cnt1=4b0000; cnt2=4b0000; cnt3=4b0001+cnt3;cnt4=cnt4; c

23、nt5=cnt5; cnt6=cnt6;end else begin if(cnt1=4b1001)&(cnt0=4b1001) begincnt0=4b0000; cnt1=4b0000; cnt2=4b0001+cnt2; cnt3=cnt3;cnt4=cnt4; cnt5=cnt5;cnt6=cnt6;end else begin if((cnt0=4b1001)) begincnt0=4b0000; cnt1=4b0001+cnt1; cnt2=cnt2; cnt3=cnt3;cnt4=cnt4; cnt5=cnt5; cnt6=cnt6;end else begincnt0=4b00

24、01+cnt0; cnt1=cnt1; cnt2=cnt2; cnt3=cnt3;cnt4=cnt4; cnt5=cnt5; cnt6=cnt6;end end end end end end end else begin if(counter6=2b01) begincnt0=4b0000; cnt1=4b0000; cnt2=4b0000; cnt3=4b0000;cnt4=4b0000; cnt5=4b0000; cnt6=4b0000;end else begincounter6=counter6+1; cnte0=cnt0; cnte1=cnt1;cnte2=cnt2;cnte3=c

25、nt3; cnte4=cnt4; cnte5=cnt5; cnte6=cnt6;end end end endendmodule频率计数器的仿真工作时序如图所示:图 3-7 频率计数器的仿真结果图4.4 锁存器如果计数器输出直接与译码器相连接,那么在计数过程中输出端则随输入脉冲数的增加而不断跳变,那么显示数码管则也会不断闪烁跳变,让人不能看到稳定的输出,设锁存器后,则不再跳变,便可清晰读出计数结果。其生成的功能模块如图所示:图 3-7 锁存器模块这模块实现了对七位计数结果的锁存功能.程序很简单如下所示:module latch(reset,clk_1hz,cnte0,cnte1,cnte2,c

26、nte3,cnte4,cnte5,cnte6,cn0,cn1,cn2,cn3,cn4,cn5,cn6);input reset,clk_1hz;input 3:0 cnte0,cnte1,cnte2,cnte3,cnte4,cnte5,cnte6;output reg 3:0 cn0,cn1,cn2,cn3,cn4,cn5,cn6;always (posedge clk_1hz or negedge reset) begin if(!reset) begincn0=4b0000; cn1=4b0000; cn2=4b0000; cn3=4b0000; cn4=4b0000; cn5=4b000

27、0; cn6=4b0000;end else begincn0=cnte0; cn1=cnte1; cn2=cnte2; cn3=cnte3;cn4=cnte4; cn5=cnte5; cn6=cnte6;end endendmodule4。5 扫描显示控制译码系统本模块在扫描信号的scan_for的控制下,对多路选择器进行扫描,实现对实现对六位已经锁存的计数结果的扫描输出,由于人眼的视觉暂留效应,每支数码管只需大于25Hz的扫描频率即可实现动态扫描,所以我们用1KHz的扫描信号足以.其生成的功能模块如图所示:图 3-7 频率计数器的仿真结果图本模块还实现了高位的无意义的消隐,即高位若值为零且

28、无意义时,相应的数码管将不会显示。输出信号over通过最高位cnt6是否有值来判断结果是否溢出,如果溢出则over输出结果为低 ,led_khz为单位标志,如果led_khz 为有效时,显示结果的单位为KHz ,dot实现了小数点的显示.其源程序较多,可以附录中查看,此模块的仿真结果如下所示:图 3-7 频率计数器的仿真结果图第四章 顶层电路及总体仿真4.1 顶层电路顶层电路如下图所示:图 41顶层电路图4。2 总体仿真结果为了验证我们的设计是否正确,我们用ModelSim对以上设计进行了仿真,仿真精度达到ps级,基准时钟clk用20883ns,结果如下所示,在1Hz到10000Hz中仿真结果

29、与理论值相等,在输入为100000Hz时出现了3Hz的误差,当输入被测信号为1000000Hz时,出现了26Hz的误差。仿真结果波形如下图所示:图 42被测信号为10 Hz的仿真结果图 43测信号为100 Hz的仿真结果图 4-3 被测信号为1000 Hz的仿真结果10 000 Hz:图 4-4 被测信号为10000 Hz的仿真结果100 000 Hz:图 4-5 被测信号为100000 Hz的仿真结果1000 000 Hz:图 4-6 被测信号为1000000 Hz的仿真结果4.3 测试结果在成功下载并运行后,为评估该设计系统的实际测量效果,做了一次对比实验,选用频率可调的函数发生器,同时用示波器做同步的跟踪.测得的数据较为精确,最低频率可以测到10Hz,当输入信号不大于10KHz时,显示结果跟函数发生器以及示波器的显示全吻合,当输入信号频率达到100KHz时,测得的结果和显波器的显示出现了3Hz的差值,当输入信号频率达到1000KHz时,测得的结果和显波器的显示出现了27Hz的差值,由于所使用的函数发生器最大只能产生41MHz的信号,所以我们最高只测到41MHz。22

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服