基于VHDL的多路抢答器的设计Word格式文档下载.docx

上传人:聆听****声音 文档编号:808291 上传时间:2023-04-29 格式:DOCX 页数:25 大小:494.12KB
下载 相关 举报
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第1页
第1页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第2页
第2页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第3页
第3页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第4页
第4页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第5页
第5页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第6页
第6页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第7页
第7页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第8页
第8页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第9页
第9页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第10页
第10页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第11页
第11页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第12页
第12页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第13页
第13页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第14页
第14页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第15页
第15页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第16页
第16页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第17页
第17页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第18页
第18页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第19页
第19页 / 共25页
基于VHDL的多路抢答器的设计Word格式文档下载.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于VHDL的多路抢答器的设计Word格式文档下载.docx

《基于VHDL的多路抢答器的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于VHDL的多路抢答器的设计Word格式文档下载.docx(25页珍藏版)》请在冰点文库上搜索。

基于VHDL的多路抢答器的设计Word格式文档下载.docx

ThedesignoftheuseofVHDLlanguagedesignafourwayraceresponderdigitalsystem.VHDLisafullrangeofhardwaredescriptionlanguage,coveringalmostthepastvarioushardwaredescriptionlanguagefunction,thetop-downorbottom-upcircuitdesignprocesscanuseVHDLtocomplete.ThispaperexpoundstheconceptandthedevelopmentofEDA,VHDLlanguageadvantagesandgrammaticalstructureandAnalysisonthefourdigitalcompetitioneachmodulefunctionalrequirements,principleandimplementationmethod.ThedesignofthissystemistheuseofVHDLhardwaredescriptionlanguage,basedonQuatusII6.0platformcompilationandsimulationtoachieve,themodular,stepwiserefinementdesignmethodishelpfulforsystemofdivisionoflabour,andearlyidentificationofeachmoduleandthesystemerror,improvetheefficiencyofsystemdesign.Viestoanswerfirstthemainfunctionmoduleis:

1,thefirstviestoanswerfirstthedifferentialsignalandlatchfunction;

2,scorefunction.In3,adigitaldisplay;

4,theanswertimelimitfunction.Inthisdesignismainlyaboutanswering,scoringandwarningfunction.

Keywords:

responderEDAVHDL

目录

1绪论 1

2整体设计方案 1

2.1系统设计要求 1

2.2系统设计方案 2

3子模块的设计思想 3

3.1抢答器模块 3

3.2计时模块 5

3.3计分模块 6

3.4译码显示模块 8

3.5抢答器的系统实现 9

4多路抢答器子模块的仿真验证 11

4.1鉴别模块的仿真验证 11

4.2计时模块的仿真验证 12

4.3计分模块的仿真验证 12

4.4数显模块的仿真验证 14

4.5系统整体的仿真验证 15

5总结 16

5.1多路抢答器设计结果 16

5.2对设计的建议 16

致谢 17

参考文献 17

附录1抢答器鉴别模块源代码 18

2报警模块源代码 19

3计分模块源代码 20

2009届电子信息工程(应用电子技术方向)专业毕业设计(论文)

1绪论

随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用越来越多地渗透到国民经济的各个部门,目前数字电子技术已经广泛应用于计算机、自动控制、电子测量仪表、电视、雷达、通信等各个领域。

其中,抢答器就是典型的一种运用数字集成的设备。

在日常生活中,各种智力竞赛越来越多,而抢答器是必不可少的设备之一,答题时一般分为必答和抢答两种。

必答有时间限制,到时要告警。

而抢答则要求参赛者做好充分准备,由主持人宣读完题目后,参赛者开始抢答,谁先按下按钮,就由谁答题,但竞赛过程中很难准确判断出谁先按下按键,因此使用抢答器来完成这一功能是很有必要的。

它能够准确、公正、直观地判断出首轮抢答者,并且通过抢答器的数码显示和警示蜂鸣等方式指示出首轮抢答者。

以下几章主要介绍抢答器的抢答鉴别、计分和报警功能的实现,VHDL语言的特点及发展趋势,QuatusII6.0开发平台的仿真等。

2整体方案设计

2.1系统设计要求

