碧波液压网 欢迎你,游客。 登录 注册

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输出低电平,用于控制分频电路子模块的输出时钟信号。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论