基于CPLD的1/100秒计时器电路

时间:2022-09-15 03:10:51

基于CPLD的1/100秒计时器电路

[摘 要] 本设计为基于CPLD的1/100秒计时器电路。计时器能实现0.01s~59.99s的计时功能,计时误差≤ 0.01s,具有启、停和清零功能,计时数据采用七段数码管显示。所有电路采用美国ALTERA公司的EPM7128SLC84-15芯片实现,使电路简单,性能可靠,特别是该芯片具有现场可编程功能,使修改设计简单。在软件设计中使用了功能按键消抖技术,使功能操作准确无误。

[关键词] CPLD VHDL 计时器

一、引言

1/100s计时器常用于体育竞赛及各种要求有较高精确定时的领域。本文设计的1/100s计时器具有如下功能:

1.分、秒、1/100秒计时功能;

2.具有分、秒、1/100秒显示功能;

3.具有启停功能;

4.具有复位功能。整个系统的设计借助于VHDL,在EDA设计工具maxplus下进行仿真,得到了良好的结果。由于采用模块化的设计思想,使设计变得简单、方便、灵活性强。

二、设计方案分析

如图1所示,为1/100s计时器的整体方框图。包括四部分组成:计时控制芯片(cpld)、复位及启停开关、四位数码管、时钟。

根据计时器的功能特点,具体实现时可分为五个子模块:键输入模块、时钟产生模块、定时计数数模块、控制模块、四位数码管显示驱动模块。各模块的功能独立,可扩充性强,具有再次开发的潜力。各模块的关系如图2所示。

三、模块设计

1.键输入模块(keyin)

键输入模块(keyin)即键扫描电路,25HZ键扫描脉冲对按键扫描,产生启/停单脉冲(stst)和清零单脉冲(res),并具有消抖功能。

键扫描电路工作原理如下(以产生清零单脉冲res为例,启/停单脉冲stst与此相同):

IF(keyclk'EVENT AND keyclk='0')THEN

res1

res0

stst1

stst0

END IF;

2.时钟产生模块(clkgen)

时钟产生模块是一个分频电路,对1000HZ时钟脉冲(clk)分频产生100HZ的计时脉冲(cntclk)和25HZ的键扫描脉冲(keyclk)。

3.定时计数模块(Cntblk)

定时计数模块为分、秒、1/100秒计时电路。两个10进制计数器进行1/100秒计时,一个6进制计数器和一个10进制计数器进行秒计时,限于实验板只有四位数码管,没有设计分计时功能。10进制计数器子模块前面已经生成,将10进制计数器程序适当修改可设计一个6进制计数器。在原理图编辑器中调用三个10进制计数器和一个6进制计数器及相应输入输出端口即可建成定时计数数模块(Cntblk),编译通过后点File/Greate Default Symbol,生成符号(注.vhd文件编译完成时会自动生成符号,而.GDF文件编译完成时不会自动生成符号,要手动生成)。

4.控制模块(ctrl)

控制模块产生定时计数模块的使能控制信号(cnten)。

IF( res='1')THEN

enb1

ELSIF(stst'EVENT AND stst='1')THEN

enb1

END IF;

END PROCESS;

cnten

若res=0,则cnten=0;若stst发生一次跳变,则cnten=cntclk,若stst发生二次跳变,则cnten=0。

5.四位数码管显示驱动模块(Disp)

因为实验板上四个共阴数码管是四位一体的,即四个数码管的码段(a~g)是共用的,若要逐位显示可通过位选端(A)控制,但必须采用扫描方式,只要扫描频率足够快,将看不到闪烁(图7)。

当A4A3A2A1=“1110”,显示第一位;当A4A3A2A1=“1101”,显示第二位;

当A4A3A2A1=“1011”,显示第三位;当A4A3A2A1=“0111”,显示第四位。

四位数码管显示驱动模块的原理框如图8:

四进制加法计数器模块(cnt4_v)对时钟脉冲clk计数,四个时钟脉冲循环一次,产生00,01,10,11四种状态,分别对应四个数码管的四位。二-四译码器模块(decode2_4_v)将00,01,10,11译码成位选信号1110,1101,1011,0111从dig_sel[3..0]端口输出。十六-四多任务器模块(multi16_4_v)从输入的待显示的十六位数据d[15..0]中每次选取四位输出。七段译码器模块(seven_v)将待显示的四位二进制数据转换成七段码从dig_out[6..0]端口输出。

三、结束语

本设计从总体要求出发,采用自顶向下逐步细化的方法,将系统模块化,使得系统具有很强的扩充性,并且在实现设计的基础上,采用maxplus的仿真环境得到理想的仿真效果。在软件设计中使用了功能按键消抖技术,使功能操作准确无误。

参考文献

[1]梁 丽:基于CPLD的多功能计时器的设计[J].北京工商大学学报,2005.23~1,53~55

[2]郭在华 马 洪 明杨玲:基于数字逻辑的多功能计时器的设计及实现[J].世界电子元器件,2003~3,73~74

[3]张胜宇 谭作亘:基于CPLD的计算机并口EPP模式通讯实现[J].微计算机信息,2007~26,231~233

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”

上一篇:PC平台上PCI9052数据传送性能分析与优化 下一篇:浅谈“数字电子技术”教学创新