简易数字频率计 的设计_第1页
简易数字频率计 的设计_第2页
简易数字频率计 的设计_第3页
简易数字频率计 的设计_第4页
简易数字频率计 的设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、HUBEI NORMAL UNIVERSITY电工电子实验报告课程名称EDA技术基础实验名称综合实验总结选题性质设计学号姓名30 杨炜专业名称电子信息科学与技术所在院系物理与电子科学学院填表时间2008.06.20简易数字频率计的设计一、任务解析被测信号通过门控电路送到计数器中,再从计数器中传送到显示数据缓冲buffer中,最后通过数码管显示出来。信号的传输过程就是这样。但是,我们要通过数码管显示频率,就需要对输入的信号进行控制,归根到底是对输入的时间进行控制,需要在1s内对输入的信号进行计数,因此,1hz精密时钟的设置非常重要,它既要控制门控电路来限制被测信号的输入时间,还要对计数器进行及时

2、的清零,同时,还得对buffer里的数据进行更新。在实验中,就是通过1hz精密时钟和门控电路来实现对被测信号的控制的。本实验中门控电路是用与非门来实现的,如下图: 门控电路门控电路使计数器的工作状态与buffer的工作状态恰好相反,即当计数器计数时,buffer不工作,计数器不向buffer中输入数据,也就是,当clks输入为0时,通过与非门向计数器输入就是1,计数器计数,但是向buffer中输入的就是0,buffer就不工作了,从而实现了对计数器和buffer进行分时控制,即能实现数据的输入和清零,也能实现数据的更新。在1s内,也就是在1hz精密时钟的控制下,计数器是对输入的被测信号进行计数

3、,1s内计的数值就是被测信号的频率。1s后计数器停止计数,buffer开始工作,计数器中的数据传到buffer中,再通过数码管扫描显示出来,数码管显示的值即为被测信号的频率。二、方案论证 把抽象的原理框图改写成直观易懂的实验原理图如下: 三、实验步骤在实际设计过程中,采用的是分模块来设计的,最后把各个模块连接成实验原理图。下面介绍各个模块。1、1hz精密时钟 的设计 模块图如下: 程序如下:module yihz(clk24M,clko);input clk24M;output clko;parameter N=; parameter n=24; reg n:0cnt;reg clko;alw

4、ays (posedge clk24M) begin if(cnt=N) begin cnt=0;clko=1; end else begin cnt=cnt+1; clko = 0;endendendmodule由于实际的实验箱上没有1hz的频率发生器,只有24Mhz的频率,所以要把24Mhz的分频,使产生1hz的信号。1hz就是周期为1s的控制输入信号。2、计数器 的设计 模块如下: 程序如下:module jishu(clk,rest,a,b,c,d,e,f,g,h);input clk,rest;output 3:0a,b,c,d,e,f,g,h;reg 3:0a,b,c,d,e,f,

5、g,h; always (posedge clk or negedge rest) beginif(!rest) begin a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0; endelse begin a=a+1;if(a=10) begin a=0;b=b+1;c=c;d=d;e=e;f=f;g=g;h=h;endelse begin b=b;c=c;d=d;e=e;f=f;g=g;h=h;endif(b=10)begin b=0; c=c+1;d=d;e=e;f=f;g=g;h=h;endelse begin c=c;d=d;e=e;f=f;g=g;h=h;endif(c

6、=10)begin c=0; d=d+1;e=e;f=f;g=g;h=h;endelse begin d=d;e=e;f=f;g=g;h=h;endif(d=10)begin d=0; e=e+1;f=f;g=g;h=h;endelse begin e=e;f=f;g=g;h=h;endif(e=10) begin e=0; f=f+1;g=g;h=h;endelse begin f=f;g=g;h=h;endif(f=10) begin f=0;g=g+1;h=h;endelse begin g=g;h=h;endif(g=10) begin g=0;h=h+1;endelse h=h;if

