基于FPGA的数字抢答器的设计Word文件下载.docx

上传人:b****4 文档编号:6435795 上传时间:2023-05-06 格式:DOCX 页数:15 大小:582.17KB
下载 相关 举报
基于FPGA的数字抢答器的设计Word文件下载.docx_第1页
第1页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第2页
第2页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第3页
第3页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第4页
第4页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第5页
第5页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第6页
第6页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第7页
第7页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第8页
第8页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第9页
第9页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第10页
第10页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第11页
第11页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第12页
第12页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第13页
第13页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第14页
第14页 / 共15页
基于FPGA的数字抢答器的设计Word文件下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于FPGA的数字抢答器的设计Word文件下载.docx

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

基于FPGA的数字抢答器的设计Word文件下载.docx

同时,还可以设置计分、犯规及奖惩记录等各种功能。

本设计的具体要求是:

1.设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。

2.电路具有第一抢答信号的鉴别和锁存功能。

在主持人交系统复位并发出抢答指令后,若抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别,同时扬声器发出“嘀嘟”的双音音响,且持续2~3秒。

此时,电路应具备自锁功能,使别组的抢答开关不起作用。

3.设置计分电路。

每组在开始时预置成100分,抢答后由诗人计分,答对一次加10分,否则减10分。

4.设置犯规电路。

对提前抢答和超时抢答的组别鸣喇叭示警,并由组别显示电路显示出犯规组别。

二、系统设计方案

根据系统设计要求可知,系统的输入信号有:

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

系统的输出信号有:

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

本系统应具有的功能有:

第一抢答信号的鉴别和锁存功能;

抢答计时功能;

各组得分的累加和动态显示功能;

抢答犯规记录功能。

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

抢鉴别模块QDJB;

抢答计时模块JSQ;

抢答计分模块JFQ;

对于需显示的信息,需增加或外接译码器,进行显示译码。

考虑到FPGA、CPLD的可用接口及一般EDA实验开发系统的输出显示资源的限制,这里我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。

整个系统的组成框图如图1所示:

图1智力抢答器的组成框图

系统的工作原理如下:

当主持人按下使能端EN时,抢答器开始工作,A、B、C、D四个抢答者谁最先抢答成功则此选手的台号灯(LEDA—LEDD)将点亮,并且主持人前的组别显示数码将显示出抢答成功者的台号;

接下来主持人提问,若回答正确,主持人按加分按钮ADD,抢答计分模块JFQ将给对应的组加分,并将该组的总分显示在对应的选手计分数码管JF2_A~JF0_A、JF2_B~JF0_B、JF2_C~JF0_C、JF2_D~JF0_D、上。

在此过程中,主持人可以采用计时手段(JSQ),打开计时器使计时预置控制端LDN有效,输入限制的时间,使计时使能端EN有效,开始计时。

完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。

三、主要VHDL源程序与系统模块

1.抢答鉴别电路QDJB的VHDL源程序和模块

--QDJB.VHD

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYQDJBIS

