基于VHDL语言的八路数字抢答器系统的设计 下载本文

内容发布更新时间 : 2024/5/3 0:58:28星期一 下面是文章的全部内容请认真阅读。

基于VHDL语言的八路数字抢答器系统的设计

本课题的实现方案有两种:单元集成电路与VHDL语言。 第一种方案的流程图思路如下图所示:

抢答按钮 优先编码电路 锁存器 译码电路 显示电路 主持人控制开关 定时电路 报警电路

图2-1 数字抢答器框图

第二种方案的流程图思路如下图所示:

抢答鉴别 组别锁存 译码输出 复位控制 答题倒计时 图2-2 基于VHDL语言实现数字抢答器框图

声音报警 以上两种方案中:第一种,电路较复杂,制作不方便,其可靠性低,代价高;而第二种,只通过软件仿,能达到目的,制作简单,而且成本低。综上所诉,课题本次实验采用第二种方案。本课题采用VHDL语言编程并调试通过,在MAX+PLUS II或者Altium designer软件平台仿真,得到相应的分析结果。

根据第二种方案的的框图所示,整个系统分为以下几个模块来分别实现:

(1).抢答判别模块:鉴别八组中哪组抢答成功,同时,将抢答成功的组别信号输出给锁存模块;

(2).复位控制模块:作为一个控制开关,用来控制系统的清零和抢答的开始。 (3).锁存模块:当第一个抢答者抢答后,对第一个抢答者的组别进行锁存并显示在数码管上,后面的抢答者信号全都无响应,直到主持人按下复位键。

(4).显示报警模块:就是把各个模块的输入的不同信号经过译码成BCD码,然后显示在数码管上,并且蜂鸣器发出报警声。

如果有需要,在以上功能实现后,还可以扩展实现一些其他功能,比如答题倒计时等功能。

1 系统的设计平台概述

此次设计是按照\自顶向下\的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(VHDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。

1.1 传统和现代的数字系统设计方法比较

传统的数字系统设计方法:基于电路板的设计方法,采用固定功能的器件(通用型器件),通过设计电路板来实现系统功能,在系统硬件设计的后期进行仿真和调试 。现代的数字系统设计方法:基于芯片,采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能,在系统硬件设计的早期进行仿真。此系统的设计就是采用的现代的数字系统设计方法,即EDA的设计方法。其与传统的设计方法的具体优劣比较如下表:

表3-1 传统设计方法与EDA设计方法的比较 传统设计方法 自底向下 手动设计 软硬件分离 原理图设计方式 系统功能确定 不易仿真 难测试和修改 模块难移植和共享 自顶向下 自动设计 打破软硬件屏障 原理图、HDL等设计方式 系统功能易改 易仿真 易测试和修改 模块可移植共享 EDA设计方法 设计周期长 设计周期短 由以上对比图可知,数字抢答器的设计采用自顶向下的设计方法较优。而传统的电子设计的基本思路还是选择标准集成电路\自底向上\(Bottom-Up)地构造出一个新的系统,这样的设计方法就如同一砖一瓦地建造金字塔,不仅效率低、成本高而且还容易出错。

2 数字抢答器系统的设计与实现

2.1 抢答器系统设计要求

在设计一台数字抢答器时,需要能够准确判断出第一位抢答者,并且通过数

显、蜂鸣这些直观的东西得出结果,同时,抢答者需要在规定时间内答题,主持人根据答题结果控制抢答器的清零复位,掌握比赛的进程。因此,设计的8路数字抢答器的模块需要满足鉴别、抢答报警、回答倒计时、数显等功能,具体设计要求如下:

(1)抢答器可容纳八组选手,并为每组选手设置一个按钮供抢答者使用;为主持人设置一个控制按钮,用来控制系统清零(组别显示数码管灭灯)和抢答开始;

(2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。在主持人将系统复位并发出抢答指令后,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。

(3)抢答器具有限时回答问题的功能,当主持人启动倒计时开始键后,要求计时器采用倒计时,同时最后计时器倒计时到00时扬声器会发出声响提示;

2.2系统总体设计思想

本设计为八路数字抢答器,所以这种抢答器要求有八路不同组别的抢答输入信号,并能识别最先抢答的信号,直观地通过数显和蜂鸣等方式显示出组别;对回答问题所用的时间进行计时、显示、超时报警,同时该系统还应有复位、倒计时启动功能。

抢答过程:主持人按下系统复位键(CLR),系统进入抢答状态,计时模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余七路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到主持人将系统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时。计时至0时,停止计时,扬声器发出超时报警信号,以中止未回答完问题。若参赛者在规定时间内回答完问题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。主持人按下复位键,即CLR为低电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。

此抢答器的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块连接起来系统的总体框图如下: