您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于FPGA八路电子抢答器设计(1)
基于FPGA八路电子抢答器设计学生:吴知龙学号:12021104班级:12电科二班学院:电子工程与电气自动化日期:2014.12.14基于FPGA八路电子抢答器设计摘要:本文基于八路电子抢答器基本原理,充分利用Altera公司的FPGA芯片CycloneⅡEP2C5T144在软件Max+plusII10.0和硬件实验箱(ZY11EDA13BE)的平台上完成了八路电子抢答器的设计。设计中充分对八路电子抢答器每个模块的特点进行了分析和优化,节省系统资源。设计完成时在实验箱平台进行验证,对8个输入抢答信号进行锁存,并且无法进行下一次抢答,将抢答信号输出,用数码管进行显示等。关键词:抢答器现场可编程逻辑门阵列Abstrsct:Inthispaper,basedonthebasicprincipleofeight-channelelectronicbuzzer,makefulluseoftheCycloneFPGAchipofAlteracompanyⅡEP2C5T144inMax+plusII10.0softwareandhardwareexperimentbox(ZY11EDA13BE)platformscompletedeight-waydigitalviestoanswerfirstdevicedesign.Fullytoeight-wayelectronicbuzzerinthedesignofthecharacteristicsofeachmoduleareanalyzedandoptimized,savesystemresources.Designisfinishedinexperimentboxplatformforvalidation,to8viestoanswerfirstinputsignalislatched,andcouldnotbenexttimeviestoanswerfirst,viestoanswerfirstsignaloutput,usingdigitaltubedisplay,etc.Keyworld:responderFPGA1引言1.1EDA概述20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。1.2VHDL概述VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体分成外部和内部,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。2设计要求八路电子抢答器是为竞赛抢答而设计的一种优先判决器,竞赛者可以分为若干组,抢答时各组对主持人提出的问题做出判断,并按下抢答按键回答问题,我们称之为抢答器。抢答器应用非常广泛,可以涉及很多方面,例如,通信方面,可以对多种信号进行优先判决,从而做出相应的工作,并且其他信号不予干扰。航空航天方面,可以对多路信号进行锁存和判决,从而达到应用的效果。本文所设计的八路电子抢答器,是利用Altera公司的FPGA芯片CycloneⅡEP2C5T144在软件Max+plusII10.0和硬件实验箱(ZY11EDA13BE)的平台,满足对8个抢答信号的其中一个进行锁存,再通过数码管进行显示相应数字。由主持人进行复位清零,再进行下一轮抢答。该控制器由抢答器、编码器、译码器、8位的与门四部分组成。3设计方案3.1抢答器原理抢答器由8个发射信号器、1个接收器、一个控制器组成,可用于8组或8组以下的智力竞赛中。设计一个八路抢答器,用VHDL编写程序,能够使8个人同时进行抢答类型的游戏,可同时共8名选手或8个组同时参加比赛,他们编号分别为1,2,3,4,5,6,7,8各用一个抢答器按钮,按钮的编号和选手编号相对应,依次为a0,a1,a2,a3,a4,a5,a6,a7。比赛前,将参赛组从1至8编号,每组发给对应的一个发射器。将接收器放于各组中央或前方。主持人按一下控制器(该键用于启动抢答和每次抢答后器件清零的作用)后,抢答开始。此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出蜂鸣声,提示抢答已有结果并结束抢答。以后,按下任何一路抢答键均不起反映。只有主持人再次按动启动键后,才能进行下一次抢答。该控制器由抢答器、编码器、译码器、8位的与门四部分组成。根据功能要求,须设计有抢答电路、编码电路、译码电路、主持人控制电路,各个电路都有其自己的功能。通过复位按键RST,电路进入就绪状态,等待抢答。然后再由主持人发布抢答命令进入抢答状态。在电路中“1-8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后输出抢答者号码的七段码值,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。当要进行下一次的抢答时,由主持人先按一下复位按键RST,电路复位,进入下一次抢答的就绪状态。该电路的组成如图3.1.1:按钮低电平有效1组2组3组4组5组6组7组8组抢答器提示音(蜂鸣器)输出(7段译码器)复位图3.1.1电路组成基于上述原理,这里给出八路抢答器系统工作原理框图(图3.1.2):开关锁存器编码器译码器蜂鸣器解锁器数码管图3.1.2工作原理图3.2模块分析(1)抢答输入开关电路该电路由8个开关按键组成,每一个选手与一个开关对应。开关为常开型,即当按下开关时,开关自动的弹开断开,此时输入抢答信号自动变为高电平;当按下抢答开关时,开关闭合,输入抢答信号为低电平。(2)锁存器当只要有一个且为任意一个抢答输入信号产生时,触发器电路被触发,在输出端产生相应的开关电平信息,同时为避免之后的抢答开关按钮也按下产生错乱,最先产生的输出电平变化又反馈回来将触发器锁定住,并保持输出的电平信息。这样就避免了抢答先后发生紊乱不清楚的现象发生。(3)编码器编码器的作用是将开关信息转化为8421BCD码,以提供数字显示电路所需要的编码输入,低电平有效。将数字1-8进行编码,转化为8421BCD码。(4)译码器译码器的作用是将编码器输出的8421BCD码转化为数码管需要的逻辑状态,译码器由七段共阴二极管组成,高位在左,低位在右,如当输入译码器的信号为“1101101”时,数码管的七个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1,接有高电平的段亮,于是数码管显示为“5”。(5)解锁器当触发锁存电路被锁存后,若要进行下一轮的重新抢答,则需要将锁存器解锁,可通过强迫是复位控制置为1,使锁存处于等待锁存状态,以准备进行下一轮的抢答。(6)数码显示器与喇叭数码显示管有发光的共阴二极管(LED)数码管,数码管显示相应的数字1-8,喇叭为高电平触发,通过RST复位键控制,RST复位键按下,喇叭触发。3.3系统整体构架图3.3.1系统整体构架如图3.3.1所示为抢答器的系统框图,可以看到G[0]~G[7]为8组选手的输入抢答按钮,RST为复位控制信号,B[1]~B[8]是传输到编码器的中间信号,并由译码器输出对应的数码管编号。该系统描述的功能是当所有开关输入信号G[0]~G[7]均未按下,锁存器输出全为高电平,经过8个输入的与门反馈信号仍为高点平,该信号作为锁存器时能端控制信号即en,使锁存器出浴等待接收触发输入状态;当任一开关输入信号G[0]~G[7]中的任一开关按下时,输出信号中必然会有一路为低电平,则反馈信号发生与门后变成低电平,时能信号EN也为成为低电平后,EN传给锁存器则立即使锁存器接受到的开关被封锁,这时其他抢答者信息的输入将被封锁,不能再传输到锁存器中。由此可见,触发锁存器电路具有时序电路的特征,是实现抢答器功能的关键所在。RST为复位控制信号,也是低电平有效,当主持人复位后即提示抢答开始时,编码器的B[1..8]全为高电平,反馈时能信号与门为高电平,是锁存器处于等待抢答输入信号的状态。输入的信号一旦锁定后,译码器的B[3..0]信号的输入到7段译码器中,7段译码器含有7段共阴极二极管,对输入的LED[0]~LED[7]进行验证,led数码管对应显示出最先抢答者的编号,并且蜂鸣器发出响声。3.4各子模块的设计与仿真(1)锁存器模块与仿真波形1锁存器VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsuocunqiISPORT(A1,A2,A3,A4,A5,A6,A7,A8:INSTD_LOGIC;B1,B2,B3,B4,B5,B6,B7,B8:OUTSTD_LOGIC;EN,RST:INSTD_LOGIC);ENDsuocunqi;ARCHITECTUREONEOFsuocunqiISBEGINPROCESS(EN,RST,A1,A2,A3,A4,A5,A6,A7,A8)BEGINIFRST='0'THENB1='1';B2='1';B3='1';B4='1';B5='1';B6='1';B7='1';B8='1';ELSIFEN='1'THENB1=A1;B2=A2;B3=A3;B4=A4;B5=A5;B6=A6;B7=A7;B8=A8;ENDIF;ENDPROCESS;ENDONE;2锁存器波形仿真图图3.4.1锁存器仿真图锁存器波形分析:从波形图3.4.1可以得出当复位信号RST复位后即为高电平时,抢答开始,当一旦有抢答输入信号时。使能信号EN立即变为低电平,即锁存发生,此时再有抢答信号输入已经不发生作用。如图抢答开始,最先抢答的是A1,此时蜂鸣器LA变为高电平响起,时能EN置为0,锁存开始,之后的抢答无用了,在之后的RST=1那段,输出B=01111111,同理第二个RST=1段是B=10111111.3锁存器的封装模块图图3.4.2锁存器封装模块(2)编码器模块与仿真波形1编码器VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYbianmaqiISPORT(A1,A2,A3,A4,A5,A6,A7,A8:INSTD_LOGIC;B:OUTINTEGERRANGE1TO8);ENDbianmaqi;ARCHITECTUREABCOFbianmaqiISS
本文标题:基于FPGA八路电子抢答器设计(1)
链接地址:https://www.777doc.com/doc-7275455 .html