43王玉凤智力竞赛抢答器.docx

上传人:b****6 文档编号:8758228 上传时间:2023-05-14 格式:DOCX 页数:27 大小:166.88KB
下载 相关 举报
43王玉凤智力竞赛抢答器.docx_第1页
第1页 / 共27页
43王玉凤智力竞赛抢答器.docx_第2页
第2页 / 共27页
43王玉凤智力竞赛抢答器.docx_第3页
第3页 / 共27页
43王玉凤智力竞赛抢答器.docx_第4页
第4页 / 共27页
43王玉凤智力竞赛抢答器.docx_第5页
第5页 / 共27页
43王玉凤智力竞赛抢答器.docx_第6页
第6页 / 共27页
43王玉凤智力竞赛抢答器.docx_第7页
第7页 / 共27页
43王玉凤智力竞赛抢答器.docx_第8页
第8页 / 共27页
43王玉凤智力竞赛抢答器.docx_第9页
第9页 / 共27页
43王玉凤智力竞赛抢答器.docx_第10页
第10页 / 共27页
43王玉凤智力竞赛抢答器.docx_第11页
第11页 / 共27页
43王玉凤智力竞赛抢答器.docx_第12页
第12页 / 共27页
43王玉凤智力竞赛抢答器.docx_第13页
第13页 / 共27页
43王玉凤智力竞赛抢答器.docx_第14页
第14页 / 共27页
43王玉凤智力竞赛抢答器.docx_第15页
第15页 / 共27页
43王玉凤智力竞赛抢答器.docx_第16页
第16页 / 共27页
43王玉凤智力竞赛抢答器.docx_第17页
第17页 / 共27页
43王玉凤智力竞赛抢答器.docx_第18页
第18页 / 共27页
43王玉凤智力竞赛抢答器.docx_第19页
第19页 / 共27页
43王玉凤智力竞赛抢答器.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

43王玉凤智力竞赛抢答器.docx

《43王玉凤智力竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《43王玉凤智力竞赛抢答器.docx(27页珍藏版)》请在冰点文库上搜索。

43王玉凤智力竞赛抢答器.docx

43王玉凤智力竞赛抢答器

目录

1引言1

1.1设计的目的1

1.2设计的基本内容1

2EDA、VHDL简介2

2.1EDA技术2

2.2硬件描述语言——VHDL2

3设计规划过程4

3.1智力竞赛抢答器的组成原理4

3.2抢答器模块的设计5

4结束语13

致谢14

参考文献15

附件16

 

1引言

无论是在学校、工厂、军队还是益智性电视节目,都会举办各种各样的智力竞赛,都会用到抢答器。

目前市场上已有各种各样的智力竞赛抢答器,但绝大多数是早期设计的,以模拟电路、数字电路或者模拟电路与数字电路相结合的产品。

这部分抢答器已相当成熟,但功能越多的电路相对来说就越复杂,且成本偏高,故障高,显示方式简单(有的甚至没有显示电路),无法判断提前抢按按钮的行为,不便于电路升级换代。

本设计就是基于VHDL设计的一个智力竞赛抢答器尽量使竞赛真正达到公正、公平、公开。

1.1设计的目的

本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。

通过对智力竞赛抢答器的设计,巩固和综合运用所学课程,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。

本文采用经8输入与非门和非门后的反馈信号的高电平作为解锁存,用555定时器的模型来倒计时,同时以脉冲信号来控制加法器和减法器来控制抢答过程中的计分,应用二极管和数码显示管为主要部件来设计扫描显示器。

通过课程设计深入理解VHDL语言的精髓和掌握运用所学的知识,达到课程设计的目标。

1.2设计的基本内容

本文是设计的一个四路智力竞赛抢答器,利用VHDL设计抢答器的各个模块,并使用EDA工具对各模块进行仿真验证。

智力竞赛抢答器的设计分为四个模块:

鉴别锁存模块;答题计时模块;抢答计分模块以及扫描显示模块。

把各个模块整合后,通过电路的输入输出对应关系连接起来。

设计成一个有如下功能的抢答器:

(1)具有第一抢答信号的鉴别锁存功能。

在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,显示器显示出抢答者的组别。

同时电路处于自锁状态,使其他组的抢答器按钮不起作用。

(2)具有计分功能。