7、(h=10) begin a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;end end end endmodule 计数器是本次实验的关键所在,它的主要功能是:在1hz精密时钟和门控电路的控制下,在1s的时间内,对输入信号进行计数,1s后,由于门控电路的存在,计数器停止计数。8个数码管采用8位A,B,C,D,E,F,G,H来计数输出。Clk、rest是计数的时钟信号,但是当rest为0时,计数器停止计数。3、显示数据缓冲buffer 的设计模块如下: 程序如下:module buffer(a,b,c,d,e,f,g,h,clk,n1,n2,n3,n4,n5,n6,n7,n8)

8、;input clk;input 3:0a, b,c,d,e,f,g,h;output 3:0n1, n2,n3,n4,n5,n6,n7,n8;reg 3:0n1,n2,n3,n4,n5,n6,n7,n8;always ( clk)begin if(clk=1) begin n1=a; n2=b; n3=c; n4=d; n5=e; n6=f; n7=g; n8=h; endendendmodulebuffer的功能是用于数据的缓冲与锁存。当计数器正在计数时,它的输入时钟信号clk为0,buffer不工作,当计数器不工作时,buffer的输入时钟信号clk为1,buffer开始工作,即把计数器

9、中的数据传到buffer中来锁存。由于门控电路的存在,计数器与buffer分时工作,避免了二者的冲突。当下一个计数开始时,buffer又停止工作,它就把上次存储的数据锁存起来了。当buffer再次工作时,就实现了对数据的更新。4、扫描电路 的设计 模块图如下:程序如下:module saomiao(n1,n2,n3,n4,n5,n6,n7,n8,clk,sel,q);input 3:0n1,n2,n3,n4,n5,n6,n7,n8;input clk;output 2:0sel;output 3:0q;reg 2:0sel;reg 3:0q;always (posedge clk)begin

10、sel=sel+1;endalways (sel) begin case(sel) 4b0000:q=n1; 4b0001:q=n2; 4b0010:q=n3; 4b0011:q=n4; 4b0100:q=n5; 4b0101:q=n6; 4b0110:q=n7; 4b0111:q=n8; endcase endendmodule扫描电路就是对buffer中传送过来的数据进行扫描,通过sel对8位数码管进行选择,确定显示哪一个数码管。5、显示电路 的设计模块图如下:程序如下:module xianshi(q,out);input 3:0q;output 6:0out;reg 6:0out; a

11、lways (q)begin case(q) 4b0000:out=7b; 4b0001:out=7b; 4b0010:out=7b; 4b0011:out=7b; 4b0100:out=7b; 4b0101:out=7b; 4b0110:out=7b; 4b0111:out=7b; 4b1000:out=7b; 4b1001:out=7b; endcaseendendmodule显示电路是将扫描电路扫描的那一个数码管用7段led显示出来,显示结果是从0至9.以上5部分就是顶层原理图的主要部分。四、实验分析 1、实验箱上的演示结果如下:当信号发生器上的频率为500hz时,实验箱上数码管显示为4

12、99500,在误差范围内基本属于正常。2、在程序的编写过程中,计数器这一块很快就编写出来了,可是在实验箱上运行时,这块确是出错最多的一部分。首先,在编译时有31个警告,最后找到问题所在,就是多了一句 begin a=0;b=0;c=0;d=0;e=0;f=0;g=;h=0; end ,原本以为在计数开始时需要人为的给8个数码管清零,但在设计时有一步if(!rest) begin a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0; end 就已经具有清零功能,这样多出的那句就是画蛇添足,而且导致显示全为0,没有计数现象。同时下面的计数部分,应该是嵌套在if(!rest) else的下面,不能和if(!rest)并列,因为清零功能应该优先于计数功能的。其他模块的工作基本是正常的。改正错误后,如上述程序,电路在实验箱上运行正常。五、经验总结 1、学verilog已经有一学期了,现在对那些原理框图并不陌生了。而且田 sir基本上可以说是把设计思路已经给出来了,剩下我们要做的就是把那些思想用电路来进行物理实现。 2、在选设计性实验时,对自己不自信,不知道选哪一个,总担心如果自己做不出来会怎样怎样的,这样徘徊了好几天,最后抱着豁出去的态度决定先做个简易频率计试一下。当时我们班有好几个都在做频率计,而且他们的基础比我好,遇到问题

温馨提示

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

评论

0/150

提交评论