EDA设计—电子钟设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 引言(或绪论)
1.1 EDA课程设计的目的
训练综合运用学过的数字电子、可编程逻辑器件等基本知识,培养独立设计比较复杂的数字逻辑的能力。

通过课程设计,力争掌握使用EDA(电子设计自动化)工具设计数字逻辑的方法,包括设计输入、编译、软件仿真、下载和硬件仿真等全过程,为以后进行工程实际问题的研究打下设计基础。

1.2 EDA课程设计使用的软硬件平台
设计工作建立在硬件和软件两个平台的基础上。

硬件平台是实验室提供的MCU/CPLD开发实验仪。

实验仪上的可编程逻辑器件可保证在一片芯片上设计出题目要求的数字电路。

软件平台是ALTERA公司的MAX+PLUSII。

1.3 EDA课程设计的基本方法
采用可编程逻辑器件进行设计,在微机上进行原理图或程序的输入、编译和软件仿真,满足设计要求后,再进行下载和硬件实验。

如硬件实验结果不满足要求,需要修改设计,直到满足要求为止。

2 EDA设计任务书
设计一个时钟,从0时0分0秒计时到9时59分59秒,时间在5个七段LED数码管上显示,并且这个电子钟还具有校时功能和清零功能。

用MAX+PLUSII设计相关电路,并进行相关的仿真,并下载到实验板上演示现象,若现象不满足预期的效果,对电路进行调试,直到满足预期的现象,实现上述功能。

3系统设计方案论证
3.1 系统设计的总体思路
实验板上晶振的频率为1MHz,而时钟的秒位计数器需要1Hz的信号触发它计数,因此需要对实验板上晶振提供的1MHz的信号进行1000000分频得到1Hz的信号。

秒的个位计数用十进制计数器(74162)计数,由1Hz的信号触发计数;秒的十位计数用六进制计数器(自行设计封装)计数,由秒各位计数器的进位信号触发计数;分的个位由十进制计数器计数,由秒十位计数器的进位信号触发计数;分的十位由六进制计数器计数,由分个位计数器的进位信号触发计数;时位由十进制计数器计数,由分十位计数器的进位信号触发计数。

用计数电路、译码选通电路、七段译码电
路、与门和或门,可实现在某一时刻只有一个数码显示管显示相关的数字,其他是不亮的,按一定规律循环地显示每一位上的数码,这个循环频率很高,以至于人眼在某一时刻感觉所有位上的数码管都在发光,这就实现了时钟每一位的显示功能。

利用与门、或门和非门的基本特性,可实现时分、秒、位上的校时功能。

而清零功能的实现需要巧妙的解决好每一个计数器上时钟同步的问题,也是巧妙的用到与门、或门和非门的基本特性实现的。

3.2系统的功能框图
3.2.1 走时显示电路
图1 走时显示电路
3.2.1 校时清零电路
图2 校时清零电路
4 各功能化模块的设计
4.1 分频电路的设计
74162是模十的计数器,可对信号进行十分频,信号从74162的时钟端输入,从74162的进位端输出的信号就是输入信号的经十分频后的信号,因此N个74162按上述方式级联即实现了对输入信号的10N的分频。

由此制成一千分频和一百分频电路。

图3 一千分频和一百分频封装电路
图4 一千分频电路原理图
因此1MHz的信号经过1000000分频(1MHz的信号经过两个一千分频电路)得到1Hz的信号,1MHz的信号经过100000分频(1MHz的信号经过一个一千分频电路和一个一百分频电路)得到1Hz 的信号,1MHz的信号经过1000分频(1MHz的信号经过一个一千分频电路)得到1kHz的信号,因此分频电路与那里图如下。

图5 分频电路原理图
分频电路完成电路对高频信号的分频,应作为一个功能化模块进行封装,它实现了将1MHz的信号,转换为1Hz,1kHz和10Hz的信号的功能,封装图如下。

图6 分频电封装图
4.2 秒位计时电路的设计
实验板上的晶振发出1MHz的信号,此信号经1000000分频得到1Hz的信号,这个信号可以触发秒的个位计数,秒的个位可用一个74162计数器来计时。

秒个位计数器的进位输出信号可以触发秒十位计数,秒的十位应该是一个六进制计数器,用74162的反馈清零法制成模六的计数器,
也就是当74162计数到“5”时,反馈回路出现一个很窄的负脉冲,这个负脉冲将74162的计数状态又清除成“0”,这就实现了模六的计数功能,同时反馈回路上的信号也提供模六计数器的进位信号,即秒十位向分个位的进位信号。

图7 六进制计数器封装图
图8 六进制计数器电路原理图
图9 六进制计数器电路原理图
4.3 分位计时电路的设计
分个位的计数器由74162组成,它由秒十位的进位信号触发计数,而分十位也是由74162经反馈清零法设计成的,原理同上述秒十位计数器,它由秒个位计数器的进位信号触发计数,秒十位计数器本身的进位信号触发时个位计数器计数,原理图和级联方式与上述秒位计时电路类似,这里不再赘述。

4.4 时位计时电路的设计
时个位的计数器由74162组成,它由分十位的进位信号触发计数,原理图和级联方式与上述秒位计时电路类似,这里不再赘述。

4.5 计时电路的整体设计
计时电路由秒计时,分计时和实际是电路按上述方法级联起来,实现电子钟的走时计数功能,计数器所计的数值经过译码显示电路,驱动LED数码管显示正常的数字,它的输入信号为1Hz的信号,输出为各位上数值的BCD码。

清零电路也集成在这里,原理详见清零电路部分,对其进行封装,得到下述计数功能模块电路图。

图10 计时电路封装图
4.6 LED动态扫描显示电路设计
4.6.1 显示驱动电路设计
图11 显示译码电路原理图
如上图所示,可将BCD码转换为数字显示码,有四个输入引脚,此七个输出引脚分别对应到七段译码器的a,b,c,d,e,f,g这七段LED,实验班用的LED是共阴极的,因此七段译码器
的真值表如下图所示,使用AHDL语言进行设计,用真值表语句设计七段显示译码驱动电路,编译,查错,链接,用波形仿真,分别输入0—9的BCD码,观察对应的输出是否驱动相应的码段发光,逐个分析没位数字是否正确,若全部正确,则创建七段显示译码驱动电路的符号文件:产生qiduanyimanengyongfenkaije.sys文件,以便在设计总体电路时,直接插入七段译码电路。

将上述每一位计数器输出的四位BCD码接到七段译码器的输入端,七段译码器的输出即可驱动七段数码显示管正常工作。

图12 显示译码电路两种封装图
4.6.2 动态循环选通电路设计
模五的计数器由高频时钟信号驱动计数,高速循环输出“0”“1”“2”“3”“4”这五个地址信号,这计数器的输出信号作为自行设计的三线八线译码器的地址信号输入,每一个地址信号选通一个输出端口,使它输出一个高电平的脉冲,用这个高电平脉冲和与门,可同时选通相应位的LED 和同一位的七段译码器的输出信号,在同一时刻,其他位的LED以及七段译码器的输出是处于屏蔽状态的,所以在某一时刻,其实只有一个LED数码管在发光,由于由于LED闪烁的频率远高人眼能分辨的频率,所以人眼看上去是所有位的LED同时在显示。

模五计数器可由74162经反馈清零法设计而成,给QC输出端接一个反向器,每当计数器计到“4”时,反馈回路输出一个负脉冲,这个负脉冲使74162的计数状态又变为零,因此,这就实现了模五计数器的设计,这个信号也可作为进位信号输出,模五的计数器的时钟端接1MHz的信号,充分提高各位LED数码管显示的闪烁频率,实验证明也可以提高每位LED灯的亮度,使能端ENT 可在芯片扩展时使用,方便在以后编别的程序时使用。