在初始状态时,主持人可以设置答题时间的初始值。

在主持人对抢答组别进行确认,并给出倒计时计数开始信号以后,抢答者开始回答问题。

此时,显示器从初始值开始计时,计至0时停止计数。

(3)具有计分功能。

在初始状态时,主持人可以给每组设置初始分值。

第三者组抢答完毕后,由主持人打分,答对一次加10分阶段,错则减10分。

(4)扫描显示功能。

在初始状态时,各组计分给出一个固定的值并将它扫描显示在屏幕上,当计分或者要显示的数据发生变化时,再次扫描并显示出来。

2EDA、VHDL简介

2.1EDA技术

 EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。

现在对EDA的概念或范畴用得很宽。

包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。

例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。

EDA设计可分为系统级、电路级和物理实现级。

2.2硬件描述语言——VHDL

2.2.1VHDL的简介

  VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。

1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。

自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。

此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。

1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。

现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。

 VHDL主要用于描述数字系统的结构,行为,功能和接口。

除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

VHDL比其它硬件描述语言相比有以下优点:

(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

符合市场需求的大规模系统高效,

高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。

(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

2.2.2VHDL语言的特点

应用VHDL进行系统设计,有以下几方面的特点。

(一)功能强大

VHDL具有功能强大的语言结构。

它可以用明确的代码描述复杂的控制逻辑设计。

并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。

VHDL是一种设计、仿真和综合的标准硬件描述语言。

(二)可移植性

VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。

它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。

此外,通过更换库再重新综合很容易移植为ASIC设计。

(三)独立性

VHDL的硬件描述与具体的工艺技术和硬件结构无关。

设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。

程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。

(四)可操作性

由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。

(五)灵活性

VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。

使其在任何大系统的设计中,随时可对设计进行仿真模拟。

所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。

3设计规划过程

3.1智力竞赛抢答器的组成原理

因为设计的是四路抢答器,所以系统的输入信号有:

各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;系统的输出信号有:

四个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。

根据以上的分析,我们可将整个系统分为四个主要模块:

鉴别锁存模块,答题计时模块,计分电路模块,扫描显示模块。

总系统框图如3.1所示。

图3.1系统框图

3.2抢答器模块的设计

抢答器中各个模块由VHDL实现后,利用EDA工具对各模块进行了时序仿真(TimingSimulation),其目的是通过时序可以更清楚的了解程序的工作过程。

3.2.1鉴别锁存模块的设计

鉴别锁存模块的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。

形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,控制扬声器发出音响,并启动答题计时电路。

本模块采用74HC373芯片,一开始,当所有开关均未按下时,锁存器输出全为高电平,经8输入与非门和非门后的反馈信号仍为高电平,该信号作为锁存器使能端控制信号,使锁存器处于等待接收触发输入状态;当任一开关按下时,输出信号中必有一路为低电平,则反馈信号变为低电平,锁存器刚刚接收到的开关被锁存,这时其它开关信息的输入将被封锁。

由此可见,触发锁存电路具有时序电路的特征,是实现抢答器功能的关键。

鉴别锁存电路可以由VHDL程序来实现,以下是一断鉴别锁存的VHDL程序:

BEGIN

PROCESS(CLK)IS

BEGIN

IFCLR='0'THENSTATES<="0000";

A1<='0';B1<='0';C1<='0';D1<='0';

ELSIFCLK'EVENTANDCLK='1'THEN

IF(A='0'ANDB='1'ANDC='1'ANDD='1')THEN

A1<='1';B1<='0';C1<='0';D1<='0';STATES<=W1;

ELSIF(A='1'ANDB='0'ANDC='1'ANDD='1')THEN

A1<='0';B1<='1';C1<='0';D1<='0';STATES<=W2;

ELSIF(A='1'ANDB='1'ANDC='0'ANDD='1')THEN

A1<='0';B1<='0';C1<='1';D1<='0';STATES<=W3;

ELSIF(A='1'ANDB='1'ANDC='1'ANDD='0')THEN

A1<='0';B1<='0';C1<='0';D1<='1';STATES<=W4;

--ELSEA1<='0';B1<='0';C1<='0';D1<='0';STATES<="0000";

ENDIF;

ENDIF;

ENDPROCESS;

ENDARCHITECTUREART;

鉴别锁存电路由VHDL程序实现后,其仿真图如图3.2.1所示。

图3.2.1鉴别锁存仿真图

时序仿真分析:

RST,STA为输入控制信号,A,B,C,D为输入信号,表示参与答题的四位选手,START,A1,B1,C1,D1为输出信号,表示抢答的输出结果,如图3.2.1所示:

当A,B,C,D四个输入信号,有一个先为1时候,表示首先抢答,则输出A1为1,表示抢答成功,其他信号被屏蔽,为无效信号。

3.2.2答题计时模块

答题计时模块的任务是当主持人启动这个计时开关时开始计时,如果在规定的时间内答完题则答题有效,如果在规定的时间内没有完成,则答题无效。

计时器从规定的时间倒计时,计时为零时计时结束。

答题有无效作凭主持人来判断。

本模块由比较器C1和C2,基本RS触发器和三极管T1组成。

两个比较器的翻转分别由高电平触发THR和低电平触发TRI的输入电压与比较基准电压比较决定,其输出控制RS触发器和放电BJT晶体客T的状态。

计时电路可以由VHDL程序来实现,以下是一断计时的VHDL程序:

BEGIN

IFCLR='0'THEN

DA<="0000";

DB<="0000";

ELSIFclock'eventandclock='1'then

IFTA='0'THEN

IFDA="1001"THEN

DA<="0000";

ELSE

DA<=DA+'1';

ENDIF;

ENDIF;

IFTB='0'THEN

IFDB="1001"THEN

DB<="0000";

ELSE

DB<=DB+'1';

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(clock)IS

VARIABLETMPA:

STD_LOGIC_VECTOR(3DOWNTO0);

VARIABLETMPB:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

IFCLR='0'THENTMPA:

="0000";TMPB:

="0000";

ELSIFclock'EVENTANDclock='1'THEN

IFLDN='0'THENTMPA:

=DA;TMPB:

=DB;

ELSIFEN='1'THEN

IFTMPA="0000"THEN

TMPA:

="1001";

IFTMPB="0000"THENTMPB:

="1001";

ELSETMPB:

=TMPB-1;

ENDIF;

ELSETMPA:

=TMPA-1;

ENDIF;

ENDIF;

ENDIF;

QA<=TMPA;QB<=TMPB;

ENDPROCESS;

ENDARCHITECTUREART;

答题计时电路由VHDL程序实现后,其仿真图如图3.2.2所示。

图3.2.2答题计时仿真图

时序仿真分析:

CLK为输入时钟信号,LDN为输入信号,表示开始答题,如图3.2.2所示:

当选手开始答题的时候,CLK输入时钟脉冲信号,开始记时间,当选手答题完毕后,记时结束,如若在规定时间内没完成答题,则表示答题失败。

3.2.3计分电路模块

计分电路模块是给答题人计分用的,按照规定如果主持人判定答题有效则加分,如无效则按照设定不加分或者扣分。

并将分数显示在计分屏幕上。

本模块采用74LS112芯片,设置成两个电路一个加法器和一个减法器。

个位电路始终显示为0所以将它直接接显示器的个位,再把十位的看成个位加减,依此类推。

电路中设加分,减分和复位按钮。

加法器和减法器电路中的单脉冲分别为加分和减分按钮,而两个电路中的清零电平开关就是复位按钮。

计分电路可以由VHDL程序来实现,以下是一断计分的VHDL程序:

BEGIN

IF(clk'EVENTANDclk='1')THEN

IFRST='0'THEN

POINTS_A1:

="0000";

POINTS_B1:

="0000";

POINTS_C1:

="0000";

POINTS_D1:

="0000";

ELSIFADD='0'then

cnt:

=cnt+1;

IFcnt=2500000thencnt:

=0;

IFCHOS="0001"THEN

IFPOINTS_A1="1001"THEN

POINTS_A1:

="0000";

ELSE

POINTS_A1:

=POINTS_A1+'1';

ENDIF;

ELSIFCHOS="0010"THEN

IFPOINTS_B1="1001"THEN

POINTS_B1:

="0000";

ELSE

POINTS_B1:

=POINTS_B1+'1';

ENDIF;

ELSIFCHOS="0011"THEN

IFPOINTS_C1="1001"THEN

POINTS_C1:

="0000";

ELSE

POINTS_C1:

=POINTS_C1+'1';

ENDIF;

ELSIFCHOS="0100"THEN

IFPOINTS_D1="1001"THEN

POINTS_D1:

="0000";

ELSE

POINTS_D1:

=POINTS_D1+'1';

ENDIF;

elsecnt:

=0;

ENDIF;

ENDIF;

ENDIF;

ENDIF;

AA1<=POINTS_A1;

BB1<=POINTS_B1;

CC1<=POINTS_C1;

DD1<=POINTS_D1;

ENDPROCESS;

ENDARCHITECTUREART;

计分电路由VHDL程序实现后,其仿真图如图3.2.3所示。

图3.2.3计分电路仿真图

时序仿真分析:

RST为输入控制信号,用来复位,ADD为输入信号,表示答对一题加分,CHOSE输入信号,用来选择选手,AA2,AA1,AA0,BB2,BB1,BB0为输出信号,表示记分的结果,如图3.2.3所示:

选择A选手答题,如答对,则输出A2为1,如答错,则输出A1为-1,如没答,则输出A0为0。

3.2.4扫描显示模块

此模块将计分电路中的计分结果通过扫描并显示出来于屏幕上。

抢答者和观众则通过显示屏幕上的分数来判别竞赛都之间的成绩。

最终胜负结果也是通过这个分数来判别的。

显示部分采用动态扫描4位LED显示接口电路,LED动态显示是单片机中应用最为广泛的一种显示方式,其接口电路是把所有显示器的8个笔划段a~dp同名端并联在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制,CPU的字段输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了,在轮流点亮扫描过程中,每位显示器的点亮时间表是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉将就尽管实际上各位显示器并非同时点亮,但只要扫描速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

扫描显示电路可以由VHDL程序来实现,以下是一断扫描显示的VHDL程序:

begin

if(clk_fresh'eventandclk_fresh='1')then

cnt:

=cnt+1;

ifcnt="000"then

segcs<="10000000";

seg<=ZBXS;

elsifcnt="001"then

segcs<="00100000";

seg<=A1;

elsifcnt="010"then

segcs<="00010000";

seg<=B1;

elsifcnt="011"then

segcs<="00001000";

seg<=C1;

elsifcnt="100"then

segcs<="00000100";

seg<=D1;

elsifcnt="101"then

segcs<="00000010";

seg<=JSXS1;

elsifcnt="110"then

segcs<="00000001";

seg<=JSXS2;

elsifcnt="111"then

segcs<="00000000";

seg<="0000000";

endif;

endif;

endprocess;

endrtl;

扫描显示由VHDL程序实现后,其仿真图如图3.2.4所示。

图3.2.4扫描显示电路仿真图

时序仿真分析:

IN4为输入信号,OUT为输出显示信号,如图3.2.4所示,把输入信号进行编码输出。

4结束语

通过二周的紧张工作,最后完成了我的设计任务——基于VHDL的四路智力竞赛抢答器的设计。

通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。

本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。

它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。

希望学校以后多安排一些类似的实践环节,让同学们学以致用。

在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。

在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。

用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。

 

致谢

在此次课程设计中,非常感谢李菲老师对我的指导与大力的帮助。

如果没有她严谨细致、一丝不苟地批阅和指正,本文很难在这个短时间内完成。

从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我很大的帮助,在这里请接受我诚挚的谢意!

参考文献

[1]康华光.电了技术基础教程部分[M].北京:

高等教育版社,2000.

[2]宋卫海,王明晶.数字电子技术[M].济南:

山东科学技术出版社,2006.

[3]曾繁泰,陈美金.VHDL程序设计[M].北京:

清华大学出版社,2001

[4]潘松.VHDL实用教程[M].成都:

电子科技大学出版社,2000

 

附件

(1)SCN模块的VHDL程序:

----------------------------------------

--任一选手按下键后,锁存器完成锁存,对--

--其余选手的请求不做响应,直到主持人按--

--下复位键--

----------------------------------------

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYSCNIS

PORT(CP:

INSTD_LOGIC;

CLR:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDSCN;

ARCHITECTURERTLOFSCNIS

BEGIN

PROCESS(CP,CLR)

BEGIN

IFCLR='0'THEN--不完整的条件产生锁存

Q<='0';

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

当前位置:首页 > 自然科学 > 物理

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

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