ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:206.91KB ,
资源ID:9124149      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字频率计的设计 中国计量学院现代科技学院.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字频率计的设计 中国计量学院现代科技学院.docx

1、数字频率计的设计 中国计量学院现代科技学院中国计量学院现代科技学院 课程设计报告课程设计名称 数字频率计的设计 系 (部) 信息工程系 专业班级 通信102班 姓 名 学 号 指导老师 2013年 06 月 23 日 目 录前 言 ( 2 )第一章 设计要求 ( 3 )1. 技术要求 ( 3 )2. 技术要求 ( 3 )第二章 设计总方案 ( 4 )1. 设计软件:Quartus II( 4 )2. 数字频率计的实现原理及整机原理框图( 4 ) 3. 各模块电路的设计要求及功能仿真( 5 )第三章 顶层电路及仿真 ( 10 )第四章 心得体会 ( 14 )第五章 参考文献 ( 15 )指导教师

2、评语及成绩 ( 16 )附 件:前言数字频率计是采用数字电路制做成的能实现对周期性变化信号频率测量的仪器。频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。其扩展功能可以测量信号的周期和脉冲宽度。通常说的,数字频率计是指电子计数式频率计。 测量频率的方法有很多,按照其工作原理分为无源测量法、比较法、示波器法和计数法等。计数法在实质上属于比较法,其中最常用的方法是电子计数器法。电子计数器是一种最常见、最基本的数字化测量仪器。数字计数式频率计能直接计数单位时间内被测信号的脉冲数,然后以数字形式显示频率值。这种方法测量精确度高、快速,适合不同频率、不同精确度测频的需要。电子计数器测

3、频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。由于数字电路的飞速发展和集成电路的普及,计数器的应用十分广泛。利用电子技术器测量频率具有精度高,显示醒目直观,测量迅速,以及便于实现测量过程自动化等一系列突出优点,所以该方法是目前最好的。 所谓频率,就是周期性信号在单位时间 (1s) 内变化的次数,若在一定时间间隔T内测得这个周期性信号的重复变化次数为N,则其频率可表示为 f=N/T。因此当系统正常工作时,标准时钟发生器提供的1Hz的输入信号,经过控制模块进行信号的变换,产生计数信号,被测信号送入计数模块,计数模块对输入的矩形波形进行计数,并

4、且将计数结果送入锁存器中,保证系统可以稳定的显示数据,BCD 4-7译码电路将二进制表示的计数结果转换成相应的能够在七段数码管显示的十进制结果,在数码管上可以可以看到计数结果。第一章 设计要求技术要求:1、 频率测量范围: 1HZ100000 HZ2、 测量分辨率: 1HZ3、 测量通道灵敏度: 50mVpp4、 通道输入阻抗: 不小于120K5、 测量误差: 16、 测量显示: 6位数码管设计任务要求:1、 提交说明数字频率计的原理框图。2、 画出系统单元模块框图。3、 按技术要求编写程序。4、 设计出硬件实现的电路图。5、 实现系统功能仿真波形图和下载验证。6、 撰写课程设计报告。第二章

5、设计总方案1、设计软件:Quartus IIQuartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Maxplus II是Quartus II的前身,Altera公司在不断的前进中,推出了功能更全的QuartusII,所以Maxplus II可能更简单些,但是最后还是需要学习QuartusII的,所以在这次的课程设计中我选择了Quartus II2、数

6、字频率计的实现原理及整机原理框图在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。本设计中使用

7、的就是直接测频法,即用计数器在计算1s内输入信号周期的个数,其测频范围为1Hz100000 Hz。图1 整机原理框图3、各模块电路的设计要求及功能仿真3.1控制模块控制模块的作用是产生测频所需要的各种控制信号。该模块产生的三种控制信号分别为count_en、count_ctr和load。其中Count_clr信号用于在每一次测量开始时,对计数模块进行复位,用以清楚上次测量的结果;在count_en信号的上升沿时刻,计数器开始宿输入信号的频率进行计数;而load则是将计数器所测量的数值锁存起来的锁存控制信号,并送至数码管显示。其基本实现的代码如下所示:module fre_ctrl(clk,rs

8、t,count_en,count_clr,load);input clk,rst;output count_en,count_clr,load;reg count_en,load;always (posedge clk) begin if(rst) begin count_en=0;load=1;end else begin count_en=count_en; load=count_en; end endassign count_clr=clk&load;endmodule其控制信号的波形如下图所示:图2 控制模块的仿真波形3.2计数模块计数模块用于在单位时间中对输入信号的脉冲进行计数,该模

9、块必须有计数允许、异步清零端口,以便控制模块对其进行控制,其基本的实现电路如左图所示: 从左图中我们可以看出。en为计数的使能信号,高电平有效;clr为计数的异步清零信号,高电平有效;clk为外部输入的时钟信上升沿有效;cout便是进位输出,out为计数输出 我们根据计数模块的功能以及其实现电路,可以得到如下的设计语言:module count(out,cout,en,clr,clk,over);input en,clr,clk;output5:0 out;output cout,over;reg5:0 out;reg over; always (posedge clk or posedge

10、clr)begin if(clr)begin out=0; over=0;end else if(en) begin if(out=9)begin out=0; over=1;end else out=out+1; endendassign cout=(out=9)&en)?1:0;endmodule其计数模块的波形如下图所示:图3 计数模块的仿真波形3.3锁存模块锁存器是必不可少的,在load信号的上升沿时刻将测量值锁存到寄存器中,然后输出。其作用是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。其基本的实现电路如左图所示: 实际上锁存器使用的是D触发器,即锁着时钟信号的到来,触发器的

11、输入信号即刻送至输出端。 我们根据锁存模块的功能以及其实现电路,可以得到如下的设计语言:module latch_6(q0,din,load); input load;input5:0 din; output5:0 q0; reg5:0 q0; always (posedge load) begin q0=din; end endmodule其锁存模块的波形如下图所示:图4 锁存模块的仿真波形3.4显示模块在这一模块中我们主要是运用BCD4-7译码进行显示。其基本实现电路如下:其实现电路的原理是随着输入信号的变换,数码管的七段显示译码被赋予不同的二进制的数值,以便显示不同的十进制数值。根据其工

12、作的原理,可以得到如下的代码:module led_dong(w,q); input 5:0q; output reg 6:0w; always(q) begin case(q) 4d0:w=7b1111110; 4d1:w=7b0110000; 4d2:w=7b1101101; 4d3:w=7b1111001; 4d4:w=7b0110011;4d5:w=7b1011011; 4d6:w=7b1011111; 4d7:w=7b1110000; 4d8:w=7b1111111; 4d9:w=7b1111011; default:w=7b1111110; endcase endendmodule

13、其基本的仿真波形如下:图5 显示模块的仿真波形第三章 顶层电路及仿真总体仿真根据上面的各个模块的设计以及其实现电路,我们可以将各个模块综合起来,其基本的实现代码如下:module aaa(clk,signal,q0,q1,q2,q3,q4,q5,w1,w2,w3,w4,w5,w6,rst); input clk,signal,rst;output5:0q0,q1,q2,q3,q4,q5;output5:0w1,w2,w3,w4,w5,w6;wire5:0w1,w2,w3,w4,w5,w6;wire5:0q0,q1,q2,q3,q4,q5;wire23:0din; wire cout1,cout

14、2,cout3,cout4,cout5,cout6,en,clr,load; ctr ctrl1(clk,rst,en,clr,load); count10 count101(din3:0,cout1,en,clr,signal); count10 count102(din7:4,cout2,en,clr,cout1); count10 count103(din11:8,cout3,en,clr,cout2); count10 count104(din15:12,cout4,en,clr,cout3);count10 count105(din19:16,cout5,en,clr,cout4);

15、count10 count106(din23:20,cout6,en,clr,cout5);latch_6 latch_41(q0,din3:0,load); latch_6 latch_42(q1,din7:4,load); latch_6 latch_43(q2,din11:8,load); latch_6 latch_44(q3,din15:12,load); latch_6 latch_45(q4,din19:16,load);latch_6 latch_46(q5,din23:20,load); led_dong led1(w1,q0);led_dong led2(w2,q1);le

