EDA 技术与 VHDL 课程大作业
学号:
姓名:
多用途数字时钟设计
摘要:应用 QuartusII9.0 软件采用模块化设计方法设计一数字时钟,用原
理图输入进行设计,使之具有清零、整点报时、闹钟设置、彩铃和星期显示调节
等功能。软件仿真调试成功后编译下载至可编程实验系统 SmartSOPC 中进行硬件
测试。
关键词:译码器 脉振 QuartusII 清零 计数器 蜂鸣器 锁存
目录
一 设计内容简介…………………………………………………………………1
二 设计要求………………………………………………………………………1
三 方案论证(整体电路设计原理)………………………………………………1
四 子模块设计原理
4.0 脉冲产生电路……………………………………………………………4
4.1 计时电路…………………………………………………………………7
4.2 显示电路………………………………………………………………11
4.3 保持电路………………………………………………………………13
4.4 清零电路………………………………………………………………13
4.5 校分电路………………………………………………………………14
4.6 校时电路………………………………………………………………14
4.7 整点报时电路…………………………………………………………14
4.8 闹钟设定电路…………………………………………………………16
4.9 音乐产生电路…………………………………………………………17
4.10 闹钟报时电路………………………………………………………22
4.11 闹铃关闭电路………………………………………………………23
4.12 星期调整电路………………………………………………………24
4.13 电路总图……………………………………………………………26
五 实验中遇到问题及解决法……………………………………………………27
六 结论……………………………………………………………………………28
七 参考文献………………………………………………………………………28
一、设计内容简介
设计一数字时钟,可以完成 00:00:00 到 23:59:59 的计时功能,并在控制电
路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。
我们设计的电路在具有基本功能的基础上,增加了下列功能:整点报时、闹
钟设置、彩铃和星期显示调节功能。
二、设计要求
2.0 基本要求
1、能进行正常的时、分、秒计时功能;
2、分别由六个数码管显示时分秒的计时;
3、K1 是系统的使能开关(K1=0 正常工作,K1=1 时钟保持不变);
4、K2 是系统的清零开关(K2=0 正常工作,K2=1 时钟的分、秒全清零);
5、K3 是系统的校分开关(K3=0 正常工作,K3=1 时可以快速校分);
6、K4 是系统的校时开关(K4=0 正常工作,K4=1 时可以快速校时);
2.1 提高部分要求
1、使时钟具有整点报时功能(当时钟计到 59’53”时开始报时,在 59’53”,
59’55”,59’57”时报时频率为 512Hz,59’59”时报时频率为 1KHz);
2、闹表设定功能;
三、方案论证
本实验在实现实验基本功能的基础上,加入了整点报时、闹钟设置、彩铃和
星期显示调节功能。
图 1 为实验功能方框图:
1
图 1 实验方框图
数字计时器基本功能是计时,因此首先需要获得具有精确振荡时间的脉振信
号,以此作为计时电路的时序基础,实验中可以使用的振荡频率源为 48MHZ,通
过分频获得所需脉冲频率(1Hz,1KHz,2KHz)。为产生秒位,设计一个模 60 计数
器,对 1HZ 的脉冲进行秒计数,产生秒位;为产生分位,通过秒位的进位产生分
计数脉冲,分位也由模 60 计数器构成;为产生时位,用一个模 24 计数器对分位
的进位脉冲进行计数。整个数字计时器的计数部分共包括六位:时十位、时个位、
分十位、分个位、秒十位和秒个位。
显示功能是通过数选器、译码器、码转换器和 7 段显示管实现的。因为实验
中只用一个译码显示单元,7 个 7 段码(6 个用于显示时分秒,一个显示星期),
所以通过 4 个 7 选一 MUX 和一个 3-8 译码器配合,根据计数器的信号进行数码管
的动态显示。
清零功能是通过控制计数器清零端的电平高低来实现的。只需使清零开关按
下时各计数器的清零端均可靠接入有效电平(本实验中是低电平),而清零开关
断开时各清零端均接入无效电平即可。
校分校时功能由防抖动开关、逻辑门电路实现。其基本原理是通过逻辑门电
路控制分计数器的计数脉冲,当校分校时开关断开时,计数脉冲由低位计数器提
供;当按下校分校时开通时,既可以手动触发出发式开关给进位脉冲,也可以有
2
恒定的 1Hz 脉冲提供恒定的进位信号,计数器在此脉冲驱动下可快速计数。为实
现可靠调时,采用防抖动开关(由 D 触发器实现)克服开关接通或断开过程中产
生的一串脉冲式振动。
保持功能是通过逻辑门控制秒计数器输入端的 1Hz 脉冲实现的。正常情况
下,开关不影响脉冲输入即秒正常计数,当按下开关后,使脉冲无法进入计数端,
从而实现计时保持功能。
整点报时功能可以通过组合逻辑电路实现。当计数器的各位呈现特定的电平
时,可以选通特定的与门和或门,将指定的频率信号送入蜂鸣器中,实现在规定
的时刻以指定频率发音报时。
闹钟设定功能。闹钟只设定时和分,基本模块与正常计时电路里的校时校分
电路相同。本实验中为节省按键,闹钟时间调节键复用正常调时的校时校分开关,
为使设定闹铃与正常计时中调节时间按键互不影响,额外用一个闹钟使能键,按
下该键后进入闹钟设定界面,此时校时校分开关用于调节闹钟时间,对正常计时
没有影响,且此时 7 段显示码显示的是闹钟时间;恢复使能键后校分校时键用于
对数字钟进行时间调节,对设定的闹钟时间没有影响。
音乐产生电路。本实验中音乐是《欢乐颂》的前半部分,共 32 个节拍,5
个音频。32 个 5 个音频的频率由分频器产生,32 个节拍需按照顺序产生,且要
能够循环。因此用译码器循环按序选取音频,所以需要一个模 5 循环计数器和一
个 5-32 译码器。译码选中位与所需的音频相与之后送入蜂鸣器产生音乐效果。
闹钟报时功能。在计时电路走到设定的时间时闹铃报时功能会被启动,通过
与音乐产生电路进行逻辑组合,使得在达到闹铃时,发出音乐声。
闹铃关闭功能。考虑到实际情况,希望闹铃声可以被关闭,同时在关闭闹铃
键恢复后,闹铃不再响,但是在下一次闹铃时间来临时闹铃可以继续工作。实验
中实现此功能的需要一个触发器来实现。
星期设定电路功能。星期显示功能由模 7 计数器构成,1~6 时为顺序计数,
星期日显示为 8,即从 6 跳过 7 直接进入 8,然后再由 8 进入 1。由此可见,需
要设定这样一个计数器:在一次循环计数过程中,要有两次置位,且两次所置数
有所不同。
3
四、子模块设计原理
4.0 脉冲产生电路原理
实验板上振荡源为 48MHz,为获得秒脉冲信号和报时电路中需要的音频,需
要对该振荡源进行分频处理。处理的过程示意如下:
48MHz
3 分频
8 分频
1000 分频
2 分频
1000 分频
2 分频
2KHz
1KHz
1Hz
图 2 脉冲产生方框图
4.0.1
2 分频电路
2 分频电路是通过将 D 触发器的Q 端与 D 端接在一起就可以从 Q 端得到触
发器触发信号的 2 分频信号,电路图如下:
CP
INPUT
VCC
4.0.2
3 分频电路
VCC
DFF
D
PRN
Q
CLRN
inst18
VCC
NOT
inst21
OUTPUT
Q1
图 3
2 分频电路
4
3 分频电路是通过 74160 用置数法实现。其输出端 D C B
Q Q Q Q 按照如下方式
A
循环计数时就可以对其输入的脉冲进行 3 分频,输出信号由 BQ 直接引出。
0000
0001
0010
图 4
3 分频电路状态图
74160 置数端为低电平有效,所以将 BQ 作为置数信号的输入。3 分频电路图如下:
74160
LDN
A
B
C
D
ENT
ENP
CLRN
8
t
s
n
i
T
O
N
OUTPUT
Q
QA
QB
QC
QD
RCO
CLK
inst
COUNTER
图 5
3 分频电路
C
C
V
GND
CP
INPUT
VCC
封装的子模块图为:
f
CP
Q
inst18
图 6
3 分频电路封装图
4.0.3
8 分频电路
8 分频电路通过将 3 个 2 分频串联实现。把三个 D 触发器按照如下方式串联
起来,将得到一个触发信号的 8 分频信号。8 分频电路图如下:
5