基于FPGA的数字钟设计
利用硬件描述语言结合PLD器件可以极大地方便数字集成电路设计,本文介绍如何利用VHDL硬件描述语言结合FPGA器件设计一个具有基本计时和调整时间功能的数字钟,为其他电路的设计提供一定借鉴作用。
1 设计原理
数字钟电路的基本结构(如图1所示)由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计时,当计时到23时59分59秒时,再来一个计数脉冲,则计数器清零,重新开始计时。
秒计数器的计数时钟SEC为1 Hz的标准信号,可以由晶振产生的4 MHz信号通过分频得到。当数字钟处于计时状态时,秒计数器的进位输出信号CYM作为分钟计数器的计数信号,分钟计数器的进位输出信号CYM又作为小时计数器的计数信号。时、分、秒的计时结果通过6个数码管来动态显示。
数字钟除了能够正常计时外,还应能够对时间进行调整。因此,通过模式选择信号MODE控制数字钟的工作状态,即控制数字钟分别工作于正常计时、调整秒、分、时4个状态。当数字钟工作于计时状态时,3个计数器的使能控制信号ENS, ENM, ENH均有效,即允许计数,且秒、分、时计数器的计数时钟信号分别为SEC, CYS, CYM;当数字钟处于调整时间状态时,被调整的时间数字会产生闪烁,表示处于被调整状态,其余的时间数字不受调整影响,调整信号KADJ使相应的计数器的使能信号有效,且调整计数时钟为SEC,使被调整时间数字按1 s的速率递增。这样,可分别调整秒、分、时。
2 电路设计
整个电路主要由以下几个模块组成:
(1)生成1 Hz时钟信号模块
秒计数器的计数时钟SEC为1 Hz的信号,而晶振产生的时钟信号为4 MHz,因此需要对4 MHz信号进行分频以得到1 Hz时钟信号。
(2) 24进制计数器和60进制计数器
24进制计数器和60进制计数器受使能控制信号En控制是否允许计数,计数结果为BCD码形式。通过调用这两个元件可以实现计时。
(3)工作状态控制模块
模式选择信号MODE控制数字钟的工作状态,即控制数字钟分别工作于正常计时(smode="00")、调整秒(smode="00")、调整分(smode="00")、调整时(smode="00")4个状态。
(4)计时模块
数字钟的计时通过计数器元件的调用实现。计数器相应的使能控制信号及计数时钟信号由数字钟工作状态及调整信号决定。计数结果分别存储在信号对象tmsa,tmsb, tmma, tmmb, tmha, tmhb中,分别对应于秒、分、时的个位数和十位数。具体的实现代码为:
u1:mcount60 port map(ens,sec,tmsa,tmsb,cys);
u2:mcount60 port map(enm,min,tmma,tmmb,cym);
相关文章
- 2023-07-17OMRON柔性运动控制器FQM1在高速绕线机中应用的探讨
- 2022-06-15恒温槽(炉)温场检测/校准的几点技巧
- 2023-09-06清华大学精密仪器环境振动影响评价
- 2023-08-05电导变送器的研究与应用
- 2021-12-25分布式Zigbee多节点传感器数据融合轨迹关联
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。