3. 数字钟总体设计方案
3.1 数字钟的构成
数字钟实际上是一个对标准脉冲信号(1Hz)进行计数的计数电路。由于计数开始时间不可能与标准时间(如北京时间)完全一致,所以需要在电路上附加一个控制校时电路,并且标准的1Hz时间脉冲信号必须要做到非常准确和稳定。一般都使用石英晶体振荡电路作为数字钟信号输入[6]。数字钟的一般构成框图如图1所示,它主要包括分频电路、计数电路、校时控制电路、整点报时电路、译码显示电路。其中校时控制电路具有很大的扩展空间,它具有多种多样的控制形式,不同的形式的设计有不同的特点,在本设计中只对时、分位通过按键来进行控制。
图1 数字钟的一般组成框图
3.2 数字钟的工作原理
由石英振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准输入信号,然后经过分频器DIV分频输出1Hz秒脉冲信号作为计数器的输入。秒、分后依次按60进一的规律向前进位,时计数器满24时则归零。计满后各计数器清零,重新计数。计数器的输出分别经过译码电路送数码管显示。当计时出现误差时,可以用校时电路校时、校分。控制信号由键盘输入,按键经过去抖动电路后,当按下RESET键时进入校时功能。时基电路可以由石英晶体振荡电路构成,如果晶振频率1MHz,经过6次十分频就可以得到秒脉冲信号。译码显示电路由七段译码器完成,分频电路输出的另一500Hz高频率的脉冲信号作为译码电路的输入信号,显示由七段数码管构成。数字钟总体逻辑框图如图2所示,各个逻辑框图通过在QuartusII软件中文本输入封装生成。
图2 数字钟总体框架电路图
4. 单元电路设计
4.1 分频模块电路设计与实现
石英晶体振荡器是数字时钟的构成核心,它的稳定程度和频率精度决定了数字时钟走时的准确程度,同时也决定了时钟的稳定性。
石英晶体的选频特性非常好,只有具有某一特定的频率信号才可以通过它,其它频率段的信号通过它时都会被它衰减,而且,振荡信号频率与振荡电路中R、C元件的数值并没有关系[7]。所以,这种振荡电路输出的是非常准确的信号。然后再经过分频电路,将其输出信号转变为标准1Hz秒信号,其组成框图如图3所示。
图3 秒信号产生电路框图
本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的20MHz的方波信号,其输出至分频电路。分频电路的逻辑框图如图4所示。经分频后输出1Hz标准秒信号oclk1s和500Hz的按键去抖信号oclk2ms,该模块的时序仿真波形如图5所示,其准确性满足设计要求。
图4 分频电路模块
图5 分频模块仿真图
4.2 校时控制模块电路设计与实现
1.按键消抖
本模块用于当有按键按被按下时,采用软件去抖的方法去除按键的抖动。模块的实现方法是首先判断是否有按键按下,然后当有按键按下则延时一段时间,等抖动过去之后再次读行线状态,如果仍然有低电平的行线,则能判定有按键按下,然后产生一个有按键按下的电平信号[8]。该模块有一个时钟输入端口clk,输入时钟信号是分频出来的另一500Hz在的的高频时钟信号;有一个输入端口inkey与行线相连,用于读输入行线状态;一个输出端口okey,用于输出有按键按下的信号。该模块的逻辑框图如图6所示。
图6 去抖逻辑框图
按键消抖动子程序:
LIBRARY ieee; VHDL基于FPGA的数字时钟设计+电路图(3):http://www.751com.cn/zidonghua/lunwen_1332.html