eda课程设计之带定时功能的计时器Word下载.docx
- 文档编号:3032194
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:9
- 大小:285.67KB
eda课程设计之带定时功能的计时器Word下载.docx
《eda课程设计之带定时功能的计时器Word下载.docx》由会员分享,可在线阅读,更多相关《eda课程设计之带定时功能的计时器Word下载.docx(9页珍藏版)》请在冰点文库上搜索。
当计时到所设定的时刻时,驱动扬声器,持续1分钟。
2.设计框图
系统框图主要分为三部分:
第一部分为精准秒脉冲产生电路,这里我们采用频率为32.768KHz的标准晶振搭成精准的秒脉冲产生电路,为电子钟提供精准的秒脉冲输入。
第二部分为FPGA核心控制电路,主要由型号为EP3C25E144C8N的芯片经过编程以后,向译码显示电路提供控制信号。
第三部分为译码显示电路,由4片74LS47驱动4个7段数码管,在核心控制电路输出的控制信号的控制下,显示相应的时、分、秒。
具体框图如下图1所示。
图1
二、设计步骤和调试过程
1、总体设计电路
该数字钟可以实现3个功能:
计时功能、定点报时功能和重置时间功能,因此有3个子模块:
计时、报时(speak)、重置时间(sd1,sd2)。
其中计时模块有4部分构成:
秒计时器(s1)、分计时器(m1)、时计时器(h1)。
秒计时器(s1)是由一个60进制的计数器构成的,。
clk为驱动秒计时器的时钟,s1为秒计时器的输出。
分计时器(m1)是由一个60进制的计数器构成的,s1为驱动分计时器工作的时钟;
m1为分计时器的输出;
时计时器(h1)是由一个24进制的计数器构成的,m1为驱动时计时器工作的时钟,h1为时计时器的输出;
报时模块(speak)的功能是定时到时,speak输出高电平,并且持续一段时间。
(1)、秒脉冲产生电路
如下图所示,由32.768KHz的晶振产生经过CD4060分频产生精准的秒脉冲。
图2
(2)、FPGA核心控制电路
对EP1K30TC144-3进行编程,输出控制信号。
图3
(3)、译码显示电路
如图,由CD4511驱动7段数码管进行显示。
图4
2、模块设计和相应模块程序
(1)、分计时器(second1)
-----------------------分钟十位
m110:
process(clk,min2,sec1,sec2,md1,md2)
begin
ifclk'
eventandclk='
1'
then
if(min1="
0101"
andmin2="
1001"
)and(sec1="
andsec2="
)then
min1<
="
0000"
;
elsifmin1="
andmin2="
and(md1='
0'
andmd2="
00"
)then
elsif(min2="
and(sec1="
))
or(min2="
andmd1='
)thenmin1<
=min1+1;
endif;
--endif;
endprocessm110;
-----------------------分钟个位
m220:
process(clk,sec1,sec2,md1,md2)
ifmin2="
)thenmin2<
elsifmin2="
elseif(sec1="
)or(md1='
min2<
=min2+1;
endprocessm220;
(2)、时计时器(hour1)
-----------------------------------------------小时十位
h110:
process(clk,hou2,min1,min2,sec1,sec2,md1,md2)
if(hou1="
00010"
andhou2="
00011"
)and(min1="
)
)thenhou1<
00000"
elsifhou1="
andhou2="
01"
--当时间为23点且处于校时状态时
hou1<
elsif(hou2="
01001"
and(min1="
))or(hou2="
thenhou1<
=hou1+1;
endprocessh110;
-----------------------------------------------小时个位
h220:
process(clk,min1,min2,sec1,sec2,md1,md2,hou1)
)thenhou2<
elsifhou2="
)and(sec1="
)or(hou1="
--md<
='
elsif((min1="
))
or(md1='
=hou2+1;
--speak<
=clk;
endprocessh220;
(3)、报时模块(speak)
--------------------------------------------闹铃
speaker:
process(clk,hou1,hou2,min1,min2)
then
ifseth1=hou1andseth2=hou2andsetm1=min1andsetm2=min2thenspeak<
elsespeak<
endprocessspeaker;
disp:
process(md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)
ifmd1='
thenh1<
=hou1;
h2<
=hou2;
---------------计时时间显示和设置模式
m1<
=min1;
m2<
=min2;
s1<
=sec1;
s2<
=sec2;
else-----------闹铃时间现实和设置模式
h1<
=seth1;
=seth2;
m1<
=setm1;
=setm2;
s1<
1111"
endprocessdisp;
endone;
3、仿真及仿真结果分析
(1)、秒时钟仿真
如图5,s2满10进1,s1满6进一,即完成60进制秒钟计时。
图5
(2)、分时钟仿真
如图6,m2满10进1,m1满6进一,即完成60进制分钟计时。
图6
(3)、报时仿真
为了便于观察,此处定时为18秒,如图speak在18秒结束后被置高。
(4)、功能仿真RTL图
4、实验调试结果
在首次波形仿真时,遇到了一些困难,想要的结果不能在波形上得到正确的显示:
在设定输入的时钟信号后,数字钟开始计数,但是始终看不到小时、星期的循环计数。
后来,在同学的帮助下和数十次的调试之后,才发现之所以错误是因为输入的时钟信号对于小时、星期来说太短了。
经过屡次调试,终于找到了比较合适的输入数值:
分钟的初始值可以设为57(58、59都可以),小时的初始值可以设为23,这样,仿真之后,就能清楚的看出分钟、小时的循环计数。
另外,Endtime的值需要设置的长一点:
10us左右,输入的时钟周期值要设置的短一点:
5ns左右。
三、结论及心得体会
通过这次设计使我懂得了理论与实际联合是很重要的,只有把所学的理论与实践相结合起来,从理论中得出结论才能提高自己的实际动手能力,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。
同时也遇到了不少困难,特别是各元件之间的连接,以及信号的定义,总是出现错误,不过在细心的检查下,终于找出了错误和警告。
总的来说,这次设计的数字钟还是让我学到不少东西,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,对今后的学习有了更充满了信心。
参考资料
[1]潘松著.EDA技术实用教程(第二版).北京:
科学出版社,2005.
[2]康华光主编.电子技术基础模拟部分.北京:
高教出版社,2006.
[3]阎石主编.数字电子技术基础.北京:
高教出版社,2003.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 课程设计 定时 功能 计时器