10311班四路抢答器设计方案1_第1页
10311班四路抢答器设计方案1_第2页
10311班四路抢答器设计方案1_第3页
10311班四路抢答器设计方案1_第4页
10311班四路抢答器设计方案1_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1学习智力竞赛抢答器电路的工作原理。2学习综合数字电子电路的设计、实现和调试方法。二、实验内容和要求(1)抢答器可容纳四组选手,并为每组选手设置一个按钮供抢答者使用;为主持人设置一个控制按钮,用来控制系统清零(组别显示数码管灭灯)和抢答开始。 (2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。 (3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答无效提

2、示,主持人可以按复位键,开始新一轮的抢答。 (4)抢答器具有限时抢答的功能,且一次抢答的时间由主持人设定,本抢答时间设定为30秒。当主持人启动开始键后,要求计时器采用倒计时,同时倒计时到0秒时扬声器会发出声响提示。 (5)参赛选手在设定的时间内抢答,则抢答有效,定时器停止工作,根据抢答结果由数码管显示选手的组别,并一直保持到主持人将系统清零为止。设计方案二本项目也可以用EDA技术来实现其功能。在芯片选型方面可以考虑选择CPLD芯片作为微控制器。EDA自顶向下的设计方法比较先进;实验室有齐全的开发套件;组员们均系统学习过EDA基础课程,都有VHDL编程和实验经验,团队之间交流将会比较方便;芯片容

3、量大,处理速度极快,管脚数目多达84个,IO口数目充足,适合本设计的规模。缺点在于设备相对昂贵,使用不当容易烧毁微处理器。三、设计思路可将整个系统分为三个主要模块:抢答鉴别模块QDJB;抢答计时模块JSQ;抢答计分模块JFQ。整个系统的组成框图如图5-5-8所示。CLRABCD抢答鉴别电路ALEDBLEDCLEDDLED组别显示译码电路组别显示计分电路SCOREASCOREBSCORECSCOREDADD计时电路LOADL1L0CLKEN计时显示译码电路JSXS1JSXS0图-1 智力竞赛抢答器系统框图四、电路设计选手抢答按键主持人控制计分器抢答控制器定时器倒计时器声提示显示时间图-21电路设

4、计指标I本抢答器最多可提供4名参赛选手使用,编号为14号,各队分别用一个按钮(S1S4)控制,并设置一个系统清零和抢答控制开关S5,该开关由主持人控制。II抢答器具有数据锁存功能,并将锁存数据用发光二极管指示灯显示出来,同时蜂鸣器发出间歇式声响,主持人清零后,声音提示停止。III.抢答先后的分辨率为1ms。IV.开关S5作为清零及抢答控制开关(有主持人控制),当开关S5被按下时,抢答电路清零,松开后则允许抢答,输入抢答信号由抢答按钮的S1S4实现。V.有抢答信号输入时,有数码管显示出相应组别的号码。此时再按其他任何一个抢答开关均无效,指示灯依旧保持第一个开关按下时所对应的状态不变。VI.能完成

5、由主持人控制的30秒倒计时,有抢答信号输入后计时器停止。VII能完成定时器复位,启动,暂停/继续计数。VIII能完成对每个选手抢答次数的记录,并可复位。2仿真电路组成(1)四路抢答器原理见图-3图-3该电路由四个D触发器、与非门及脉冲触发电路等组成。其中S1,S2,S3、S4为抢答人按钮,S5为主持人复位。74LS175为四D触发器。无人抢答时,S1S4均未被按下,1D4D均为低电平,在555定时器电路产生时钟脉冲作用下,1Q立即变为高电平,对应指示灯X1发光,同时数码管显示为1,将555定时脉冲封锁,此时送给74ls175的CLK端不再有脉冲信号,所以74LS175输出不再变化,其他抢答者再

6、按下按钮也不起作用,从而实现了抢答。若要清除,则由主持人按S5按钮完成,并为下一次抢答做好准备。(2)定时器实现秒脉冲发生器由555定时器和外接元件R1、R2、C构成多谐振荡器。F=1Hz定时器电路见图-4图-4计数器由两片74LS192同步十进制计数器构成利用错位输出端BO于下一级DOWN相连30循环设置为,十位片DCBA=0011 个位片DCBA=0000译码及显示电路有译码驱动器74LS48和7段数码管组成控制电路与非门U20A和U21A组成RS触发器,实现计数器复位、计数和保持30电路如图-5所示图-5(3)计数电路计数器由74LS192构成置数输入端接地,up端接选手输入信号,当有信

7、号输入是加一,load端接电源和复位开关用于复位,down加开关控制计数器的减法, 电路如图-6图-7(4)完整电路见图-8图-8VHDL的程序设计1、抢答鉴别模块VHDL源程序(QDJB.VHD)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS PORT (CLR: IN STD_LOGIC; A, B, C, D: IN STD_LOGIC; A1, B1, C1, D1: OUT STD_LOGIC; G: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END QDJB; ARCHITECTURE

8、ART OF QDJB IS CONSTANT W1: STD_LOGIC_VECTOR:="0001" CONSTANT W2: STD_LOGIC_VECTOR:="0010" CONSTANT W3: STD_LOGIC_VECTOR:="0100" CONSTANT W4: STD_LOGIC_VECTOR:="1000"BEGINPROCESS (CLR, A, B, C, D) VARIABLE LOCK : STD_LOGIC; BEGIN IF (CLR='1') THEN G<

9、;="0000"LOCK:='1'A1<='1' B1<='1' C1<='1' D1<='1' ELSIF (LOCK='1') THEN IF(A='1'AND B='0'AND C='0'AND D='0') THEN A1<='0' B1<='1' C1<='1' D1<='1' G<=W1;

10、LOCK:='0' ELSIF (A='0'AND B='1'AND C='0'AND D='0') THEN A1<='1' B1<='0' C1<='1' D1<='1' G<=W2;LOCK:='0' ELSIF (A='0'AND B='0'AND C='1'AND D='0') THEN A1<='1' B1 &

11、lt;='1' C1<='0' D1<='1' G<=W3;LOCK:='0' ELSIF (A='0'AND B='0'AND C='0'AND D='1') THEN A1<='1' B1 <='1' C1<='1' D1<='0' G<=W4;LOCK:='0' END IF; END IF; END PROCESS; END ART;

12、2、抢答计时模块VHDL源程序(JSQ.VHD)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ IS PORT (CLR, LDN, EN, CLK: IN STD_LOGIC; TA, TB: IN STD_LOGIC; FLAG: IN STD_LOGIC;BELL: OUT STD_LOGIC; QA: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); QB: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END JSQ

13、; ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL DB: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL GWYUZHI: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL SWYUZHI: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL N:INTEGERRANGE 0 TO 10; BEGIN PROCESS (CLK,LDN,EN,CLR,TA,TB,FLAG) VARIABLE TMPA: STD_L

14、OGIC_VECTOR (3 DOWNTO 0); VARIABLE TMPB: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE STAY,FINISH: STD_LOGIC; -倒计时停止标志 BEGIN IF CLR='1' THEN TMPA:="1001" TMPB:="1001" SWYUZHI<="0000" GWYUZHI<="0000"DA<="1001" DB<="1001" ELSIF

15、 CLK'EVENT AND CLK='1' THEN IF LDN='1' THEN IF TA='1' THEN GWYUZHI<=GWYUZHI+"0001" ;BELL<='0' IF GWYUZHI="1010" THEN GWYUZHI<="0000" END IF; END IF; IF TB='1' THEN SWYUZHI<=SWYUZHI+"0001"BELL<='0&#

16、39; IF SWYUZHI="1010" THEN SWYUZHI<="0000" END IF; END IF; TMPA:=GWYUZHI;TMPB:=SWYUZHI;BELL<='0'STAY:='0' ELSIF EN='1' AND STAY='0' THEN IF FLAG='1' THEN TMPA:="0000"TMPB:="0000" END IF; IF TMPA="0000" TH

17、EN TMPA:="1001" IF TMPB="0000" THEN STAY:='1'FINISH:='1'N<=N+1; IF SWYUZHI="0000" THEN TMPB:="1001"BELL<='1' ELSE TMPB:=SWYUZHI;TMPA:=GWYUZHI;BELL<='1' END IF; ELSE TMPB:=TMPB-"0001"BELL<='0' END IF

18、; ELSE TMPA:=TMPA-"0001" BELL<='0' END IF; ELSIF STAY='1' AND FINISH='1' THEN N<=N+1; IF N=4 THEN BELL<='0'N<=0;FINISH:='0' END IF; ELSIF EN='0' THEN STAY:='0' END IF; END IF; QA<=TMPA; QB<=TMPB; END PROCESS; END ART

19、;3、译码器VHDL源程序(YMQ.VHD)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS PORT (AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT7: OUT STD_LOGIC_VECTOR (6 DOWNTO 0); END YMQ; ARCHITECTURE ART OF YMQ ISBEGIN PROCESS (AIN4) BEGIN CASE AIN4 IS WHEN "0000"=>

20、DOUT7<="1000000" -0 WHEN "0001"=>DOUT7<="1111001" -1 WHEN "0010"=>DOUT7<="0100100" -2 WHEN "0011"=>DOUT7<="1111001" -3 WHEN "0100"=>DOUT7<="0110000" -4 WHEN "0101"=>DOUT7

21、<="0011001" -5 WHEN "0110"=>DOUT7<="0000010" -6 WHEN "0111"=>DOUT7<="1111000" -7 WHEN "1000"=>DOUT7<="0000000" -8 WHEN "1001"=>DOUT7<="0010000" -9 WHEN OTHERS=>DOUT7<="1111

22、111" END CASE; END PROCESS; END ART;4、报警器VHDL源程序(BELL.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BELL ISPORT(CLK:IN STD_LOGIC; SPEAK:OUT STD_LOGIC; CHOS: IN STD_LOGIC_VECTOR (3 DOWNTO 0); END BELL;ARCHITECTURE BEHAVE OF BELL IS SIGNAL N:INTEGERRANGE 0 TO

23、 20; SIGNAL SAVE: STD_LOGIC;BEGINPROCESS(CLK,CHOS)BEGIN IF CHOS="0000" THEN N<=0; SAVE<='0' ELSIF CLK'EVENT AND CLK='1' THEN IF N<5 THEN CASE CHOS IS WHEN "1000" => SAVE<='1'N<=N+1; WHEN "0100" => SAVE<='1'N<

24、;=N+1; WHEN "0010" => SAVE<='1'N<=N+1; WHEN "0001" => SAVE<='1'N<=N+1; WHEN OTHERS => NULL; END CASE; ELSE SAVE<='0' END IF; END IF;SPEAK<=SAVE;END PROCESS;END BEHAVE;1 绪 论 EDA技术的发展人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高

25、、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是EDA技术。EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,但是面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集

26、体化设计黄精,改变传统的设计思路,将精力集中到设计构想、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷版设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。1.2EDA技术的设计优势传统的设计方法采用自底向上的设计方法,一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试,由于无法进行硬件系统功能仿真

27、,如果某一过程存在错误,查找和修改十分不便,所以这是一种费时、费力的设计方法,而现代电子设计技术(EDA)是自顶向下且先进高效的。在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势。所以本次设计的抢答器抛弃了传统的设计方法,选择了采用主流的EDA技术进行设计。1.3智能抢答器的市场现状智力竞赛是“快乐学习”这一教育模式的典范,它采用在规定的一段时间内抢答和必答等方式,在给人们的生活带来乐趣的同时,也使参与者和观众在愉悦的氛围中学到一些科学知识和生活知识,因此很受大家的喜欢。但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题

28、时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。智能竞赛抢答器是一种应用十分广泛的设备,在各种竞赛、抢答场合中,它都能客观、迅速地判断出最先获得发言权的选手。早期的抢答器只是由三个三极管、可控硅、发光管等器件组成的,能通过发光管的指示辨认出选手号码。现在大多数智能抢答器都是由单片机或数字集成电路构成的,并且新增了许多功能,如选手号码显示,抢按前或抢按后的计时,选手得分显示等功能。双击上一行的“1”“2”试试,J(本行不会被打印,请自行删除)2方案设计与论证抢答器系统设计要求一般来说,设计一台智能抢答器,必须能

29、够准确判断出第一位抢答者,并且通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者,并设置一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果评出最终赢家。所以我们在设计智能抢答器的模块需要满足鉴别、计时、数显、报警等功能,具体设计要求如下: (1)抢答器可容纳四组选手,并为每组选手设置一个按钮供抢答者使用;为主持人设置一个控制按钮,用来控制系统清零(组别显示数码管灭灯)和抢答开始。 (2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并

30、在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。 (3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答无效提示,主持人可以按复位键,开始新一轮的抢答。 (4)抢答器具有限时抢答的功能,且一次抢答的时间由主持人设定,本抢答时间设定为99秒。当主持人启动开始键后,要求计时器采用倒计时,同时倒计时到0秒时扬声器会发出声响提示。 (5)参赛选手在设定的时间内抢答,则抢答有效,定时器停止工作,根据抢答结果由数码管显示选手的组别,并一直保持到主持人将系统清零为止。2.2 方案论证与选择 方案一我们的第一种方案是考虑用“单片机”来实现其功能。在芯片选型方面可

31、以考虑选择手头就有的STC89C52单片机作为控制器。STC89C52单片机的优点在于其价格便宜,购买方便;我们组员均有C语言基础,可使用C语言编程,移植性较好。缺点在于其系统设计方法为传统设计方法,相对落后;芯片引脚数量仅有40个,容量小,通用IO口少,不适合本设计规模,处理速度慢;个别组员没有该芯片的使用经验,预计团队之间交流思想不太方便。 方案二本项目也可以用EDA技术来实现其功能。在芯片选型方面可以考虑选择CPLD芯片作为微控制器。EDA自顶向下的设计方法比较先进;实验室有齐全的开发套件;组员们均系统学习过EDA基础课程,都有VHDL编程和实验经验,团队之间交流将会比较方便;芯片容量大

32、,处理速度极快,管脚数目多达84个,IO口数目充足,适合本设计的规模。缺点在于设备相对昂贵,使用不当容易烧毁微处理器。 方案的选择我们在比较了两种方案的优缺点基础上,结合自身实际情况,认为方案二更适合于抢答器的设计,因此我们采用方案二。2.3系统总体设计思想本设计为四路智能抢答器,所以这种抢答器要求有四路不同组别的抢答输入信号,并能识别最先抢答的信号,抢答器共有三个输出显示,选手代号、计数器的个位和十位,它们输出全部为BCD码输出,这样便于和显示译码器连接。当主持人按下控制键、选手按下抢答键或倒计时到时蜂鸣器短暂响起。对回答问题所用的时间进行计时、显示、超时报警、预置答题时间,同时该系统还应有

33、复位、倒计时启动功能。依据系统的设计要求可知,系统的输入信号有:四组的抢答按钮A、B、C、D。系统清零信号QDJB,系统时钟信号CLK,计分复位端JFRST,计时预置数控制端LDN,计时使能端EN,计时预置数调整按钮TA、TB。系统的输入信号有:四个组抢答成功与否的指示控制信号输出口LEDA,LEDB,LEDC,LEDD,四组抢答时的计时控制显示信号若干,抢答成功组别显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计时功能;组别显示功能;蜂鸣器提示功能。根据以上的分析我们可以将本设计的整个系统分为四个模块:抢答鉴别模块QDJB;抢答计时模块JSQ;数码显示模块YMQ

34、;报警模块BELL。对于需要显示的信息,需要增加或外接译码器,进行显示译码。抢答开始时主持人按下抢答复位键(QDRST),系统进入抢答状态,计时模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余三路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时。计时至0时,停止计时,扬声器发出超时报警信号,以中止未回答完问题。当主持人给出倒计时停止信号时,扬声器停止鸣叫。整

35、个系统的组成框图如下图:抢答鉴别电路模块A B C D RST CLK组别显示电路模块计时电路模块声响控制电路模块数码管显示电路模块蜂鸣器模块图2-1系统的总体框图3 单元模块电路的设计和实现根据对抢答器的功能要求,把要设计的系统划分为四个功能模块:抢答信号鉴别模块、计时模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路。抢答鉴别模块的设计与实现 设计原理本模块主要是对参与抢答的四组谁先抢答做出判断,将抢答成功者的组别号进行显示,同时,与选手对应的LED灯会亮起,蜂鸣器发出2-3秒鸣叫,表明抢答成功。用A、B、C、D分别代表参赛的四组,A1、B1

36、、C1、D1则代表与之对应的各组的抢答按钮显示端,系统清零信号CLR,组别显示端G3.0,则抢答鉴别模块的元件图如下图所示:图3-1 鉴别模块元件框图抢答开始后,当有小组按下抢答键,抢答信号判定电路QDJB通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示和计时会保存到主持人对系统进行清零操作时为止。A、B、C、D四组抢答从理论上来说,应该有16种可能情况,但是由于时钟信号的频率很高而且是在时钟信号上升沿的状况下才做出的鉴别,所以在这里四组同时抢答成功的可能性非常小,因此可以只设计四种情况,即A、B、C、D分别为0001、0010、0

37、100、1000,这样使电路的设计得以简化。3.1.2 功能仿真利用MAX+plusII进行编译,综合,仿真,时序图如图3-1所示:图3-1 抢答鉴别模块仿真时序图如仿真图所示,当CLR=1时系统复位,使组别显示信号G=0000,各组的指示灯信号A1=0,B1=0,C1=0,D1=0;当CLR=0,即低电平有效,使其进入抢答鉴别状态,到CLK的上升沿到来时,以D组抢答成功为例,当输入信号为A=0,B=0,C=0,D=1,输出信号G=1000,D1=1,即为鉴别出D组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。同理其他组别抢答成功也是这样的鉴别过程。通过分析,仿真完全符合预期所要达到的结果

38、。3.2 计时模块的设计与实现 设计原理在计时模块的设计中设置了固定和可调的两个时间,固定时间为99秒,可调时间通过预置键SET来调节,计数时两个数码管QA,QB显示剩余时间,分别表示两位倒计时的个位和十位。当抢答鉴别模块成功判别出最先按下抢答按钮的参赛组后,在成功鉴别出哪组最先抢答后,主持人按下计时信号,则进入计时状态。计时模块开始工作从规定值开始以秒计时,计时至0秒时停止,此时蜂鸣器发出报警信号,提醒答题已终止。该系统输入信号有:系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统时钟信号CLK,计时预置数据调整按钮TA、TB。系统输出信号有:倒计时输出端QA3.0、QB3.0、

39、蜂鸣器BELL。则计时模块的元件图如下图所示:图3-2计时模块的元件图 计时模块的仿真利用MAX+plusII进行编译,综合,仿真,时序图如图3-3所示:图3-3 计时器模块仿真时序图如仿真图所示,当计时复位信号CLR=1时,模块输出信号QA=0000 ,QB=0000。当预置数控制信号LDN=1可通过TA来调整QA,TA来一次高电平,则QA的数值就加1;用TB来调整QB,通过这两个调整信号可调整参赛者答题所需要的时间。在CLR=0,LDN=0,EN=1时,通过时钟信号CLK的上升沿来进行99秒到计时。通过分析,仿真完全符合预期所要达到的结果。3.3 译码显示模块的设计与实现设计原理译码器的设

40、计主要任务是显示组别和时间的工作状态,其主要原理是四位二进制BCD编码转换成七段二进制数字输出在数码管上,使观众能够更直观的看到比赛进程。译码显示模块的元件图如下图所示:图3-4 译码显示模块的元件图译码器的译码对照表3-1如下所示:表3-1 译码器的译码对照表显示的数字/字母BCD编码七段共阳数码管2进制000001000000100011111001200100100100300110110000401000011001501010010010601100000010701111111000810000000000910010010000XXXXX1111111在程序中只考虑0000-10

41、01(即0-9)的情况,将其转化为相应的七段显示器的码字,其他情况不予考虑。功能仿真译码器的设计主要任务是将组别和时间的工作状态,翻译成3个信号数码管的工作状态。译码器的输入是由16进制数显示的。利用MAX+plusII进行编译,综合,仿真,时序图如图3-5所示:图3-5 译码器模块仿真时序图如仿真图所示,AIN4为数字0-9时,DOUT7输出对应于译码对照表,AIN4为数字10-15时,DOUT7输出1111111,通过分析,仿真完全符合预期所要达到的结果。3.4 报警模块的设计与实现设计原理报警器的设计主要是来提醒观众倒计时的开始和结束,哪位选手进行了抢答,在这几种情况下蜂鸣器会发出2-3

42、秒的鸣叫,便于更好的判别比赛的情况。此模块和抢答鉴别模块、计时模块、蜂鸣器相连,用以实现其功能。则报警模块的元件图如下图所示:图3-6 报警模块的元件图该系统输入信号有系统时钟信号CLK,组别输入信号CHOS,输出信号SPEAK,用以连接蜂鸣器来进行报警。功能仿真利用MAX+plusII进行编译,综合,仿真,时序图如图3-7所示:图3-7 报警器模块仿真时序图如仿真图所示,当CHOS=0001即A组抢答时,蜂鸣器SPEAK=1进行2-3秒的鸣叫,通过分析,仿真完全符合预期所要达到的结果。3.5抢答器系统的设计与实现 总体设计原理本设计通过元器件图示连线的方法来实现,这种连线方法思路清晰可见,而

43、且用的时候很简单方便,出现错误也很好检查,又由于本设计连线比较繁多复杂,所以采用总线模式连线,这样大大较少了由于连线带来的失误,便于很明了的看出各个模块之间的连接。以下为总体原理图:图3-8 顶层元件图本设计中,抢答器组别信号A、B、C、D为高电平时,其功能为有效状态。同样,系统清零信号CLR、预置及倒计时控制信号LDN,亦为高电平有效。当CLR有效时,抢答信号判别电路清零,为判别优先抢答信号做出准备。当计时使能端EN为低电平,预置时间设置信号LDN=1时,通过计时预置数据调整按钮TA、TB进行预置数。当计时使能端EN为高电平,有系统时钟信号CLK时,进行99秒倒计时。输入时钟CLK一方面作为

44、扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器时钟,为使扬声器音调较为悦耳,且是抢答判别电路有较高的准确度(对信号判别的最大误差是一个时钟周期),CLK信号频率高低应适中,可取500Hz-1KHz;同时CLK信号经过分频后向倒计时电路提供信号。功能仿真利用MAX+plusII进行编译,综合,仿真,时序图如图3-9所示:图3-9 总体仿真时序图如图3-9所示,当CLR有效时,抢答信号判别电路清零,为判别优先抢答信号做出准备。当计时使能端EN为低电平,预置时间设置信号LDN=1时,通过计时预置数据调整按钮TA、TB进行预置数。当计时使能端EN为高电平,有系统时钟信号CLK时,进行9

45、9秒倒计时。输入时钟CLK一方面作为扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器时钟,为使扬声器音调较为悦耳,且是抢答判别电路有较高的准确度,CLK信号频率高低应适中,可取500Hz-1KHz;同时CLK信号经过分频后向倒计时电路提供信号。通过分析,仿真完全符合预期所要达到的结果。4硬件的测试和装调 程序的下载在对总体原理图进行编译、综合,仿真后,经过检查排除仿真图中存在的问题,并确保功能符合预期设计目的后,即可将其下载到EDA试验开发板的CPLD芯片 EPM7128SLC84-15芯片来测试抢答器的系统功能,下载完成截图如下:图4-1 程序下载完成图4.2系统安装与测试程序

46、的最终显示结果验证了设计思路的正确性,为了进一步从视觉上来观察实验现象,还需将设计编程下载到选定的目标器件中做进一步的硬件测试,以便最终了解设计的正确性。本次课程设计下载的目标器件为MAX7000S EPM7128SLC84-15。将各个模块按原理图方式连接在一块,构成一个完整的数字竞赛抢答器原理图模块结构。测试时,首先将指拨开关全部拨到低电平,按下“QDRET”键,观察数码管,启动状态时选手编号、倒计时都显示0。然后拨动指拨开关“JSRET”, 启动99秒定时抢答,此时计时数码管上显示“99”,蜂鸣器发出鸣叫。再拨动指拨开关“EN”,99秒倒计时开始。在倒计时过程中拨动指拨开关PLAYER1

47、,组别显示数码管上显示“1”,计分数码管由之前的倒计时回归到“00”,与此同时,与1号选手对应的LED灯闪了一下,并且蜂鸣器发出了2-3秒的鸣叫,说明1号选手抢答成功。如果拨动其他组对应的指拨开关PLAYER2、 PLAYER3数码管上显示数据不变,说明抢答电路已锁。本轮抢答结束后,按下“QDRET”键,数码管上显示都为0,然后按照步骤1依次往下,开始进行下一轮抢答。如果99秒倒计时过程中无人按下抢答键,则在倒计时为“00”时蜂鸣器发出鸣叫,表明本轮过程无人抢答。结 论按照任务要求,我们设计出的抢答器具备抢答鉴别、倒计时、数码管显示、报警提示等多种功能。本抢答器能够准确判断出第一位抢答者,并且

48、通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者。根据不同比赛的需要,主持人可以预设一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果评出最终赢家。设计制作过程中遇到的问题及解决方案:1. VHDL语法使用不规范:当我们编写软件程序的时,遇到了编译错误。细心阅读max+plus2错误提示和所编写的程序后发现是因为VHDL语法使用错误。最后经过翻阅EDA课本,熟悉相关语法后将其改正。2. 抢答器项目设计规模过大,与现有CPLD芯片不匹配:按照我们最初的设计方案来设计的话,抢答器还可以实现计分功能。但是当我们编写好程序后,一经编译就会出现工程与器件无法适配的问题。查找原因后发现

49、是因为数码管显示分数功能占用芯片引脚过多,芯片无法匹配。最终我们去掉了计分功能,从而适配成功。3. 引脚锁定不完整,最终编译无法通过: 处理了之前出现的几个问题后,在最后编译时未通过。细致查看了错误提示,发现是个别管脚未锁定的原因。我们最终把各个管脚锁定号码一一检查了一遍,从而通过了编译。本设计有以下几个可以改进的地方:1.预使本抢答器具有计分功能,可以使用引脚更多的CPLD芯片,即使用更多的数码管来实时显示每个抢答选手的得分情况。2. 现有的声响提示模块发出的提示声音比较单调,不能满足现在的抢答比赛要求。通过适当添加几种语音芯片,就可以让蜂鸣器在不同的情况下发出美妙的声响,能为比赛增添不少乐

50、趣。3.在现有设计基础上使用无线电或红外技术,还可以使本项目升级为无线智能抢答器。致 谢在本次课程设计中经过各位同学的帮助和我的负责老师郑老师的耐心指导和热情帮助,以及图书馆大量的资料和学校提供的必要器材下才顺利完成的。从课题的选择到项目的最终完成,郑老师都始终给予我细心的指导和不懈的支持,以及我们组员的共同努力。同时实验室的开放也为同学们设计提供了实习场地。在此对侯宝生老师,郑争兵老师示忠心的感谢,对系上为我们提供这次机会表示感谢,这些不仅让我学到了很多知识,锻炼了自身的操作能力,更为以后的学习工作打下了良好的基础。参考文献1潘松,黄继业. EDA技术实用教程.第二版.M.北京:科学出版社,

51、2005.2龚尚福.微机原理与接口技术.第二版. M 西安:西安电子科技大学出版社,2008.3边计年,薛宏熙. 用VHDL设计电子线路. 清华大学出版社,20004 李伟英,谢完成.基于EDA技术的抢答器的设计与实现【J】.科学技术与实现, 2008.8(11).5谭会生,瞿遂存.EDA技术综合应用实例与分析【M】.西安:西安电子科技大学出版社, 2004.6 VHDL程序设计7 基于CPLD的无线遥控抢答器设计附 录附录A 各单元模块VHDL源程序1、抢答鉴别模块VHDL源程序(QDJB.VHD)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTI

52、TY QDJB IS PORT (CLR: IN STD_LOGIC; A, B, C, D: IN STD_LOGIC; A1, B1, C1, D1: OUT STD_LOGIC; G: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END QDJB; ARCHITECTURE ART OF QDJB IS CONSTANT W1: STD_LOGIC_VECTOR:="0001" CONSTANT W2: STD_LOGIC_VECTOR:="0010" CONSTANT W3: STD_LOGIC_VECTOR:=&quo

53、t;0100" CONSTANT W4: STD_LOGIC_VECTOR:="1000"BEGINPROCESS (CLR, A, B, C, D) VARIABLE LOCK : STD_LOGIC; BEGIN IF (CLR='1') THEN G<="0000"LOCK:='1'A1<='1' B1<='1' C1<='1' D1<='1' ELSIF (LOCK='1') THEN IF(A=

54、'1'AND B='0'AND C='0'AND D='0') THEN A1<='0' B1<='1' C1<='1' D1<='1' G<=W1;LOCK:='0' ELSIF (A='0'AND B='1'AND C='0'AND D='0') THEN A1<='1' B1<='0' C1<='

55、1' D1<='1' G<=W2;LOCK:='0' ELSIF (A='0'AND B='0'AND C='1'AND D='0') THEN A1<='1' B1 <='1' C1<='0' D1<='1' G<=W3;LOCK:='0' ELSIF (A='0'AND B='0'AND C='0'AND D='

56、1') THEN A1<='1' B1 <='1' C1<='1' D1<='0' G<=W4;LOCK:='0' END IF; END IF; END PROCESS; END ART;2、抢答计时模块VHDL源程序(JSQ.VHD)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ IS PORT (CLR, LDN, EN, CLK: IN STD_

57、LOGIC; TA, TB: IN STD_LOGIC; FLAG: IN STD_LOGIC;BELL: OUT STD_LOGIC; QA: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); QB: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END JSQ; ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL DB: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL GWYUZHI: STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL SWYUZHI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论