抢答器毕业设计论文.docx

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

抢答器毕业设计论文.docx

《抢答器毕业设计论文.docx》由会员分享,可在线阅读,更多相关《抢答器毕业设计论文.docx(40页珍藏版)》请在冰点文库上搜索。

抢答器毕业设计论文.docx

抢答器毕业设计论文

摘要

随着计算机技术和电子技术的迅速发展,现在的抢答器的功能越来越强,准确性和可靠性也越来越高。

大部分传统的抢答器都是基于数字电路构成的,不仅制作过程复杂,而且可靠性和准确性较低,还有成品面积大,安装、维护困难等问题。

近年来电子技术得到迅速发展,使得电子系统的设计者利用EDA软件,就可以独立设计所需的专用集成电路(ASIC)器件,现在利用现场可编辑逻辑门阵列(简称FPGA)制作的抢答器,不仅制作过程简单,而且准确性也更高。

本设计的主芯片是EP2C35F672C8,系统由组别判断电路、分频电路、倒计时电路、抢答判别电路、扫描信号产生电路、信号匹配电路和显示电路组成。

该抢答器可以容纳四组八位选手同时参与抢答,系统具有清零功能和倒计时功能。

经编译和仿真所设计的程序,并下载到开发系统上进行调试验证,最终完成抢答器的设计。

关键词:

电子设计自动化;可编程逻辑门阵列;抢答器

Abstract

Withthedevelopmentofelectronictechnologyandelectronictechnology,theResponderisnowmorepowerful,moreandmorehighreliabilityandaccuracy.MostofthepreviousRespondercomposedofdigitalcircuitsbasedonthetraditional.Complexproductionprocess,andtheaccuracyandreliabilityisnothigh,finishedarea,installation,maintenancedifficulties.Therapiddevelopmentofelectronictechnologyinrecentyears,ElectronicsystemdesignersuseEDAsoftware,itcanbedesignedindependentlyrequiredspecialcircuit(ASIC)devices.NowdesignandimplementationofthemultiplexresponderbasedonFPGA,theproductionprocessisnotonlysimple,butaccuracyisalsohigher.

ThedesignofthemainchipisEP2C35F672C8,thesystemjudgmentcircuitbyagroupofthefrequencydividercircuit,thecountdowncircuit,answerdeterminationcircuit,thescanningsignalgeneratingcircuit,asignalmatchingcircuitandthedisplaycircuit.TheRespondercanaccommodatefourgroupsofeightplayerstoparticipatesimultaneouslyanswer,thesystemhasaclearfunctionandcountdownfunctions.Thecompilationandsimulationofthedesignprocess,anddownloadedtothedevelopmentsystemtodebugvalidation,thefinalcompletionResponderdesign.

Keywords:

EDA;FPGA;Responder

1绪论

1.1前言

抢答器在各种智力竞赛中经常被使用到,也有些电视节目利用抢答器来提高节目的可看性,调动观众的参与热情。

抢答器要求能准确判断和显示第一抢答信号并进行锁存,为了保证各种智力竞赛、比赛的准确性和公正性,对抢答器的研究有着其重要的意义。

1.2抢答器研究的背景与意义

现在计算机技术和电子技术正在高速发展,而集成电路的生产工艺也不断提高,这使得电子产品的更新换代越来越快。

其中以数字电路系统设计的电路规模更大,集成度更高,而且设计周期较短,灵活性也更强,面对不同的用户,能很方便地修改和迅速升级。

现在,EDA(电子设计自动化)技术的广泛应用使得电路的设计者能在开发平台上使用HDL或画电路原理图的方式设计电路,这大大提高了电路设计的效率。

因此,EDA技术已经成为现代电子设计工程师必须掌握的技术。

通过查阅资料,理论设计,软件编程、调试等过程,了解和掌握利用FPGA芯片设计一个系统的一般方法。

巩固和运用在电子技术基础等课程中所学理论知识,提高自己的自学能力和动手能力,为以后从事相关工作打下基础。

随着现代科学技术的迅猛发展和经济全球化的的加强,EDA技术愈发重要。

因此,研究基于FPGA的多路抢答器,有着非常现实的意义。

1.3抢答器的研究现状

抢答器一直广泛应用于各种知识或智力竞赛场合。