一般来说,设计一台智能抢答器,必须能够准确判断出第一位抢答者,并且通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者,并设置一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果实行增减分的操作,并将分数显示在屏幕上,评出最终赢家。

所以我们在设计智能抢答器的模块需要满足鉴别、计时、计分、数显等功能,具体设计要求如下:

(1)抢答器可容纳四组选手,并为每组选手设置一个按钮供抢答者使用;

为主持人设置一个控制按钮,用来控制系统清零(组别显示数码管灭灯)和抢答开始;

(2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。

在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。

(3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败提示,主持人可以按复位键,开始新一轮的抢答。

(4)抢答器具有限时抢答的功能,且一次抢答的时间由主持人设定,本抢答时间设定为60秒。

当主持人启动开始键后,要求计时器采用倒计时,同时最后十秒扬声器会发出声响提示;

(5)参赛选手在设定的时间内抢答,则抢答有效,定时器停止工作,主持人根据抢答结果给出分数,并由数码管显示选手的组别抢答分数,并一直保持到主持人将系统清零

9

为止。

2.2系统设计方案

本设计为四路智能抢答器,所以这种抢答器要求有四路不同组别的抢答输入信号,并能识别最先抢答的信号,直观地通过数显和蜂鸣等方式显示出组别;

对回答问题所用的时间进行计时、显示、超时报警、预置答题时间,同时该系统还应有复位、倒计时启动功能。

抢答过程:

主持人按下系统复位键(RST),系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。

当某参赛组抢先将抢答键按下时,系统将其余三路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系统清零为止。

主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。

计时至0时,停止计时,扬声器发出超时报警信号,以中止未回答完问题。

当主持人给出倒计时停止信号时,扬声器停止鸣叫。

若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。

主持人按下复位键,即RST为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。

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

【3】系统的总体框图如下:

图2-1系统的总体框图

2.3子模块的设计思想和实现

根据对抢答器的功能要求,把要设计的系统划分为五个功能模块:

抢答信号鉴别模块、计时模块、计分模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路和计分显示电路。

计时模块、计分模块、数码显示模块和扬声器控制电路,

3.1抢答鉴别模块

抢答鉴别模块用来准确直观地判断A、B、C、D四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。

同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。

抢答鉴别模块的元件图如下图所示:

图3-1鉴别模块元件框图

引脚作用:

输入信号:

各组的抢答按钮A、B、C、D,系统清零信号INI。

输出信号:

各组的抢答按钮显示端A1、B1、C1、D1,组别显示端G[3..0]。

原理:

第一个按下键的小组,抢答信号判定电路LOCK通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示、计时和计分会保存到主持人对系统进行清零操作时为止。

当INI=1时系统复位,使组别显示信号G=0000,各组的指示灯信号A1=0,B1=0,C1=0,D1=0;

当INI=0,即低电平有效,使其进入抢答鉴别状态,到CLK的上升沿到来时,以A组抢答成功为例,当输入信号为A=1,B=0,C=0,D=0,输出信号G=1000,A1=1,即为鉴别出A组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。

同理其他组别抢答成功也是这样的鉴别过程。

【3】

备注:

理论上来说,A、B、C、D四组抢答,应该有从0000—1111等16种可能情况,但是由于时钟信号的频率很高而且是在时钟信号上升沿的状况下才做出的鉴别,所以在这里两组以上同时抢答成功的可能性非常小,因此可以只设计四种情况,即A、B、C、D分别为1000、0100、0010、0001,这大大简化了电路的设计复杂性。

其用VHDL语言进行编程的流程图如下图所示:

图3-2抢答鉴别模块的流程图

3.2计时模块

当抢答鉴别模块成功判别出最先按下抢答按钮的参赛组后,在成功鉴别出哪组最先抢答后,主持人按下计时信号,则进入计时状态。

计时模块可分作两部分:

(1)预置数;

(2)60秒倒计时。

60秒时间用两个数码管QA,QB显示,其中QA表示60秒的个位,QB表示60秒的十位。

计时模块开始工作从预置初始值开始以秒计时,计时至0秒时停止,时间耗尽时,扬声器会发出超时报警信号,以中止答题。

图3-3计时模块的元件图

该系统输入信号有:

系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统

时钟信号CLK,计时预置数据调整按钮TA、TB。

系统输出信号有:

倒计时输出端QA[3..0]、QB[3..0]。

当清零信号CLR=1时,模块输出信号QA=0000 ,QB=0000。

当预置数控制信号LDN=1

可通过TA来调整QA,TA来一次高电平,则QA的数值就加1;

用TB来调整QB,通过这两

CLR=

LDN=0

开始

CLK上

EN=1

QA<

=Q

QB<

个调整信号可调整参赛者答题所需要的时间。

在CLR=0,LDN=0,EN=1时,通过时钟信号CLK的上升沿来进行60秒到计时。

【1】其用VHDL语言进行编程的流程图如下:

TA=1

TA=0

LDN=1

图3-4抢答计时模块的流程图

3.3计分模块

计分模块的运行方式是按照十进制进行加减,即当时钟出现上升沿时就进行加一或者减一的操作。

记分模块为哪组进行记分取决于鉴别模块的输入信号G,当G=1000时表示A组最先抢答,则在此模块中为A组记分,当G=0100时表示B组最先抢答,则在此模块中为B组记分,当G=0010时表示C组最先抢答,则在此模块中为C组记分,当G=0001时表示D组最先抢

答,则在此模块中为D组记分。

以A组为例来说明此模块的设计,当复位信号RST=1时,系统复位且A组的分值显示初始值,为100分。

当RST=0时,如果该组选手答题正确,则主持人按下加分键,即ADD=1,此时对该组进行加分操作;

如果该组选手答题错误,则主持人按下减分键,即SUB=1,此时对该组进行减分操作。

计分模块的元件图如下图所示:

图3-5计分模块的元件图

系统的输入信号有:

计分复位端RST,加分按钮端ADD,减分按钮端SUB,组别号输

入端CHOS[3..0]。

系统的输出信号有:

A组分数输出端AA2[3..0]、AA1[3..0]、AA0[3..0],B组分数输出端BB2[3..0]、BB1[3..0]、BB0[3..0],C组分数输出端CC2[3..0]、CC1[3..0]、CC0[3..0],D组分数输出端DD2[3..0]、DD1[3..0]、DD0[3..0]。

计分模块用VHDL语言进行编程的流程图如下:

图3-6计分模块的设计状态图

注:

在设计中减法的实现是以加法运算来实现的。

也以A为例,由于每次减分都是减去10分,即每次为POINTS_A1减一,所以可以用POINTS_A1+"

1111"

来实现。

如:

0111-0001=0110,用加法实现:

0111+1111=10110。

由于POINTS_A1:

STD_LOGIC_VECTOR(3DOWNTO0),所以POINTS_A1=0110。

3.4译码显示模块

该模块实际上是一个译码器,译码器是组合逻辑电路的一个重要的器件,其可以分为:

变量译码和显示译码两类。

变量译码一般是一种较少输入变为较多输出的器件,一般分为2n译码和8421BCD码译码两类。

显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动LED和驱动LCD两类。

译码是编码的逆过程。

图3-7译码显示模块的元件图

显示的数字/字母

BCD编码

七段数码管2进制

0000

0111111

1

0001

0000110

2

0010

1011011

3

0011

1001111

4

0100

1100110

5

0101

1101101

6

0110

1111101

7

0111

0000111

8

1000

1111111

1001

1101111

X

XXXX

0000000

主要原理是四位二进制BCD编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。

译码器的译码对照表如下所示:

表3-1译码器的译码对照表

备注 :

在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码子,其他情况不予考虑。

[4]

3.5抢答器的系统实现

单独模块只有彼此联系起来构成一个完整的系统,才能实现其功能,这个过程有两种实现方法:

①元件例化。

也是用编程的方式将它们各个程序、信号、输入输出之间的关系用VHDL语言来叙述清楚,还关系到程序的调用问题,需要设计者思路清晰,设计合理;

②元器件图示连线。

这种连线方法思路清晰可见,而且用的时候很简单方便,出现错误也很好检查。

在设计中选择的是这种方法。

通过总的顶层元件图可以很清晰的看到模块连接的原理。

图3-8 顶层元件图

本设计中,抢答器组别信号A、B、C、D为高电平时,其功能为有效状态。

同样,系统清零信号CLR、预置及倒计时控制信号LDN,亦为高电平有效。

当CLR有效时,抢答信号判别电路清零,为判别优先抢答信号做出准备。

当计时使能端EN为低电平,预置时间设置信号LDN=1时,通过计时预置数据调整按钮TA、TB进行预置数。

当计时使能端EN为高电平,有系统时钟信号CLK时,进行一分钟倒计时。

输入时钟CLK一方面作为扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器时钟,为使扬声器音调较为悦耳,且是抢答判别电路有较高的准确度(对信号判别的最大误差是一个时钟周期),CLK信号频率高低应适中,可取500Hz-1KHz;

同时CLK信号经过分频后向倒计时电路提供信号。

附表:

输入/输出引脚的作用:

端口名

功能

CLK

系统时钟信号

A,B,C,D

抢答信号输入

CLR

系统清零

EN

计时使能信号

RST

记分复位

CHOS(3…..0)

组别信号输入

DOUT7(6…..0)

译码管输出信号

G (3.….0)

组别显示

LDN

计时预置控制信号

AIN4(3. 0)

译码管输入

表3-2输入/输出引脚的作用

4多路抢答器子模块的仿真验证

4.1鉴别模块的仿真验证

利用QuartusII进行编译,综合,仿真,时序图如下:

图4-1鉴别模块的仿真时序图

系统输入信号:

各组的抢答按钮A、B、C、D,系统清零信号CLR,CLK时钟信号。

系统的输出信号:

各组的抢答按钮显示端A1、B1、C1、D1,组别显示端控制信号G[3..0]。

仿真分析:

当鉴别模块的清零信号CLR为高电平时,无论A、B、C、D四组参赛者谁按下抢答按钮,系统输出均为零,同时组别显示端G输出信号也显示为零;

当清零信号CLR为低电平时,

A、B、C、D四组参赛者谁先按下抢答按钮,组别显示端就显示该组别的号码。

假如C组按下抢答按钮时,组别输出为0010,同时C组的显示灯被点亮。

仿真图上显示的为A先抢答,因为在0-

1.28微秒之间A、C虽然都按抢答键,但CLR为有效状态,所以在此时间段内的抢答无效。

4.2计时模块的仿真验证

21

图4-2计时模块的仿真时序图

系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统时钟信号CLK,计时预置数据调整按钮TA、TB。

系统输出信号:

当系统清零信号CLR=1时,计时器的时钟信号回到计时预置倒计时起始状态,此时倒计时输出端QA=0000,QB=0000.当计时使能端EN=0,计时预置控制端LDN=1时,通过计时预置数据调整按钮TA、TB进行预制数,并且通过TA,TB来调整QA,QB即当TA=1时,则QA的数值加1,当TB=1时,则QB的数值也加1。

当计时使能端EN=1,系统清零信号CLR=0,并且计时预置控制端LDN=0时,通过时钟信号上升沿CLK来进行60秒倒计时。

4.3计分模块的仿真验证

图4-3计分模块的仿真时序图

计分复位端RST,加分按钮端ADD,减分按钮端SUB,组别号输入端CHOS[3..0]。

A组分数输出端AA2[3..0]、AA1[3..0]、AA0[3..0],B组分数输出端BB2[3..0]、BB1[3..0]、BB0[3..0],C组分数输出端CC2[3..0]、CC1[3..0]、CC0[3..0],D组分数输出端DD2[3..0]、DD1[3..0]、DD0[3..0]。

首先应该清楚,在计分器电路的设计中,按十进制进行加减分操作的,当出现时钟信号上升沿CLK就可以完成对参赛者加减分操作。

智能抢答器记分模块的仿真时以加分操作为例。

由仿真图3-10可知以下情况:

(1)系统设计过程中,当计分复位端RST=1时,并且组别输入信号CHOS=0000,其中的组别输入信号是抢答鉴别模块的输出信号,计分器复位,此时以上四组都不会产生加

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2