数字设计原理与实践
课程设计(时序部分) 数字钟
前言
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。此次设计与制作数字电子钟的目的是让学生在了解数字钟的原理的前提下,运用刚刚学过的数电知识设计并制作数字钟,而且通过数字钟的制作进一步了解各种在制作中用到的中小规模集成电路的作用及其使用方法。由于数字电子钟包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合。 总的来说,此次课程设计,有助于学生对电子线路知识的整合和电子线路设计能力的训练,并为后继课程的学习和毕业设计打下一定的基础。
设计要求:
1)6个数码管显示时、分、秒; 2)能使数字钟复位;
3)能启动和停止数字钟运行;
4)在数字钟停止运行状态下,能够修改时、分、秒的值;
设计内容:
1)根据要求进行需求分析,确定电路输入、输出端口名称及功能; 2)画出电路框图,并对每部分的功能进行详细阐述;
3)若电路有控制部分,用状态图(表)对控制部分的状态转换进行描述,需要阐述各状态的含义;
4)不要求设计具体电路,不要求进行仿真。
设计思路:
数字电子钟是一个对标准频率(1HZ )进行计数的计数电路。它由频率产生部分、计数器部分、译码器部分和显示器电路部分组成。振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时“分”“秒”的数字显示出来。秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。通过校时电路可以对分和时进行校时。通过计数器的置数功能可以实现时钟的复位。利用计数器的使能端可以使时钟停止或者启动。
启动/停止复位
键键
校时调节电路
频率产生模块
频率产生部分:
通过查找资料并展开讨论,共讨论出两个不同的设计方案,表面上看,似乎两个方案都符合要求,但经过反复深究,并将两个方案加以比较,最终确定一个既符合本设计要求又具有比较强的可行性的方案作为此次设计的对象。 方案一:频率产生部分采用555多谐振荡电路。多谐振荡器又称为无稳态触发器,它没有稳定的输出状态,只有两个暂稳态。在电路处于某一暂稳态后,经过一段时间可以自行触发翻转到另一暂稳态。两个暂稳态自行相互转换而输出一系列矩形波。多谐振荡器可用作方波发生器。
555多谐振荡电路具体RL 谐振频率此处不去设计,只是提供这种频率产生的方法。产生一定的频率后,经过计数器分频之后,分别产生1HZ 、1/10HZ、1/60HZ、1/600HZ、1/3600HZ、1/36000HZ频率的信号,分别用于秒个位、秒十位、分个位、分十位、时个位、时十位。
这个方案中RL 谐振产生的频率不是很稳定,不易控制,而且不够精确。最不困难的是,555产生频率之后要经过很复杂的分频才能产生需要的频率,并且有的频率很难实现。所以这个方案不可靠。 方案二:此方案利用现有的CPLD 开发板,产生任意频率的方波信号。现有的CPLD 型号为Altera MAX-II ERM240T100C5N,内置标准时钟频率为50MHZ 。通过编程可以产生任意频率的信号。 程序代码和CPLD 实物图见下:
启动\停止按键控制的模式计数器及其组合电路设计:
此处采用计数器74163,通过按键产生上升沿,驱动计数器记数,并且由此产生不同的状态,通过组合电路控制下一级电路。这个计数器共产生8个状态(是一个模八的计数器)分别使能下列操作:1启动、 2暂停、 3调时十位、 4调时个位、 5调分十位、 6调分个位、 7调秒十位、 8调秒个位。具体电路图如下:
A
B C D E F G H
这是其中四个状态的控制,因为截屏大小有限,剩下四个未在图中显示出来。其中,启动状态使能下一级六个计数器的使能端;暂停状态是启动状态的取反;接下来六个状态分别使能下一级六个计数器的置数端。
另一种方法是, 把停止\启动键分离开来, 不放到状态里面, 利用三态门控制始终CLK 的送入和不送入, 以达到停止启动的功能, 具体电路图如下:
6个三态门的输入分别是各自的时钟, 输出接着时钟计数器的CLK 端. 由一个统一的信号控制三态门的开关, 这个信号由启动, 停止按键产生.
对比这两种方法, 本设计中采用了第一种方法, 即把启动\停止并入状态里面.
校时电路计数器设计:
校时电路也是由计数器构成的,当模式选择端选择到相应的状态后,此处假设选择的是调整秒的个位。因为秒的个位有0123456789十个状态,就是一个模十的计数器,那么相应的校时电路计数器就也是模十的计数器。并且校时电路计数器的输出端链接着相应时钟计数器的置数端(即输入端)当这个模式被选择时,秒个位的计数器(即计数器6)置数端被使能,并且相应的校时计数器被计数使能。此时,通过按键产生计数脉冲,计数器加一,然后校时计数器输出是什么,时钟计数器就被置成什么,以此来完成时钟的校时。
同时,由复位按键控制着校时计数器的清零端和时钟计数器的置数端和使能端,但复位信号有效时,校时计数器计数器就被清零,同时把这个数传送到时钟计数器,也就完成了相应的复位,即全部清零! 秒个位校时计数器示意见下图:
图中,CLK 是又按键产生的脉冲信号,CLRN 是由复位按键控制。
数码管显示部分设计:
译码驱动电路将计数器输出的8421BCD 码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。本设计采用MCI 4511译码器和LED 数码管。译码驱动显示电路如图:
4511的输入端接着时钟计数器的输出端。
按键消震电路设计:
这是用于消震的双稳态电路。
复位按键的设计:
复位按键一旦被按下, 就清零校时计数器, 并且使能时钟计数器的置数端, 使得所有的计数器清零, 完成复位
这个数字钟的设计,是基于一种理想情况的,即计数器的脉冲可以又按键来实现,计数器的触发信号对上什沿很敏感,所以对于按键产生的信号,不知道能不能实现相应的功能。经过在CPLD 上的实验,最终确定这个方案是可行的! 课程设计的收获、体会和建议
收获与体会:
1、提高了对芯片的认识。为了在实验室里做好测试工作,我们必须对所用到的芯片了解得一清二楚。通过查阅手册,或者询问老师,我们终于对芯片的引脚功能熟透,这样不但测试起来可靠,对以后的学习也是有极大的帮助。 2、对于组合电路和时序电路有了更深入的了解和更直观的认识。
3、磨练了我的意志力。花了很多心血来做这个课程设计,但凡事不是一帆风顺的,我遇到了许多困难。有些困难甚至看进来难于解决,确实也是打击了我的信心。但不气馁,不断地修正方案,才最终确定。
参考书目:
《数字电子技术基础》清华大学出版社、阎石主编; 《verilog 数字设计》北京航空航天出版社、夏宇闻编;
《数字设计原理与实践第四版》机械工业出版社、JoheF.wakerly 编
数字设计原理与实践
课程设计(时序部分) 数字钟
前言
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。此次设计与制作数字电子钟的目的是让学生在了解数字钟的原理的前提下,运用刚刚学过的数电知识设计并制作数字钟,而且通过数字钟的制作进一步了解各种在制作中用到的中小规模集成电路的作用及其使用方法。由于数字电子钟包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合。 总的来说,此次课程设计,有助于学生对电子线路知识的整合和电子线路设计能力的训练,并为后继课程的学习和毕业设计打下一定的基础。
设计要求:
1)6个数码管显示时、分、秒; 2)能使数字钟复位;
3)能启动和停止数字钟运行;
4)在数字钟停止运行状态下,能够修改时、分、秒的值;
设计内容:
1)根据要求进行需求分析,确定电路输入、输出端口名称及功能; 2)画出电路框图,并对每部分的功能进行详细阐述;
3)若电路有控制部分,用状态图(表)对控制部分的状态转换进行描述,需要阐述各状态的含义;
4)不要求设计具体电路,不要求进行仿真。
设计思路:
数字电子钟是一个对标准频率(1HZ )进行计数的计数电路。它由频率产生部分、计数器部分、译码器部分和显示器电路部分组成。振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时“分”“秒”的数字显示出来。秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。通过校时电路可以对分和时进行校时。通过计数器的置数功能可以实现时钟的复位。利用计数器的使能端可以使时钟停止或者启动。
启动/停止复位
键键
校时调节电路
频率产生模块
频率产生部分:
通过查找资料并展开讨论,共讨论出两个不同的设计方案,表面上看,似乎两个方案都符合要求,但经过反复深究,并将两个方案加以比较,最终确定一个既符合本设计要求又具有比较强的可行性的方案作为此次设计的对象。 方案一:频率产生部分采用555多谐振荡电路。多谐振荡器又称为无稳态触发器,它没有稳定的输出状态,只有两个暂稳态。在电路处于某一暂稳态后,经过一段时间可以自行触发翻转到另一暂稳态。两个暂稳态自行相互转换而输出一系列矩形波。多谐振荡器可用作方波发生器。
555多谐振荡电路具体RL 谐振频率此处不去设计,只是提供这种频率产生的方法。产生一定的频率后,经过计数器分频之后,分别产生1HZ 、1/10HZ、1/60HZ、1/600HZ、1/3600HZ、1/36000HZ频率的信号,分别用于秒个位、秒十位、分个位、分十位、时个位、时十位。
这个方案中RL 谐振产生的频率不是很稳定,不易控制,而且不够精确。最不困难的是,555产生频率之后要经过很复杂的分频才能产生需要的频率,并且有的频率很难实现。所以这个方案不可靠。 方案二:此方案利用现有的CPLD 开发板,产生任意频率的方波信号。现有的CPLD 型号为Altera MAX-II ERM240T100C5N,内置标准时钟频率为50MHZ 。通过编程可以产生任意频率的信号。 程序代码和CPLD 实物图见下:
启动\停止按键控制的模式计数器及其组合电路设计:
此处采用计数器74163,通过按键产生上升沿,驱动计数器记数,并且由此产生不同的状态,通过组合电路控制下一级电路。这个计数器共产生8个状态(是一个模八的计数器)分别使能下列操作:1启动、 2暂停、 3调时十位、 4调时个位、 5调分十位、 6调分个位、 7调秒十位、 8调秒个位。具体电路图如下:
A
B C D E F G H
这是其中四个状态的控制,因为截屏大小有限,剩下四个未在图中显示出来。其中,启动状态使能下一级六个计数器的使能端;暂停状态是启动状态的取反;接下来六个状态分别使能下一级六个计数器的置数端。
另一种方法是, 把停止\启动键分离开来, 不放到状态里面, 利用三态门控制始终CLK 的送入和不送入, 以达到停止启动的功能, 具体电路图如下:
6个三态门的输入分别是各自的时钟, 输出接着时钟计数器的CLK 端. 由一个统一的信号控制三态门的开关, 这个信号由启动, 停止按键产生.
对比这两种方法, 本设计中采用了第一种方法, 即把启动\停止并入状态里面.
校时电路计数器设计:
校时电路也是由计数器构成的,当模式选择端选择到相应的状态后,此处假设选择的是调整秒的个位。因为秒的个位有0123456789十个状态,就是一个模十的计数器,那么相应的校时电路计数器就也是模十的计数器。并且校时电路计数器的输出端链接着相应时钟计数器的置数端(即输入端)当这个模式被选择时,秒个位的计数器(即计数器6)置数端被使能,并且相应的校时计数器被计数使能。此时,通过按键产生计数脉冲,计数器加一,然后校时计数器输出是什么,时钟计数器就被置成什么,以此来完成时钟的校时。
同时,由复位按键控制着校时计数器的清零端和时钟计数器的置数端和使能端,但复位信号有效时,校时计数器计数器就被清零,同时把这个数传送到时钟计数器,也就完成了相应的复位,即全部清零! 秒个位校时计数器示意见下图:
图中,CLK 是又按键产生的脉冲信号,CLRN 是由复位按键控制。
数码管显示部分设计:
译码驱动电路将计数器输出的8421BCD 码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。本设计采用MCI 4511译码器和LED 数码管。译码驱动显示电路如图:
4511的输入端接着时钟计数器的输出端。
按键消震电路设计:
这是用于消震的双稳态电路。
复位按键的设计:
复位按键一旦被按下, 就清零校时计数器, 并且使能时钟计数器的置数端, 使得所有的计数器清零, 完成复位
这个数字钟的设计,是基于一种理想情况的,即计数器的脉冲可以又按键来实现,计数器的触发信号对上什沿很敏感,所以对于按键产生的信号,不知道能不能实现相应的功能。经过在CPLD 上的实验,最终确定这个方案是可行的! 课程设计的收获、体会和建议
收获与体会:
1、提高了对芯片的认识。为了在实验室里做好测试工作,我们必须对所用到的芯片了解得一清二楚。通过查阅手册,或者询问老师,我们终于对芯片的引脚功能熟透,这样不但测试起来可靠,对以后的学习也是有极大的帮助。 2、对于组合电路和时序电路有了更深入的了解和更直观的认识。
3、磨练了我的意志力。花了很多心血来做这个课程设计,但凡事不是一帆风顺的,我遇到了许多困难。有些困难甚至看进来难于解决,确实也是打击了我的信心。但不气馁,不断地修正方案,才最终确定。
参考书目:
《数字电子技术基础》清华大学出版社、阎石主编; 《verilog 数字设计》北京航空航天出版社、夏宇闻编;
《数字设计原理与实践第四版》机械工业出版社、JoheF.wakerly 编