EDA教学实验设计实例——电子秒表电路的设计
1 引 言
在大学的EDA(Electronic Design Automation)课程教学中,EDA实验是整个教学过程中不可缺少的一个重要环节。一些具有一定深度、知识覆盖面广的教学实验项目,将有助于学生通过实验,综合运用所学知识,熟练掌握EDA设计技术。
在此,笔者介绍一个EDA教学实验的设计实例——电子秒表电路的设计。本文使用的是美国Altera公司的EDA软件平台——MAX+PLUSⅡ可编程逻辑器件开发软件。
2 电子秒表电路的功能要求及结构
假设电子秒表电路按0.1s的步长进行定时计数,则提供给电路内部定时的时钟脉冲频率应大于10Hz,可选1000Hz。假设显示的最长计时时间为59分59.9秒,为此需要一个5位的7段码LED数码管显示器。此电路还应具有清零和启动/停止计数功能。
整个电路的结构应包括复位按钮、启/停按钮、时钟脉冲发生器、7段码LED数码管显示器以及0.1s计时控制芯片。
3 0.1s计时控制芯片设计
电子秒表电路的核心是设计一片用于计时控制的ASIC(专用集成电路)芯片,其外围电路可由一块可编程逻辑器件实验板提供。本文采用顶层图形设计的思想,将计时控制电路按逻辑功能划分为几块,对于每个子模块,采用Altera的硬件描述语言AHDL进行设计。
3.1 计时控制芯片的结构
将计时控制芯片划分为5个子模块:按钮消抖电路子模块、计数控制子模块、分频电路子模块、定时计数子模块以及显示子模块。其结构框图如图1所示。设计此电路的关键在于定时计数器的计数时钟,它应由启/停按钮来控制:当启动计数时,计数时钟输出为T=0.1s的时钟信号;当停止计数时,计数时钟输出为低电平,同时产生计数时钟信号的计数器应清零。
3.2 设计中解决的关键问题
(1)在按钮消抖电路子模块中,用一个计数器来实现输出有效信号的定时。一旦按钮按下,则此电路输出一个持续时间一定的有效信号(负脉冲)。在此期间,即使按钮有几个连续的负脉冲,但电路输出仍保持低电平,从而将按钮的抖动屏蔽掉。
(2)计数控制子模块是整个计时控制芯片设计的关键所在。如果缺少这个模块,而是直接将输入时钟信号作为分频电路子模块的输入,那么当启/停按钮第一次按下时,由于计数时钟一直存在,产生计数时钟信号的计数器一直在工作,则启动计数后的第一个数很可能不足100ms,而是与启/停按钮按下的时间有关;即从第二个数开始,才按0.1s的步长计数,这显然影响了电路的准确性。
故笔者在分频电路子模块前设计了一个计数控制子模块,用来控制定时计数器的计数时钟。当启/停按钮第一次按下时,cnten输出与输入时钟clk同步的计数允许脉冲信号,stopn输出高电平;当启/停按钮第二次按下时,cnten输出低电平,stopn输出低电平,用于控制分频电路子模块的输出时钟信号。
相关文章
- 2024-08-23一种新型旋转滚筒表面温度测试仪
- 2023-01-10基于SI473X的RDS功能设计与实现
- 2022-07-08安邦信变频器在建筑大厦集中供热中的应用
- 2024-10-31基于网络的计量管理模式研究
- 2023-11-02显微成像测量精密狭缝的重复精度
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。