将74162的各位预置初值输入端都接地,置数端以后可以作为本芯片清零的输入端,在本芯这样连接,若用一个输入端接到清零端了,会出错。

图13 模五的计数器原理图
三线八线译码器,将A2A1A0看做一个三位二进制数,它可表示某一位十进制数,这一位端口就输出高电平。

通过下面原理图的非门以及四输入与门即可实现上述功能,完成了二进制地址译码选通的功能。

图14 模五的计数器原理图
利用上述三线八线译码器的“Y0”到“Y4”输出端,和与门、或门可实现在某一时刻只有一个数码LED在发光,而其他四个LED都处于关断状态,模五计数器高速循环输出“0”“1”“2”“3”
“4”,因此“Y0”到“Y4”高速循环输出高电平脉冲,在三线八线译码器一位输出高电平脉冲时,其余四个都是低电平输出,这就实现了五个数码管动态循环扫描输出的功能。

将上述两个电路级联,就得到了动态扫描电路,动态扫描电路高速循环导通每位数码LED,同时选通驱动该为LED显示数码的七段译码器的输出信号,动态扫描电路原理图及封装图如下。

图15 动态扫描电路原理图
图16 动态扫描电路封装图
4.7 七段译码器输出选通电路设计
用上述动态扫描电路的五个输出信号作为选通信号,这五个输出信号分别选通五个七段译码器的输出信号,即用一个动态扫描电路的输出端与对应七段译码器的七个输出分别相与,五个七段译码器相同位输出在经过一个五输入或门相或,这就保证了在某一时刻只有一个七段译码器输出是被选通的,而在这一时刻这个七段译码器所驱动的LED数码管通过动态扫描电路原理也被选通。

,封装图如下。

图17 七段译码器输出选通电路封装图
4.8 秒位校时电路设计
通过一个开关的两种电平,来打开个关闭一个二输入与门,另一个输入端接10Hz的信号。

因此这个开关实现了10Hz信号是否加入电路的作用,开关打在高电平上,高频信号通过与门,开关打在低电平上,与门输出为低电平。

把与门的输出信号,和时钟正常走时所需要的时钟信号,一起通过或门,加给秒个位时钟信号的输入端即可,这样秒校时开关打在高电平上,秒个位以10Hz 的频率跳动起来,秒校时开关打在低电平上时,正常走时。

图18 秒位校时电路原理图
4.9 分位校时电路设计
通过一个开关的两种电平,来打开个关闭一个二输入与非门,另一个输入端接1Hz的信号。

因此这个开关实现了1Hz信号是否加入电路的作用,开关打在高电平上,1Hz信号通过与非门,开关打在低电平上,与非门输出为高电平。

把与非门的输出信号,和时钟正常走时所需要的时钟信号,一起通过与门,加给分个位时钟信号的输入端即可,这样分校时开关打在高电平上,分个
位以1Hz的频率跳动起来,分校时开关打在低电平上时,正常走时。

图19 分位校时电路原理图
4.10 时位校时电路设计
通过一个开关的两种电平,来打开个关闭一个二输入与非门,另一个输入端接1Hz的信号。

因此这个开关实现了1Hz信号是否加入电路的作用,开关打在高电平上,1Hz信号通过与非门,开关打在低电平上,与非门输出为高电平。

把与非门的输出信号,和时钟正常走时所需要的时钟信号,一起通过与门,加给时个位时钟信号的输入端即可,这样时校时开关打在高电平上,时个位以1Hz的频率跳动起来,时校时开关打在低电平上时,正常走时。

图20 时位校时电路原理图
4.11 校时电路的总体设计
清零电路设计的原理就是用与门来控制是否把比正常走时时各位计数器时钟输入端频率高的信号加在相应计数器的时钟输入端,根据与门和或门的基本性质,可在上述走时电路中预留出相应校时位上的时钟信号输入端,再设计如下控制频率是否通过的电路,即可实现,秒校时,分校时和时校时的功能模块,原理,封装图如下。

