APP下载

Verilog HDL数字钟电路的设计研究

2021-11-21李冠霖张宝玲

无线互联科技 2021年4期
关键词:时钟脉冲电路

李冠霖,张宝玲

(航天工程大学,北京 101416)

0 引言

使用Verilog HDL方法可实现数字电路的设计过程,数字钟不但可以显示时间,还可完成如时间核对、闹铃等简易功能,与PCB编程法相比,规避了搭建过程烦琐、不易有效布局线路等弊端。此编程语言不但具有易操作、可视化强的特点,对较大规模集成电路或单片机而言,引入Verilog HDL编程语言还可得到多数设备兼容,既可生成设计的时钟产品,还可适当优化电路资源,当存在不同模块的设计使用需要时,还可灵活设置脉冲,并通过相关设备实现仿真。本文对基于Verilog HDL原理的数字时钟设计框架、各部分功能、仿真过程进行论述。

1 数字时钟的设计框架

数字时钟需具备现在时间的显示功能,准确向用户呈现对应时间的时、分、秒信息,即随着时间的推移,数字时钟需在每秒内完成一次数字变动,当用户发现时刻不符时,还可灵活调整校对时间,并可根据需要设置闹钟或计时器功能。计时器以倒计时形式完成时间的显示与变换,因此可将整个数字时钟系统分为四个模块,分别是以1 Hz为频率的计时器模块、时间校对模块、闹铃模块、倒计时模块,不同模式可通过时钟的按钮转换操作,若对应功能非用户选择功能,还需通过反复按键方式达到预期目的;还可在按下对应按键时,在屏幕上显示对应功能,并将对应译码动态存储记录,也可在屏幕上有所显示[1]。

由于本时钟系统各部分功能具有分支独立特点,为此可通过由上到下的方式,从用户感知端起完成时钟功能的设计,在编写代码时使用Verilog HDL编程语言,加入对应逻辑符号,实现分频和时间单位的显示功能,也可用对应时间变量形式表示各时间单位。当时间完成以秒为单位的变换后,即进行一次脉冲信号的发射与接收过程,信号不但变化频率极快,在对应秒单位从00变为59后,即进行下一次循环,对应表示分钟的单位值加1,同理当分单位从00变换到59后,表示小时的单位值加1小时的取值范围为0~23,以此类推完成时间的更迭与变换过程[2]。

对应时钟电路在设计时,不但需保证上述模块功能的良好执行,还可通过在电路内分别设置振荡器和分频器的方法,完成对应时间的核准与校对过程,将时间校准电路连接到对应时间的计数器后,再连接译码器和对应时间单位在时钟的显示器,进而提升时钟显示时间的准确性。也可根据功能需要,将四个主要模块继续细化为模式转换电路、防抖按键模块、显示器模块、译码器模块、供电模块等。因编程方式类似于C语言,在写入对应代码时,可将主要功能预先设置为不同的mode模式,即对应数字编码与功能保持一一对应关系,同时也需注意部分功能可同时作用。例如,当闹钟响起时,仍可显示当前时间,即功能的同时作用性需在设计时具备。另外,考虑到编程语言中的变量属性,对编程条件有一定限制,确定计数器进制和对应图形文件、文本文件在时钟程序中的生成嵌入方式,也可通过时间校准功能模块与计时器模块的连接,实现预期功能[3]。

2 数字时钟的各模块功能

时间显示不但需要在时钟屏幕上显示3个时间单位(时、分、秒),还需根据时间的变换原理,在确保计数单位符合客观事实规律的同时,将对应时钟编码方式使用8421码,在确定好基本时间单位后,将屏幕显示模块与计数模块相连。编程语言中有关于时钟的库文件,可通过设置不同变量的方式表示对应计时与显示模块的时钟,当接收到一次时间变换脉冲信号后,对应秒变量完成一次自加运算,每增加一秒对应变量值加1,因时、分、秒存在对应临界值,为此还需确保时间的显示符合常规逻辑,若接收到脉冲信号后没有发生对应时间变换,或对应显示数的变换时间大于1秒、1分、1小时,即反应频率不为1 Hz时,则需启动时间校准模块。也可将时间模块的工作原理归结为当产生一次脉冲信号时,即判断对应计数单位的个位是否加到9,若加到9在十位加1,个位归0重新计算;秒和分的十位数达到5,且个位为9时即不再计算,当个位与十位全部归0后,即过去1小时,并产生一次进位信号。在确定各时间单位对应计数器后,计数器将通过译码形式将译码值转换到时钟显示屏上,由于对应显示屏一般由七组条状光源组成,不但可显示0~9的对应值,还可根据二极管的发光原理,在电路内部完成一次高低电平的转换,也需加入限流电阻防止其内部出现短路烧坏器件的现象出现。

时间校准模块功能的实现需通过设置时间校准变量方式,即判断对应时间若符合时间校准条件后,也可通过设置按键变量方式,即用户按下按键后,就完成一次脉冲和功能转换过程。还可将内部工作原理通过仿真软件实现,当用户提出一次时间校准需求后,即可根据编译器工作原理,发出对应脉冲信号实现时间同步校正功能,此部分电路工作原理具有逻辑性,即通过判断是否符合校准条件方式,完成一次电路开关的打开或闭合过程,为提升电路触发器的稳定性,也需通过电路校正方式实现。

当用户提出模式转换需求后,即可通过编程方式完成模式的转换,将对应的四大功能分别用1~4的代码实现,每当用户按下一次功能转换按钮时,则对应mode值加1,初始值为1,变换区间为1~4,并通过设置判断语句,即当mode值为4时,用户此时按下功能转换按键,对应模式又将变为1,以此类推完成模式的转换过程。转换需求也可被看作分频模式,使用分频器实现预期功能,并可实时调节时钟的工作频率,利用时钟各单位的自加原理,实现时钟功能的分频,在完成一次分频需求后,即发出一次信号脉冲。此时,需要判断时钟的振荡情况与是否达到计数的最大值,若达到则此时计数过程需停止,并完成一次反相型号的输出过程,若反之则对计数值完成一次自加,继续重复上述过程。另外,分频器的工作频率大约为10 Hz,脉冲信号的输入输出过程体现分频特点,并根据计数器的工作原理实现高效分频。

闹铃模块则通过对应模式按钮到达对应功能后,通过判断语句或根据用户设置的响铃时间,当系统对应的时间与用户设置时间完全一致时,闹铃则会响一次,当用户提出修改响铃时间需求时,此时闹钟模式无须改变,秩序将对应时间修改为用户预期时间,即可完成闹钟时间的变换过程。

倒计时模块不但需确保时钟具有实时暂停、继续计时的基本功能,还可根据需要重新计时,进而完成一次计时过程。一般倒计时功能的实现,需要对应系统存在100 Hz的信号,当用户按下按键后,即完成一次脉冲信号的发射过程,用户按下暂停按钮后倒计时模块将暂停作业,时间将定格在用户按下暂停键前的对应时间节点,若用户不想继续进行计时功能,则可通过再按一次键的方式,让倒计时模块归0,进而重新完成倒计时功能操作。

若需实现各项时钟基本功能,还可通过辅助添加防抖模块,即用户按下时钟按键后,规避了用户无意触碰操作按钮,对操作带来的不便,也可通过添加防抖软件方式,让计时器实现对应功能。时间显示模块则由6个高清显示灯管组成,不但让整个时钟系统具有可编程的操作特性,还可确保其功能的良好执行与各项功能的共同运行机制。另外,对各部分时间单位进行编译的模组,需使用二进制方式表示,完成对代码编译的译码器则可对输入译码无损编译,还可添加对应的扫描功能,以完成对时间间隔的动态测控,符合人体工程学的工作原理,此部分功能的实现主要靠发光二极管和显示屏方式实现。

数字时钟功能的实现与仿真过程可通过将对应编程文件添加到Verilog HDL软件方式,实现电路的基本逻辑是否符合预期值。首先评估电路的各项功能和电路是否符合时序性特点,当完成电路基本连线,并按实验步骤完成对各个模块功能的简单测试仿真后,即可判断出设计的电路是否具备良好的应用性与功能性,并准确获得电路运行需具备的各项参数值。

3 结语

Verilog HDL是一种常见的数字逻辑电路编程方式,其语言具有可编程性,代码具有易理解性,且编程语言相对简单,无须设置过多变量和语句判断即可实现时钟的基本功能。同时,程序具有良好的仿生机制,与石英钟相比,数字逻辑电路时钟利用电子信息的工作原理,用较低成本实现较完备的功能,不但在单片机领域有所应用,还可根据使用者提出的日益丰富需求,进一步提升时钟功能性与实用性。

猜你喜欢

时钟脉冲电路
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
电路的保护
别样的“时钟”
古代的时钟
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
黄芩苷脉冲片的制备
时钟会开“花”
无限时滞―阶脉冲中立型偏泛函微分方程温和解的存在性