利用CPLD设计可调时数字钟.docx
《利用CPLD设计可调时数字钟.docx》由会员分享,可在线阅读,更多相关《利用CPLD设计可调时数字钟.docx(16页珍藏版)》请在冰豆网上搜索。
利用CPLD设计可调时数字钟
数字电路课程设计
题目:
利用CPLD设计可调时数字钟
学院电子信息工程学院
专业电气工程及其自动化
学号
姓名
教师
2010年6月日
基于CPLD数字时钟设计
摘要
本次课程设计是用数字电路知识以及MaxplusⅡ软件进行的制作,首先理解电路原理图,然后进行了焊接,本次焊接增加自己的动手能力。
然后对数字电路书又进行了复习,最后应用MaxplusⅡ软件进行了编程。
电路通过使用数字元件,来构成完成二十四小时的数字钟设计,并且将译码器和数据选择器配合使用来完成动态的显示输出。
此外,外部控制开关用来控制电路,使得该电路可以完成保持、清零、快速校对时间等一系列的功能。
本系统的难点在于EDA系统作图及最后系统优化的应用。
尤其是小数点的显示控制,用一个或门,通过1Hz来控制第三个数码管的点显示,再通过一个与非门来控制第五个数码管的点显示,第五个数码管的点在整个脉冲阶段显示,而第三个数码管的点只有在低电平时显示,以达到结果是第五个数码显示管的点常亮,而第三个数码管的点以1Hz的频率闪烁。
制作中经常遇到各种问题,如第一次用的七段译码器显示六和九时,显示的不是很好,就重新自己做的译码器,让其显示的比较完美,而且也出现了制作的程序太大问题,最后不断的修改终于成功了。
关键词:
数字电路MaxplusⅡ七段译码器
目录
一总体设计方案1
1.1设计要求1
1.2设计原理1
1.2.1电源电路1
1.2.2振荡电路与分频电路1
1.2.3显示电路2
二各模块说明4
2.1设计思路及步骤4
2.2总体框图4
2.3各模块说明5
2.3.1BCD-7段译码显示电路5
2.3.2时间计数器电路5
2.3.3数据选择器电路9
2.3.4译码器电路10
2.3.5比较器电路10
2.3.6按键消抖电路11
2.4数字钟电路总图12
三课程总结13
3.1遇到的问题及其解决办法13
3.2收获与体会13
参考文献14
一总体设计方案
1.1设计要求
1、以数字形式显示时、分、秒的时间;
2、要求手动校时、校分、校秒;
3、调节时间时对应显示位以2Hz频率闪烁;
4、时与分显示之间的小数点常亮;
5、分与秒显示之间的小数点以1Hz频率闪烁;
6、各单元模块设计即可采用原理图方式也可以用Verilog程序进行设计。
1.2设计原理
1.2.1电源电路
如图1.1示为实验所需的电源电路。
图1.1电源电路
1.2.2振荡电路与分频电路
晶体振荡器给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.
分频电路采用T触发器对其分频,每经过一个T触发器对其二分频,所以各点的分频倍数分别为:
QD:
24QE:
25QF:
26QG:
27QH:
28QI:
29QJ:
210QL:
212QM:
213QN:
214;此处采用的是32768Hz的晶振,故分频之后QF:
512Hz、QI:
64Hz、QN:
2Hz。
电路原理图如右图1.2所示。
图1.2分频电路
1.2.3显示电路
计数器实现了对时间的累计以8421BCD码形式输出,选用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流.
图1.3显示电路
数码管是共阴数码显示管,当其控制端为“0”时,数码显示管显示。
显示模块输入时钟频率为512Hz,显示刷新频率约为85Hz。
如图1.3示。
1.2.4CPLD电路原理图
此原理图1.4的MODE和ADD分别控制校正位和其校正位进行加一校正。
MODE共有七个状态分别对应六个数码管的校正和正常计数。
图1.4实验原理图
二各模块说明
2.1设计思路及步骤
1按原理图和元件插件图完成电路的焊接;
2拟定数字钟的组成框图,划分模块;
3对各单元模块电路进行设计与波形仿真;
4总体电路设计与仿真;
5程序下载与调试。
2.2总体框图
图2.1总体框图
2.3各模块说明
2.3.1BCD-7段译码显示电路
图2.2译码显示电路原理图
工作原理:
利用集成块7449实现译码功能,完成对应十进制信号在数码管上的显示。
该电路仿真图如图所示:
图2.3译码显示电路仿真图
2.3.2时间计数器电路
利用7493连成一个六进制计数器,仿真正确后命名为cnt6。
图2.4六进制计数器电路原理图
图2.5六进制计数器仿真图
利用7493连成一个十进制计数器,仿真正确后命名为cnt10。
图2.6十进制计数器原理图
图2.7十进制计数器仿真图
利用7493连成一个三进制计数器,仿真正确后命名为cnt3。
图2.8三进制计数器原理图
图2.9三进制计数器仿真图
将三进制、六进制、十进制计数器连接成计数器电路,如下图所示。
图2.10计数器电路原理图
图2.11计数器仿真图
2.3.3数据选择器电路
参照数字电路设计讲义,连接数据选择器电路。
图2.12数据选择器电路图
图2.13数据选择器仿真图
2.3.4译码器电路
参照数字电子技术基础中显示译码器真值表及逻辑表达式,连接译码器电路,以控制显示块显示0~9十个数字。
图2.14译码器电路原理图
2.3.5比较器电路
图2.15比较器电路原理图
图2.16比较器电路仿真图
2.3.6按键消抖电路
64Hz消抖动模块时钟
利用两个D触发器连成一个二位移位寄存器,用64Hz频率对key进行采样,依次寄存在二位移位寄存器中,若前后一致则结果为这个值,若前后不一致则保持原结果。
功能如下表所示:
表2-1
第一D触发器
第二D触发器
结果
0
0
0
0/1
1/0
保持
1
1
1
图2.17按键消抖电路原理图
图2.18按键消抖电路仿真图
2.4数字钟电路总图
数码管显示控制电路工作原理:
以512Hz的频率作为时钟脉冲,用六进制计数器为三八译码器提供六个不同状态,每个数码管的显示频率约为85Hz,观测到的结果为:
数码管常亮。
此电路的巧妙之处在于小数点的显示是用一个或门,通过1Hz频率来控制第三个数码管的小数点显示,再通过一个与非门来控制第五个数码管的小数点显示。
第五个数码管的小数点在整个脉冲阶段显示,而第三个数码管的小数点只有在低电平时显示,故观察到结果是第五个数码管常亮,而第三个数码管的小数点以1Hz的频率闪烁。
图2.19数字钟电路全图
三课程总结
3.1遇到的问题及其解决办法
焊接方面:
1元件安插和焊接的矛盾:
若是把元件全部安插完毕再焊接,在焊接时管脚之间影响下烙铁,若是安插一个焊一个会影响效率。
后来采用的方法是分步来,安插一部分焊接一部分。
并且安插和焊接时先焊接较低的元件,然再焊较高元件;
2焊接时要注意元件与电路板的高度,管脚长度,避免虚焊和短路。
我就是在焊接后试着接通电源,指示灯亮,过了几天接上电源却发现指示灯不亮了。
后经查实是由于几处虚焊导致的。
软件编程方面:
1学会maxplus2的基本使用方法,掌握了maxplus2的基本功能及其在CPLD编程中原理及其发展应用。
2在对各个元件进行设计和摆放的时候,注意元件引脚之间的对应关系。
3通过对已知程序的改进,完成在初始状态下的自动计时功能。
3.2收获与体会
通过利用CPLD设计可调时数字钟的数字电路课程设计课程,我又锻炼了动手能力,包括焊接技术,组装技术等。
让我对焊接有了更为深入的了解。
对于软件方面,我学会maxplus2的基本使用方法,掌握了maxplus2的基本功能及其在CPLD编程中原理及其发展应用。
此外,我的心得体会总结如:
1.设计初期要考虑周到,否则后期改进很困难。
应该在初期就多思考几个方案,进行比较论证,选择最合适的方案动手设计。
总体设计在整个设计过程中非常重要,应该花较多的时间在上面。
2.方案确定后,才开始设计。
设计时,多使用已学的方法,如列真值表,化简逻辑表达式,要整体考虑,不可看一步,做一步。
在整体设计都正确后,再寻求简化的方法。
3.在设计某些模块的时候无法把握住整体,这时可以先进行小部分功能的实现,在此基础上进行改进,虽然可能会多花一些时间,但这比空想要有效的多。
4.尽可能是电路连线有序,模块之间关系清楚,既利于自己修改,也利于与别人交流。
如果电路乱的连自己都看不懂,那还如何改进和扩展。
5.很多难点的突破都来自于与同学的交流,交流使自己获得更多信息,开拓了思路,因此要重视与别人的交流。
参考文献
[1]《数字电子技术基础简明教程》(第二版)余孟尝
[2]《数字钟制作》河北大学电子信息工程学院编