一种基于CPLD的简易定时器的设计
定时器是许多电器中必不可少的控制部件。十几年来,定时器从业人员不断地进行技术革新,使得定时器性能有了较大的提高。传统的定时器功能简单,硬件线路多,设计复杂,可靠性差。随着CPLD(ComplexProgrammable Logic Device)的飞速发展,它以其编程方便、集成度高,速度快、价格低等特点越来越受到广大电子设计人员的青睐。现在的定时器可以用可编程逻辑器件来设计,基于VHDL语言,用CPLD实现,硬件简单,性能稳定,可充分体现可编程逻辑器件在数字电路中的优越性。
本文介绍一种简易的定时器设计方案,采用ALTERA公司的MAX7000系列芯片EPM7l28SLC84——15,并使用VHDL语言输入,实现芯片的内部功能。
一、总体设计方案
笔者采用自顶向下的设计方法设计了一个具有整体清零功能并可在00:00~23:59之间任意定时的定时器,该定时器以秒速度递增至预定时间,而以分速度递减至零,同时,该定时器还具有报警或启动其它电路的功能,其总体结构如图1所示。
由图1可见,该定时器主要由分频器模块、控制计数模块和显示译码器模块组成。其中控制计数模块由两个计数模块构成,分别用来实现小时和分钟的计数功能;而显示模块则用来对计数结果进行扫描译码和输出显示,其输出接到数码管;分频器模块为计数模块提供秒信号和为显示译码器模块提供扫描信号。
图2为定时器的电路构成。其中RES用来整体复位清零;CLK用于提供时钟信号,其频率为32768Hz,经分频模块分频得到1Hz的频率用于提供秒信号,512Hz的频率用来扫描输出;CN1、CN2用来置位,高电平时有效,利用它能够以秒的速度将定时器从零递增到所定时的时间,也能够以分的速度将定时退调到零;Bee的输出为低电平,可用于启动各种电路或发出警报;该定时器的时间变化都可以在数码管上显示出来。
二、子模块功能设计
1.CTRL模块
CTRL模块是定时器的核心部分(如图3所示),由CTRL_HOUR和 CTRL_MIN两个模块构成。其中,CTRL_HOUR为小时计数模块,可以在00到23之间任意预置定时时间的小时部分;CTRL_MIN为分钟计数模块,可以在00到59之间预置分钟数。RES为复位端,采用异步复位;CN1和CN2为置数端,高电平期间CTRL_HOUR和 CTRL_MIN分别以秒的速度被置为预定的时间,低电平期间则从预定时间开始递减,当CTRL_MIN减至00时则向CTRL_HOUR产生一个信号COUT,控制CTRL_HOUR减1,当CTRL_HOUR和 CTRL_MIN均减至00时,则定时结束,产生一个Out信号,可以用来报警或控制其他电路;CLK为标准的1 Hz时钟信号作为秒计数输入;LOW[3..0],HIGH[3..0]为输出4位BCD码,用于送数码管进行显示。该模块的仿真结果如图4。
相关文章
- 2022-06-10已知包含区间条件下的分布确定和B类不确定度评定方法
- 2023-10-08摄影测量中基于二维稳健DLT的普通数码相机检校方法
- 2024-01-19测量不确定度——-用于表征测量结果可靠性程度的参数
- 2023-04-27旋进旋涡流量计进气道堵塞和磨损对计量误差的影响
- 2023-07-18CTIA读出方式的微测辐射热计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。