EDA课设 竞赛抢答器Word文件下载.docx

上传人:b****5 文档编号:17365647 上传时间:2022-12-01 格式:DOCX 页数:15 大小:706.89KB
下载 相关 举报
EDA课设 竞赛抢答器Word文件下载.docx_第1页
第1页 / 共15页
EDA课设 竞赛抢答器Word文件下载.docx_第2页
第2页 / 共15页
EDA课设 竞赛抢答器Word文件下载.docx_第3页
第3页 / 共15页
EDA课设 竞赛抢答器Word文件下载.docx_第4页
第4页 / 共15页
EDA课设 竞赛抢答器Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

EDA课设 竞赛抢答器Word文件下载.docx

《EDA课设 竞赛抢答器Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA课设 竞赛抢答器Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

EDA课设 竞赛抢答器Word文件下载.docx

二、系统总体设计思想

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

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

抢答过程:

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

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

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

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

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

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

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

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

图3-1系统的总体框图

三、子模块的设计思想和实现

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

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

【8】

3.1鉴别模块的设计与实现

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

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

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

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

引脚作用:

输入信号:

各组的抢答按钮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组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。

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

【9】

备注:

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

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

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

3.2计时模块的设计与实现

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

计时模块可分作两部分:

(1)预置数;

(2)60秒倒计时。

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

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

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

该系统输入信号有:

系统清零信号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=0,LDN=0,EN=1时,通过时钟信号CLK的上升沿来进行60秒到计时。

3.3译码显示模块的设计与实现

该模块实际上是一个译码器,作用是用来显示组别,时间和成绩,其主要原理是四位二进制BCD编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。

3.4抢答器的系统实现

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

①元件例化。

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

②元器件图示连线。

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

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

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

图3-8顶层元件图

四、课程程序

1、抢答鉴别模块VHDL程序(QDJB.VHD)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYQDJBIS

PORT(CLR:

INSTD_LOGIC;

CLK:

A,B,C,D:

A1,B1,C1,D1:

OUTSTD_LOGIC;

G:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDQDJB;

ARCHITECTUREARTOFQDJBIS

CONSTANTW1:

STD_LOGIC_VECTOR:

="

0001"

;

CONSTANTW2:

0010"

CONSTANTW3:

0100"

CONSTANTW4:

1000"

BEGIN

PROCESS(CLR,A,B,C,D)

IFCLR='

1'

THENG<

0000"

ELSIF(A='

ANDB='

0'

ANDC='

ANDD='

)THEN

A1<

='

B1<

C1<

D1<

G<

=W1;

=W2;

B1<

=W3;

=W4;

ENDIF;

ENDPROCESS;

ENDART;

2、抢答计时模块VHDL程序(JSQ.VHD)

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYJSQIS

PORT(CLR,LDN,EN,CLK:

TA,TB:

QA:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

QB:

ENDJSQ;

ARCHITECTUREARTOFJSQIS

SIGNALDA:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALDB:

BEGINPROCESS(TA,TB,CLR)

BEGINIFCLR='

THEN

DA<

DB<

ELSE

IFTA='

THEN;

DA<

=DA+"

;

IFTB='

=DB+"

PROCESS(CLK)

VARIABLETMPA:

VARIABLETMPB:

THENTMPA:

TMPB:

0110"

ELSIFCLK'

EVENTANDCLK='

IFLDN='

=DA;

TMPB:

=DB;

ELSIFEN='

THENIFTMPA="

TMPA:

1001"

IFTMPB="

THEN

ELSETMPB:

=TMPB-"

ELSETMPA:

=TMPA-"

QA<

=TMPA;

QB<

=TMPB;

ENDART;

3、译码器VHDL程序(YMQ.VHD)

ENTITYYMQIS

PORT(AIN4:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT7:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDYMQ;

ARCHITECTUREARTOFYMQIS

BEGINPROCESS(AIN4)BEGINCASEAIN4IS

WHEN"

=>

DOUT7<

0111111"

--0

0000110"

--1

1011011"

--2

0011"

1001111"

--3

1100110"

--4

0101"

1101101"

--5

1111101"

--6

0111"

0000111"

--7

1111111"

--8

1101111"

--9

WHENOTHERS=>

0000000"

ENDCASE;

ENDART;

五、抢答器子模块的仿真验证及结果

本课程设计在满足课设要求,另外还有可以对倒计时时间进行调整,这是课程设计自己加的东西。

电路图

引脚分配

综合分析完成

下载完成

实物结果(图中为第一个人抢答成功,53为时间,中间为二进制加分led灯)

5.1鉴别模块的仿真验证

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

图5-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为有效状态,所以在此时间段内的抢答无效。

5.2计时模块的仿真验证

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

引脚作用:

系统输出信号:

当系统清零信号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秒倒计时。

5.3数显模块的仿真验证

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

图5-3数显模块的仿真时序图

输入信号:

AIN4;

输出信号:

DOUT7。

当AIN4="

,DOUT7输出"

1111110"

此时数码管显示0;

0110000"

此时数码管显示1;

此时数码管显示2;

1111001"

此时数码管显示3;

0110011"

此时数码管显示4;

此时数码管显示5;

1011111"

此时数码管显示6;

1110000"

此时数码管显示7;

此时数码管显示8;

1111011"

此时数码管显示9;

六、课程设计总结 

本次的EDA课程设计使我对EDA技术有了更进一步的了解。

同时,大致懂得了一个课题制作的具体流程和实施方法。

另外,课程设计对QuarteusⅡ软件的使用要求较高,从而使我能较为熟练的运用此软件。

在设计时,采用模块化的设计思路使得问题变的简单明了,大大缩短了时间,降低了发生错误的机律,也便于修改和更新。

课程设计中,需要找很多资料,在当今的信息化环境中,虽然资料很多,但需要仔细斟酌才能找到所要的。

这次的课程设计很好的锻炼了这种能力。

此外,与同学和老师的交流必不可少,我从中也学到了不少东西。

课程设计是一次很好的锻炼机会,我从中学的很多知识对将来的学习和工作都有很大的帮助,十分感谢学校能提供这样一个机会。

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1