图21 校时电路原理图
图22 校时电路封装图
4.12 清零电路的设计
清零电路设计的关键就是要解决好同步问题,在发出清零信号时,所有计数器的时钟信号是一致的,而且处于有效的边沿。

为此可以设计当清零信号有效时,很高频率的信号同时加入个计数器的时钟端,而当清零信号无效时,各计数器上时钟端加的是正常走时所需要的时钟信号。

也可以用与门,或门和非门实现上述的功能。

当清零信号为低时,清零信号经过一个非门变为高电平信号,将与门打开,高频信号通过与门,在与秒各位计数器的时钟端上的信号相或,与其他各位计数器时钟输入端上的信号相与。

这样,当清零信号有效时,每一位计数器上的时钟输入端实现了同步的功能,实现了同步清零的功能。

当清零信号无效时,时钟正常走时。

图14 清零电路原理图
5 各功能化模块的级联
5.1 理论分析
将上述个部分用导线连接,即完成了各个功能模块的连接实现了电路的整体功能,由此以下电路即实现正常走时,全部清零,秒分时位的校时功能。

电路有一个时钟输入端,接实验板的晶振振荡电路输出的频率信号,一个开关用于全部清零,其他三个开关分别用于秒分时位的校时功能,五个输出用于控制五个LED数码管的通与断,七个输出用于显示当前导通LED上的数码,电路总体连接见图一。

5.2 实验过程
(一)根据上述原理用AHDL语言设计并软件仿真七段译码显示驱动,保存,检查,排错创建电路包含文件。

(二)根据原理图用软件设计每一位的计时电路,分频电路,动态扫面显示电路,每一位的校时电路和清零电路,并用软件进行波形仿真。

(三)用导线将上述功能电路连接。

(四)软件编辑:(1)保存文件:保存为kechengsheji.gdf。

(2)指定项目与文件同名kechengsheji.gdf。

(3)指定设计器件:MAX7000S系列的EPM7128SLC84-6。

(4)引入相关的芯片、输入输出脚并命名,连线,具体如图15。

(5)保存并检查除错。

(7)保存并编译:产生要烧写的文件kechengsheji.pof。

(8)创建电路符号文件:产生kechengsheji.sys。

(9)创建电路包含文件kechengsheji.inc。

(五)用软件Pof2Jed将kechengsheji.pof转换为kechengsheji.jed;(六)用ISP将kechengsheji.jed烧录到实验板芯片上。

(七)通电检查实验结果。

5.3 实验现象
当清零开关打在高电平,而且秒分时为校时开关均打在低电平上时,电路正常走时;当清零开关打在低电平上时,五个LED数码显示管时钟显示为零;而当清零开关打在高电平上时,其他位校时开关拨道高电平,这一位数码显示管上的数字就比正常走时快速跳动,直到跳到需要的时间,将校时开关拨至低电平,这就实现了校时功能。

结论
通过这次实验初步掌握了小型可编程逻辑器件的设计的一般思路,方法以及过程,一般都是先设计每一个功能模块,用软件仿真,调试每个功能模块,以实现各种功能模块的具体功能,再将各种功能模块连接起来,调试总的系统,完成总体功能的实现。

在本实验中开始时,七段显示管上显示的数字不是按照0—9的顺序显示的,而是有一定的跳变,经分析是七段译码器与74162的高低位对应关系不正确,重新连接后显示正常。

适当提高动态扫描电路的输入频率,可以提高5个LED数码管的亮度,数码显示得更清楚。

在进位输出加个反相器,可以改变进位时间。

参考文献
[1]牛国柱.EDA课程设计指导.南京:南理工翻印,2009.
[2]寇戈,蒋立平.模拟电路与数字电路.北京:电子工业出版社,2005.
[3]刘宝琴.ALTERA可编程器件及其应用.北京:清华大学出版社,1995.
[4]曾繁太.VHDL程序设计.北京:清华大学出版社,2001.。

相关文档
最新文档