PORT(CLR:

INSTD_LOGIC;

A,B,C,D:

A1,B1,C1,D1:

OUTSTD_LOGIC;

STATES:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYQDJB;

ARCHITECTUREARTOFQDJBIS

CONSTANTW1:

STD_LOGIC_VECTOR:

="

0001"

;

CONSTANTW2:

0010"

CONSTANTW3:

0100"

CONSTANTW4:

1000"

BEGIN

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

IFCLR='

1'

THENSTATES<

="

0000"

ELSIF(A='

ANDB='

0'

ANDC='

ANDD='

)THEN

A1<

='

B1<

C1<

D1<

STATES<

=W1;

=W2;

=W3;

=W4;

ENDIF;

ENDPROCESS;

ENDARCHITECTUREART;

图2抢答鉴别电路的模块

2.计分器电路JFQ的VHDL源程序

--JFQ.VHD

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYJFQIS

PORT(RST:

ADD:

CHOS:

INSTD_LOGIC_VECTOR(3DOWNTO0);

AA2,AA1,AA0,BB2,BB1,BB0:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CC2,CC1,CC0,DD2,DD1,DD0:

ENDENTITYJFQ;

ARCHITECTUREARTOFJFQIS

PROCESS(RST,ADD,CHOS)IS

VARIABLEPOINTS_A2,POINTS_A1:

STD_LOGIC_VECTOR(3DOWNTO0);

VARIABLEPOINTS_B2,POINTS_B1:

VARIABLEPOINTS_C2,POINTS_C1:

VARIABLEPOINTS_D2,POINTS_D1:

BEGIN

IF(ADD'

EVENTANDADD='

IFRST='

THEN

POINTS_A2:

POINTS_A1:

POINTS_B2:

POINTS_B1:

POINTS_C2:

POINTS_C1:

POINTS_D2:

POINTS_D1:

ELSIFCHOS="

IFPOINTS_A1="

1001"

IFPOINTS_A2="

ELSE

=POINTS_A2+'

ELSE

=POINTS_A1+'

IFPOINTS_B1="

IFPOINTS_B2="

=POINTS_B2+'

=POINTS_B1+'

ELSIFCHOS="

IFPOINTS_C1="

IFPOINTS_C2="

=POINTS_C2+'

=POINTS_C1+'

IFPOINTS_D1="

IFPOINTS_D2="

=POINTS_D2+'

=POINTS_D1+'

ENDIF;

AA2<

=POINTS_A2;

AA1<

=POINTS_A1;

AA0<

BB2<

=POINTS_B2;

BB1<

=POINTS_B1;

BB0<

CC2<

=POINTS_C2;

CC1<

=POINTS_C1;

CC0<

DD2<

=POINTS_D2;

DD1<

=POINTS_D1;

DD0<

图3计分器电路JFQ的模块

3.计时器电路JSQ的VHDL源程序

--JSQ.VHD

ENTITYJSQIS

PORT(CLR,LDN,EN,CLK:

TA,TB:

QA:

QB:

ENDENTITYJSQ;

ARCHITECTUREARTOFJSQIS

SIGNALDA:

SIGNALDB:

PROCESS(TA,TB,CLR)IS

IFCLR='

DA<

DB<

IFTA='

=DA+'

;

IFTB='

=DB+'

PROCESS(CLK)IS

VARIABLETMPA:

VARIABLETMPB:

THENTMPA:

TMPB:

0110"

ELSIFCLK'

EVENTANDCLK='

IFLDN='

=DA;

=DB;

ELSIFEN='

IFTMPA="

TMPA:

IFTMPB="

THENTMPB:

ELSETMPB:

=TMPB-1;

ELSETMPA:

=TMPA-1;

QA<

=TMPA;

QB<

=TMPB;

图4计时器电路JSQ的模块

4.译码器电路YMQ的VHDL源程序

--YMQ.VHD

ENTITYYMQIS

PORT(AIN4:

DOUT7:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDYMQ;

ARCHITECTUREARTOFYMQIS

PROCESS(AIN4)

CASEAIN4IS

WHEN"

=>

DOUT7<

0111111"

--0

0000110"

--1

1011011"

--2

0011"

1001111"

--3

1100110"

--4

0101"

1101101"

--5

1111101"

--6

WHEN"

0111"

0000111"

--7

1111111"

--8

1101111"

--9

WHENOTHERS=>

0000000"

ENDCASE;

图5译码器电路YMQ的模块

5.智力抢答器在CYCLONE中所用的框图

注:

由于集成板的差别,该框图与原来设计的框图有一定的出入

图5智力抢答器在设计中所用的框图

图中的引脚号是本次在CYCLONE的EP1C12Q240C8中所用的引脚接口

四、系统仿真

1、系统的有关仿真

系统仿真后的结果分别如图6、图7、图8、图9所示。

图6抢答鉴别电路QDJB仿真图

图7计分器电路JFQ仿真图

图8计时器电路JSQ仿真图

图9译码器电路YMQ仿真图

五、设计技巧分析

1.在抢答鉴别电路设计中,A、B、C、D四组抢答,理论上应该有16种可能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成功的可能性非常不,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。

2.在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示分变得越来越麻烦。

因此为了减少译码显示的麻烦,一般是将一个大的进制数分解成数个十进制以内的时制数,计数器串级连接。

但随着位数的增加,电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,既减少了接口,又大大地简化了设计。

3.本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。

其中初始值的预置功能是将两位数分解成两个数分别进行预置,每个数的预置则采用高电平计数的方式进行。

减计数的功能与上述的加法计数类似,非常简洁。

六、系统扩展思路

1.设计外围电路:

系统用方波信号源、直流工作电源。

2.可将系统扩展为8组抢答器,同时当抢答错误时,具备扣分功能。

3.若为课程设计,除可要求设计调试程序、外围电路外,还可要求设计制作整个系统,包括PCB的制作。

七、设计心得

在这次设计中,我花了不少的时间,其中有苦也有泪。

苦的是我付出了不少的汗水,乐的是在付出的过程中我得到了许多,也学会了许多。

因为一个人的能力毕竟有限,在设计方面难免会出现这样那样的错误,但正是这些错误促进了我的进步。

根据电路的特点,我用层次化结构化设计概念,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块合起来联试,这培养了我们合作的精神,同时加深了层次化设计的概念。

在这次课程设计中,我真正体会到了知识的重要性。

在设计的过程中,遇到问题我会先独立思考,到自己不能解决的时候我就会和同学讨论,实在解决不了我就会向指导老师请教,应该说从功能的实现到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚着大家对我的帮助。

最后,在设计的过程中我进一步养成了软件设计的方法,完成一个项目的的程序,进一步了解了设计的步骤,进一步加深了对《EDA技术实用教程》这门课的理解,增强了以后学习的兴趣,为以后的工作积累了一定的经验,感谢石老师给我们提供这次设计的机会。

参考文献:

[1]沈明山. EDA技术及可编程器件应用实训. 科学出版社

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

清华大学出版社

[3]谭会生,张昌凡. EDA技术及应用. 西安:

西安电子科技大学出版社

[4]李国丽,朱维勇. EDA与数字系统设计. 北京:

机械工业出版社

[5]苏光大. 图像并行处理技术. 北京:

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

当前位置:首页 > 幼儿教育 > 育儿知识

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

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