- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2006112020330 简易数字频率计 的设计.doc
HUBEI NORMAL UNIVERSITY
电工电子实验报告
课程名称 EDA技术基础 实验名称 综合实验总结 选题性质 设计 学号姓名 2006112020330 杨炜 专业名称 电子信息科学与技术 所在院系 物理与电子科学学院 填表时间 2008.06.20 简易数字频率计的设计
一、任务解析
被测信号通过门控电路送到计数器中,再从计数器中传送到显示数据缓冲buffer中,最后通过数码管显示出来。信号的传输过程就是这样。但是,我们要通过数码管显示频率,就需要对输入的信号进行控制,归根到底是对输入的时间进行控制,需要在1s内对输入的信号进行计数,因此,1hz精密时钟的设置非常重要,它既要控制门控电路来限制被测信号的输入时间,还要对计数器进行及时的清零,同时,还得对buffer里的数据进行更新。在实验中,就是通过1hz精密时钟和门控电路来实现对被测信号的控制的。
本实验中门控电路是用与非门来实现的,如下图:
门控电路
门控电路数器的工作状态与buffer的工作状态恰好相反,即当计数器计数时,buffer不工作,计数器不向buffer中输入数据,也就是,当clks输入为0时,通过与非门向计数器输入就是1,计数器计数,但是向buffer中输入的就是0,buffer就不工作了,从而实现了对计数器和buffer进行分时控制,即能实现数据的输入和清零,也能实现数据的更新。
在1s内,也就是在1hz精密时钟的控制下数器是对输入的被测信号进行计数,1s内计的数值就是被测信号的频率。1s后计数器停止计数,buffer开始工作,计数器中的数据传到buffer中,再通过数码管扫描显示出来,数码管显示的值即为被测信号的频率。
二、方案论证
把抽象的原理框图改写成直观易懂的实验原理图如下:
三、实验步骤
在实际设计过程中,采用的是分模块来设计的,最后把各个模块连接成实验原理图。下面介绍各个模块。
1、1hz精密时钟 的设计
模块图如下:
程序如下:
module yihz(clk24M,clko);
input clk24M;
output clko;
parameter N
parameter n=24;
reg [n:0]cnt;
reg clko;
always @(posedge clk24M)
begin
if(cnt==N) begin cnt=0;clko=1; end
else begin cnt=cnt+1; clko = 0;end
end
endmodule
由于实际的实验箱上没有1hz的频率发生器,只有24Mhz的频率,所以要把24Mhz的分频,使产生1hz的信号。1hz就是周期为1s的控制输入信号。
2数器 的设计
模块如下:
程序如下:
module jishu(clk,rest,a,b,c,d,e,f,g,h);
input clk,rest;
output [3:0]a,b,c,d,e,f,g,h;
reg [3:0]a,b,c,d,e,f,g,h;
always @(posedge clk or negedge rest) begin
if(!rest) begin
a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;
end
else 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;end
else begin b=b;c=c;d=d;e=e;f=f;g=g;h=h;end
if(b==10)begin b=0; c=c+1;d=d;e=e;f=f;g=g;h=h;end
else begin c=c;d=d;e=e;f=f;g=g;h=h;end
if(c==10)begin c=0; d=d+1;e=e;f=f;g=g;h=h;end
else begin d=d;e=e;f=f;g=g;h=h;end
if(d==10)begin d=0; e=e+1;f=f;g=g;h=h;end
else begin e=e;f=f;g=g;h=h;end
if(e==10) begin e=0; f=f+1;g=g;h=h;end
else begin f=f;g=g;h=h;end
if(f==10) begin f=0;g=g+1;h=h;end
else begin g=g;h=h;end
if(g==10) begin g=0;h=h+1;end
else h=
文档评论(0)