16、d_dong led3(w3,q2);led_dong led4(w4,q3);led_dong led5(w5,q4);led_dong led6(w6,q5);endmodulemodule ctr(clk,rst,count_en,count_clr,load); input clk,rst; output count_en,count_clr,load; reg count_en,load; always (posedge clk) begin if(rst) begin count_en=0;load=1; end else begin count_en=count_en; load

17、=count_en; end end assign count_clr=clk&load; endmodulemodule count10 (out,cout,en,clr,clk); input en,clr,clk; output5:0 out; output cout; reg5:0 out; always (posedge clk or posedge clr) begin if(clr) out=0; else if(en) begin if(out=9) out=0; else out=out+1; end end assign cout=(out=9)&en)?1:0; endm

18、odulemodule latch_6(q0,din,load); input load;input5:0 din; output6:0 q0; reg5:0 q0; always (posedge load) begin q0=din; end endmodulemodule led_dong(w,q); input 5:0q; output reg 5:0w; always(q) begin case(q) 6d0:w=7b1111110; 6d1:w=7b0110000; 6d2:w=7b1101101; 6d3:w=7b1111001; 6d4:w=7b0110011;6d5:w=7b

19、1011011; 6d6:w=7b1011111; 6d7:w=7b1110000; 6d8:w=7b1111111; 6d9:w=7b1111011; default:w=7b1111110; endcase endendmodule根据仿真的代码,可以得到如下的仿真波形:图6 整机仿真波形图7 顶层电路图上图显示的是6位数字频率计的顶层原理图,其中fre_ctrl为控制模块,count是计数模块、latch_6为锁存模块、led_dong为数码管的显示模块。而signal为我们的待测信号,clk为我们输入的基准时钟信号,q0为输入到数码管的频率值第四章 注意事项 虽然用的是现代逻辑的知识,

20、编写的程序是Verilog HDL语言实现的,但是在我们在选择软件的时候要注意下,不要在做到一半的时候去更换软件,这样往往是很费时间的,还有一个,在代码编写的过程中往往不能很快发现错误的地方,这个时候我们就要仔细的观察,或者找同伴交流。刚开始的时候我打代码元器件不能生成,最后查阅各种资料终于找到了些技巧。还有一点,当编译出现错误的时候,我们要快速找出问题的位置,英语水平也非常重要。心得体会经历了这三周的“系统仿真”课程设计以及调试检测,掌握和了解了数字频率计的基本设计方法和设计原理,对现代逻辑也有了进一步的深刻认识。原理图的设计并不能很死板,不能仅用参考书上已有的原理来设计,参考上设计的是用4

21、位数码管来显示的,我们的要求是用6位数码管来显示的,所以还要改动很多东西。想想虽然很简单,但是还是需要考虑到应用时的很多因素。我在编写代码和连接原件的过程中遇到了一些难以去克服的困难,我通过请教身边的同学和相关老师,研究整个数字频率计的每一个细节。我终于用努力换来了仿真的成功设计。并取得了不错的效果。我认为我们不仅要学习好专业知识,更重要的是能将这些知识应用到实际中去,学以致用,积累经验,掌握应有的专业技能。每个成功的背后都要面对无数次的失败,这次课程设计也不例外。虽然遇到不少问题与困难,但通过老师以及同学的帮助,都一一得到顺利地解决。我想这必定会为将来的实践积累宝贵的经验和教训。总之,这次课

22、程设计我们都受益匪浅。整个过程氛围浓厚,本人也态度十分认真,积极向老师和同学求教并在此过程中收获良多,能够进一步了解和使用一门与硬件直接打交道的基本语言对我们将来的学习和工作都会十分有益。最后我要感谢所有此次课程设计给予我帮助的同学和老师。第五章 参考文献数字系统设计与Verilog HDL(第四版)/王金明编著.-4版. -北京:电子工业出版社,2011.1潘松,黄继业.EDA技术使用教程(第3版) .北京:科学出版社,2006王小军 主编.VHDL简明教程.清华大学出版社,1997甘历 主编.VHDL应用于开发实践科学出版社,2003 刘爱荣 主编.EDA技术与CPLD/FPGA开发应用简明教程.清华大学出版社,2007XX文库:XX文库:附录A:指导教师评语及成绩指导教师评语: 成绩评定: 指导教师: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1