但目前所使用的抢答器实现方案主要有两种实现方案:

一种是用单片机,单片机具有实现起来比较灵活的特点,但是如果抢答组数太多,会存在I/O口不足的问题;另一种是利用小规模数字逻辑芯片和触发器来实现,这种方法虽然设计思路相对简单,但是电路可靠性比较低,而且实现起来也比较复杂。

随着电子技术和计算机技术的不断发展,EDA技术应运而生。

它的出现使电子系统的设计更加方便,同时使应用系统向着更小型化,更快速,重量更轻的方向发展。

它的出现很大程度上减轻了设计者的工作强度,并且提高了电子系统的设计效率。

1.4系统设计要求

本设计的主要任务是设计并实现基于FPGA的多路抢答器。

该抢答器可以容纳四组八位参赛者同时抢答,每位参赛者设置一个按键以供使用。

设置抢答使能信号,当此信号有效时,系统允许抢答。

设置倒计时信号,当它为高电平时,系统进行20秒倒计时,当它为低电平时,倒计时停止。

系统复位后,可以开始进行抢答并进行20秒倒计时,若有参赛者按下抢答开关,则抢答器能判断出第一抢答者并显示该组组号,同时使其他组参赛者的抢答按键无效。

若倒计时时间为0时还是无人抢答,则会报警。

系统具有清零复位功能。

当清零复位信号有效时,抢答器对前一轮抢答的结果进行清零,恢复为初始状态。

2抢答器总体设计方案

2.1系统总体方案设计

本设计主要实现判断第一抢答者,抢答倒计时和显示组号等功能。

按系统需要实现的功能要求,系统总体框图如图2.1所示:

图2.1系统总体设计框图

软件部分则通过QuartusII9.1软件,用VHDL语言来实现多路抢答器的主要功能。

2.2FPGA的简介

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在20世纪80年代中期发展起来的一种可编程器件[1]。

与PAL(ProgrammableArrayLogic,可编程阵列逻辑)、GAL(GenericArrayLogic,通用逻辑阵列)和CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)等器件相比,它具有最高的集成度,最丰富的特性和最高的性能。

FPGA中可以包含几万至几百万的LUT和触发器,所以它能实现的系统功能更强也更复杂。

FPGA的出现解决了以前那些可编程器件门电路数不足的缺点,同时它作为专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)领域中的一种半定制电路,还很好的解决了定制电路不足的问题。

通过开发设计,上至CPU,下至简单的门电路设计都可以使用FPGA来实现。

FPGA作为一种新型的高密度可编程逻辑器件,它采用互补金属氧化物半导体CMOS(ComplementaryMetalOxideSemiconductor)工艺制成,所以它的功耗很低。

FPGA掉电后数据就会消失,所以每一片FPGA芯片都需要配置一片EPROM芯片,只要将程序下载到EPROM中,上电后会自动加载到FPGA芯片中,所以,FPGA无需专门的FPGA编程器,使用通用的EPROM编程器就行。

当需要修改FPGA的功能时,只需更换一片EPROM即可,这样,FPGA芯片就能被反复使用,而且使用起来非常灵活。

2.2.1FPGA的结构与工作原理

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念[2],它主要由可编程逻辑模块CLB(ConfigurableLogicBlock)、可编程输入/输出模块IOB(InputOutputBlock)和可编程内部连线PI(ProgrammableInterconnect)这三部分组成。

可编程逻辑块CLB是FPGA实现用户功能的基本逻辑单元。

构成CLB的基础是逻辑单元LC(LogicCell),一个LC中包括4个输入LUT、进位及控制逻辑和一个D触发器。

可编程输入/输出模块IOB通常分布在器件的周围,是芯片与外界电路的接口部分,通过编程配置引脚功能为输入、输出或双向输入/输出功能,并为FPGA器件引脚与内部逻辑阵列之间提供连接资源。

可编程内部连线PI由可编程开关矩阵与各种长度的金属连线组成,可通过编程,将内部可编程逻辑块之间及可编程逻辑块与可编程输入/输出块之间相互连接起来,FPGA芯片内部有着丰富的布线资源,可以满足各种复杂系统的需要。

FPGA芯片的设计原理主要是采用查找表来实现逻辑函数。

在FPGA中,LUT和数据选择器的主要作用是实现组合逻辑功能,而触发器是实现时序逻辑功能的基本电路。

LUT的本质就是一个SRAM,用户在FPGA开发平台上采用原理图或硬件描述语言(HDL)来描述一个逻辑电路,然后通过FPGA芯片数据配置与调试接口将配置结果写入到SRAM中,这样,每输入一个信号进行逻辑运算就相当于输入一个地址进行查表,找出每个地址对应的内容,然后输出即可。

2.2.2FPGA的特点

FPGA的基本特点有以下几个方面:

(1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。

(2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

(3)FPGA内部有丰富的触发器和I/O引脚。

(4)FPGA是专用集成电路中设计周期最短、开发费用最低、风险最小的器件之一。

(5)FPGA采用高速CMOS工艺,实现了功耗低的要求,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

采用FPGA技术可以降低开发成本、缩短开发周期、简化设计文档管理、提高电子系统设计的自动化程度,设计者拥有完全的自主权,设计的系统具有良好的可移植性与可测试性,为系统开发提供可靠保证。

FPGA正是凭借这些众多优秀的特点,正迅速占领全球市场,从低成本产品的简单应用到复杂性的开发平台设计,都可以见到FPGA的身影。

2.3FPGA的开发流程

FPGA的开发流程是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。

通常,FPGA的设计方法有两种,包括自下向上设计和自上向下设计。

对于较大规模的设计一般采用自上向下设计,这种方法是先定义顶层模块,接着定义顶层模块所需的子模块,直至最底层的模块。

而自下向上设计是先分别设计底层模块,接着组成大的模块,最后完成顶层模块的设计。

本次多路抢答器系统采用的是自下向上设计方法。

FPGA的开发流程一般包括设计准备、设计输入、功能仿真、优化处理、时序仿真、器件编程和下载验证等步骤[3]。

图2.2为FPGA的开发流程图。

 

 

 

图2.2FPGA的开发流程图

1.设计准备

在使用FPGA芯片进行设计之前,需要根据任务要求确定设计方案,对设计方法和器件选择等进行准备,选择合适的设计方法和器件。

2.设计输入

设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给开发工具[4]。

最常用的方法有以下两种。

(1)原理图输入方式

这是FPGA设计的基本方法之一,几乎所有的设计环境都提供使用原理图输入方式。

这种输入方式是利用元器件库直接画出原理图。

这种方法直观、易用,但移植性较差。

(2)硬件描述语言设计输入方式

这种设计输入方式是大型或复杂设计工程中最常用的,现在最流行也是最常用的

HDL有VHDL和VerilogHDL两种。

这种输入方式通用性好,移植性强,同时语言的公开可利用性也便于大规模系统的设计,它还具有很强的逻辑描述和仿真功能,效率较高。

3.功能仿真

用户所设计的电路必须在编译之前逻辑功能验证,即功能仿真,也叫前仿真,此时的仿真是没有延时的,所以它仅是对初步的功能进行检测[5]。

4.优化处理

优化处理是FPGA开发设计中的核心环节。

在设计的优化处理过程中,编译器对设计输入文件进行逻辑化简、综合优化、并适当地用一片或多片器件自动进行适配,最后产生编程用的编程文件。

5.时序仿真

时序仿真也叫后仿真,它是在选择了具体器件并完成布局、布线后进行的时序关系仿真。

它不仅要保证逻辑上的正确,还要保证在加入了器件的物理时延特性下是正确的。

6.器件编程与下载验证

时序仿真之后,软件就可产生供器件编程使用的数据文件,然后可以下载到对应的FPGA器件内部进行实际测试,验证设计的正确性。

2.4关于VHDL

VHDL是一种硬件描述语言,它的全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,它起源于美国政府于1980年启动的超高速集成电路计划,1983年由美国国防部发起创建,后经美国电气和电子工程师协会进一步发展,目前,它已成为开发设计中使用最多的硬件描述语言之一,是电子工程领域中通用的硬件描述语言并广泛应用于电子设计领域。

与其他硬件描述语言相比,VHDL具有以下优点:

1.VHDL具有较强的行为描述能力

VHDL可用于从门级、电路级、系统级的描述,支持层次化设计[6]。

VHDL拥有丰富的数据类型,它支持标准定义的数据类型,同时也支持用户自定

义的数据类型,这样使用户使用起来带来方便,也使设计更为灵活。

2.VHDL的设计与具体器件无关

设计者在使用VHDL设计硬件电路时,并不需要首先确定设计采用哪种器件,也不需要特别熟悉器件的内部结构,这样可以使设计者能集中精力进行系统设计,当设计完成后再来考虑选择合适的器件。

3.VHDL具有很强的移植能力

由于VHDL是使用最多的硬件描述语言之一,各大EDA公司研制的FPGA开发工具都支持VHDL,这样VHDL可以在不同综合工具、模拟工具和开发平台之间互相移植。

4.VHDL具有丰富的仿真语句和库函数

VHDL使得在系统设计的过程中,能实时的对系统进行仿真,这样就能很方便的随时检验系统的功能可行性。

3抢答器的系统设计方案和主要模块设计

3.1系统具体方案设计

根据设计要求,该系统的总体电路如图3.1所示。

 

图3.1系统总体电路图

该系统主要由七个电路模块组成,分别为组别判断电路、分频电路、倒计时电路、抢答判别电路、扫描信号产生电路、数码管位信号与段信号匹配电路和译码显示电路。

其中,组别判断电路是对每一位参赛者的组号进行判断,抢答判别电路主要完成对最快抢答者的判断功能;倒计时电路对抢答进行20秒倒计时;分频电路是为了得到1Hz的时钟信号;扫描信号产生电路产生的扫描信号除了能作为多位数码管显示的位选信号外还能作为多位数码管显示相应位的段码扫描信号;数码管位信号与段信号匹配电路是将多位七段数码管相应位位信号和段信号进行匹配以正确显示组号和倒计时时间信号;译码显示电路则是显示抢答器的状态。

因此,电子抢答器的输入信号包括时钟信号CLK,复位信号CLR,抢答器使能信号EN,八个参赛者的抢答按钮A0、A1、B0、B1、C0、C1、D0、D1,报警信号M还有LED位信号和LED段信号。

抢答器的工作流程如下:

先将抢答使能信号EN和倒计时开关信号RST置于高电平,然后进行复位,此时参赛者可以开始进行抢答,同时倒计时数码管显示从19开始进行倒计时,A、B、C、D四组抢答者谁最先按下抢答按键,则该组抢答成功,该组所对应的显示灯被点亮,并通过译码显示电路模块显示其参赛编号Q[6..0],同时主持人将倒计时开关信号置于低电平,以免报警。

若倒计时结束时无人抢答,则系统报警。

如果复位信号CLR有效,则会清除上一轮抢答的结果,使电路恢复到初始状态,以便重新开始新一轮抢答。

3.2主要模块设计

该系统主要由组别判断模块、倒计时模块、抢答判别模块、数码管位信号与段信号匹配模块、扫描信号产生模块、译码显示模块和分频模块组成。

本设计使用VHDL语言编程。

3.2.1组别判断模块

组别判断模块的主要作用是对每一位参赛者的组号进行判断。

其模块符号如图3.2所示。

该模块输入信号有时钟信号CLK(1KHz)、四组按键A[1..0]、B[1..0]、C[1..0]、D[1..0],输出信号为每一组的抢答信号S0、S1、S2、S3。

图3.2组别判断模块的符号

3.2.2抢答判别模块

抢答判别模块具有第一抢答信号的鉴别和锁存功能,在进行锁存的同时,对抢答状态进行显示。

其模块符号如图3.3所示。

该模块的输入信号有四组的抢答信号、清零信号CLR、抢答使能信号EN,输出信号有各组抢答状态显示信号LEDA、LEDB、LEDC、LEDD和抢答成功组别编号信号Q[3..0]。

系统复位后,当使能信号EN为高电平时,系统根据选手按下抢答按钮的先后顺序选择最先抢答信号,其对应的抢答状态显示信号LEDA-LEDD输出高电平,抢答成功组别编号由信号Q[3...0]输出,并锁存抢答器此时的状态,使其他选手的抢答按键无效直到清零信号有效为止。

在每一轮抢答开始之前,都要使用复位清零信号CLR,使电路恢复初始状态。

图3.3抢答判别模块的符号

3.2.3倒计时模块

倒计时模块的主要作用是进行抢答倒计时。

系统复位后,当倒计时开关信号为高电平时,倒计时数码管从19开始以秒为单位进行倒计时,当有选手抢答时,主持人给出停止计时信号;如果倒计时结束后还无人抢答,倒计时模块会输出一个高电平使LED灯亮。

其模块符号如图3.4所示。

该模块的输入信号有时钟信号CLK(1Hz)、清零信号CLR、倒计时停止信号RST,输出信号有计时器高位信号TH[3..0]、计时器低位信号TL[3..0]、LED灯提示信号M。

图3.4倒计时模块的符号

3.2.4扫描信号产生模块

扫描信号产生模块的主要作用是产生扫描信号,它不仅能作为多位数码管显示的位选信号,还能作为数码管显示相应位的段码扫描信号。

其模块符号如图3.5所示。

该模块的输入信号为时钟信号CLK(1KHz),输出信号为产生的扫描信号Q[2..0]。

图3.5扫描信号产生模块的符号

3.2.5数码管位信号与段信号匹配模块

由于该系统需要显示一位选手编号和两位倒计时时间信号,要正确显示这些数据,需要对多位七段数码管相应显示位的位信号与段信号进行匹配。

其模块符号如图3.6所示。

该模块的输入信号有扫描信号SEL[2..0]、抢答选手编号的BCD码D3[3..0]、倒计时模块输出的时间信号的高位和低位的BCD码D1[3..0]和D2[3..0];输出信号为显示信号Q[3..0]。

图3.6数码管位信号与段信号匹配模块的符号

3.2.6译码显示模块

译码显示模块的实质是一个LED共阳极显示模块的译码器,其作用是将输入的BCD码转换成可供数码管直接显示用的七段码。

其模块符号如图3.7所示。

图3.7译码显示模块的符号

其中D[3..0]为输入的BCD码,Q[6..0]为输出的七段码,它将输入的BCD码译码显示为十进制数字的0~9。

其真值表如表3.1所示。

表3.1七段LED真值表

输入

输出

显示数字

D3D2D1D0

abcdefg

0000

0111111

0

0001

0000110

1

0010

1011011

2

0011

1001111

3

0100

1100110

4

0101

1101101

5

0110

1111101

6

0111

0000111

7

1000

1111111

8

1001

1101111

9

3.2.7分频模块

由于倒计时模块需要1Hz的时钟信号,而FPGA的时钟信号为50MHz,所以需要分频来得到1Hz的时钟信号。

其模块符号如图3.8所示。

图3.8分频模块的符号

4抢答器的程序设计与实现

4.1组别判断模块程序设计与仿真

组别判断模块程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYZBPDIS

PORT(CLK:

INSTD_LOGIC;

A,B,C,D:

INSTD_LOGIC_VECTOR(1DOWNTO0);

S0,S1,S2,S3:

OUTSTD_LOGIC

);

ENDZBPD;

ARCHITECTUREABVOFZBPDIS

BEGIN

PROCESS(CLK)

BEGIN

IF(CLK'EVENTANDCLK='1')THEN

S0<=A(0)ANDA

(1);

S1<=B(0)ANDB

(1);

S2<=C(0)ANDC

(1);

S3<=D(0)ANDD

(1);

ENDIF;

ENDPROCESS;

ENDABV;

其波形仿真如图4.1所示。

图4.1组别判断模块的仿真波形图

抢答信号为低电平有效。

图中只有当同组的两个参赛者都输出高电平时,该组的输出信号才为高电平。

4.2抢答判别模块程序设计与仿真

抢答判别模块的程序流程图如图4.2所示。

 

图4.2抢答判别模块的程序流程图

抢答判别模块的程序如下所示。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYQDPBIS

PORT(CLR:

INSTD_LOGIC;

EN:

INSTD_LOGIC;

A,B,C,D:

INSTD_LOGIC;

LEDA:

OUTSTD_LOGIC;

LEDB:

OUTSTD_LOGIC;

LEDC:

OUTSTD_LOG

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

当前位置:首页 > 工程科技 > 能源化工

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

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