基于数字时钟的EDA课程设计Word格式.docx
- 文档编号:16344147
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:10
- 大小:117.84KB
基于数字时钟的EDA课程设计Word格式.docx
《基于数字时钟的EDA课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于数字时钟的EDA课程设计Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
数字电子钟原理如下图所示。
一个具有计时、显示等基本功能的数字钟,主要由振荡器、分频器、计数器、译码器、显示器和校时器等组成。
振荡器产生的信号经过分频器得到秒脉冲,秒脉冲送入计数器计数,计数结果通过“分”、“秒”译码器译码。
振荡器和分频器产生稳定的校时信号和“秒”计时信号。
对“秒”计时信号进行60进制计数,形成“分”计时信号和秒计数值;
再对“分”计时信号进行60进制计数,秒计数值和分计数值译码显示时间。
(1)有源晶振:
主要产生时钟频率为12MHZ的输入信号脉冲
(2)开关控制:
主要实现数字钟的暂停、复位。
(3)EPM7064芯片部分:
是整个数字钟的核心部分。
主要是程序写入以及对输入脉冲的接收与转换输出工作。
(4)下载电路部分:
使用JTAG下载电路
(5)数码管显示部分:
4位数码管显示分(2位)、秒(2位)
1、核心芯片EPM7064简介
CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。
是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。
其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统.本文采用ALTERA公司的MAX7000s,它是基于第二代MAX结构的高精度、高性能、在系统中可编程的CPLD芯片,采用CMOS技术加工而成,内含电可擦除只读存储器,可提供600~5000个可用选通引脚、ISP、速度仅有5ns的延迟以及频率可达175.4MHZ的高速计数器。
2、时钟电路
晶体振荡器电路给数字钟提供一个品种稳定准确的方波信号,可保证数字钟的走私准确及稳定。
与晶振并联的电阻的作用——与晶振并联的电阻R17是反馈电阻,是为了保证反相器输入端的工作点电压在VDD/2,这样在振荡信号反馈在输入端时,能保证反相器工作在适当的工作区。
虽然去掉该电阻时,振荡电路仍工作了。
但是如果从示波器看振荡波形就会不一致了,而且可能会造成振荡电路因工作点不合适而停振。
所以千万不要省略此电阻。
这个电阻是为了使本来为逻辑反相器的器件工作在线性区,以获得增益,在饱和区是没有增益的,没有增益是无法振荡的。
如果用芯片中的反相器来作振荡,必须外接这个电阻,对于CMOS而言可以是1M以上,对于TTL则比较复杂,视不同类型(S,LS…)而定。
如果是芯片指定的晶振引脚,如在某些微处理器中,常常可以不加,因为芯片内部已经制作了,这两个电容(C7,C8)叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮法。
它会影响到晶振的谐振频率和输出幅度,一般订购晶振时候供货方会问你负载电容是多少。
晶振的负载电容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+△C(PCB上电容)经验值为3至5pf。
这两个电容串联的值是并联在谐振回路上的,会影响振荡频率。
当两个电容量相等时,反馈系数是0.5,一般是可以满足振荡条件的,但如果不易起振或振荡不稳定可以减小输入端对地电容量,而增加输出端的值以提高反馈量。
时钟电路
3、按键电路
按键电路为了实现该设计的基本功能,通过按键电路实现计数时钟的的开启和暂停功能
按键电路
4、数码显示电路
在应用数码管显示时,首先需要考虑的问题就是驱动电流,与发光二极管相同,数码管的发光段也需要串联限流电阻,共阳极数码管为例,串联的限流阻值越大,电流越小,亮度越低;
电阻值越小,电流越大,亮度越高。
在使用限流电阻时需要在每一段线上都串联限流电阻,而不要在公共端上串联电阻,如果只是在公共端上串联一个限流电阻,则显示不同数字是,将会造成数码管亮度的不同。
在动态显示时,每个数码管的断连线是对应连接在一起的,同时由于数码管不存在同时点亮状态,所以只需在段连线的引出端上串联限流电阻即。
见电路图原理。
电路图原理
5、JTAG接口电路
JTAG接口是一个业界标准,主要用于芯片测试和配置等功能,使用IEEEStd1149.1联合边界扫描接口引脚。
JTAG最初用于芯片功能的测试,其工作原理是在器件内部定义一个测试访问端口(TestAccessPort,TAP),通过专用的JTAG测试工具对内部节点进行测试和调试。
TAP是一个通用的端口,外部控制器通过TAP可以访问芯片提供的所有数据寄存器和指令寄存器。
现在JTAG接口还常用于芯片的在线配置,对PLD、Flash等器件进行配置。
为了完成系统的调试,任何原型系统都支持JTAG配置方式,因而JTAG配置也就成为最广泛支持的配置方式。
不同厂商和不同型号的绝大部分FPGA芯片都支持JTAG配置方式。
在Altera公司的FPGA芯片中,JTAG配置方式比其他任何一种配置方式的优先级都高。
JTAG允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,实现对各个器件分别测试和配置。
JTAG接口由4个必需的信号TDI、TD0、TMS和TCK,以及1个可选信号TRST构成。
JTAG接口电路
三、设计程序
1.流程图
2.试验程序
moduleclock(clk,key,dig,seg);
inputclk;
input[2:
0]key;
output[3:
0]dig;
output[7:
0]seg;
reg[3:
0]dig_r;
reg[7:
0]seg_r;
reg[24:
0]count;
reg[15:
0]hour;
0]disp_dat;
regsec,keyen;
reg[2:
0]dout1,dout2,dout3;
wire[2:
0]key_don;
assigndig=dig_r;
assignseg=seg_r;
/**********************************************************/
always@(posedgeclk)//秒信号
begin
count=count+1'
b1;
if(count==25'
d6000000)
count=25'
d0;
sec=~sec;
end
assignkey_don=(dout1|dout2|dout3);
//消抖
always@(posedgecount[17:
15])
dout1<
=key;
dout2<
=dout1;
dout3<
=dout2;
always@(negedgekey_don[0])//乒乓开关
keyen=~keyen;
/****************************************************/
always@(posedgeclk)
case(count[17:
3'
d0:
disp_dat=hour[3:
0];
//显示秒
d1:
disp_dat=hour[7:
4];
d2:
disp_dat=hour[11:
8];
d3:
disp_dat=hour[15:
12];
endcase
dig_r=8'
b1110;
//选择第一个管
b1101;
b1011;
b0111;
always@(posedgeclk)
case(disp_dat)
4'
h0:
seg_r=8'
hc0;
//显示0
h1:
hf9;
h2:
ha4;
h3:
hb0;
h4:
h99;
h5:
h92;
h6:
h82;
h7:
hf8;
h8:
h80;
h9:
h90;
ha:
hbf;
default:
hff;
if((count[17:
15]==3'
d2)&
sec)
seg_r=8'
/*********************************************************/
always@(negedgesec,negedgekey_don[1],negedgekey_don[2],keyen)
if(!
key_don[1])//清零
hour=15'
h0;
elseif(!
key_don[2])//置数5
hour[3:
0]=4'
h5;
hour[7:
4]=4'
hour[11:
8]=4'
hour[15:
12]=4'
key_don[1]&
keyen)//调整秒位**************************
0]=hour[7:
0]+1;
key_don[2]&
keyen)//调整分位*************************
8]=hour[15:
8]+1;
keyen)//开始\暂停
0]=hour[3:
0]+1'
//秒个位+1
if(hour[3:
0]==4'
ha)
4]=hour[7:
4]+1;
//秒十位+1
if(hour[7:
4]==4'
h6)
8]=hour[11:
//分个位+1
if(hour[11:
8]==4'
begin
12]=hour[15:
11]+1'
//分十位+1
if(hour[15:
11]==4'
11]=4'
endmodule
四、总结及心得
开始做设计时总是会犯一些错误,只有经过不停的改错不停的编译才能得到正确的程序。
在编程时,我参考老师提供的程序运用结构化的思想,在同学的帮助下经过反复调试终于成功了。
在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心。
感谢老师提供给我们这样一个锻炼自己的机会,让我们感受到学来的知识不只是用来完成试卷的。
在完成课程设计的过程中体会到团队合作的乐趣。
一向惯于“独立思考”的我们学会了积极的同团队成员交流,取长补短,共同进步。
最重要的一点,我们学会了一种快速有效的学习方法。
以往的学习都是老师讲学生记,不懂得地方就靠解答大量习题帮助记忆,学习的主要目的是通过最后的考试。
课程设计使我们发现考试真的并不是最重要,最重要的是能运用所学的知识。
在整个课程的学习过程中,我们突破了传统学习模式,把被动接受转变为主动学习。
不再是用学到的知识解题,而是在实际运用时遇到什么学什么,重在把知识应用于实际。
从这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。
我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平才能提高,这就是我在这次课程设计中的最大收获。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 数字 时钟 EDA 课程设计