1、抢答器终结版 河南机电高等专科学校可编程逻辑器件原理与应用课程设计报告8路抢答器设计专业班级: 医电131 姓 名: 徐长伟 学 号: 130411116 时 间: 2015年6月 成 绩: 基于VHDL语言的8路抢答器设计摘要 : 本课程设计分为主体电路和扩展电路两部分共同实现抢答器的锁存、显示与报警功能。在本次设计中,系统开发平台为MAX plus,硬件描述语言是VHDL。竞赛者可以分为8组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示该组的号码,对应的灯亮,同时电路将其他各组按键封锁,使其不起作用。若抢答时间内无人抢
2、答,则报警灯亮。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。并且依据设计方案和设计平台完成了程序编写和程序调试,通过运行程序及时序波形的仿真有效验证了设计的正确性,初步实现了设计目标。关键词 锁存、显示;抢答器;MAX plus ;VHDL。目录1 引 言 11.1 课程设计目的 11.2 课程设计具体要求及功能 12 EDA及MAX plus 简介 22.1 EDA简介 22.2 MAX plus 简介 23设计方案 33.1 八路抢答器控制系统的设计思路 33.2 抢答器的系统结构及工作原理 33.3 具体实现 54 系统仿真 154.1 顶层模块及管脚介绍 154.2 仿真
3、结果分析 16参考文献 16附录 171 引 言随着科学技术的不断发展,促使人们学科学、学技术、学知识的手段多种多样。抢答器作为一种工具,已广泛应用于各种竞赛场合。本课程设计以8路抢答器为理念,实现优先抢答、判决、锁存及数码管显示等功能。在本次计中,系统开发平台为MAX plus2 。MAX plus是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。Max plus界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Max plus上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,
4、是设计者能方便地进行设计输入、快速处理和器件编程。在本次设计中,采用的硬件描述语言是VHDL1(Very-High-Speed Integrated Circuit Hardware Description Language)。VHDL语言是一种用于电路设计的高级语言。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。1.1 课程设计目的学习ALTERA公司的FPGA/CPLD的结构、特点和性能。学习集成开发软件MAX plus II/Quartus II的使用及设计过程。熟悉EDA工具
5、设计数字电路设计方法,掌握VHDL硬件描述语言设计方法。根据给定题目设计数字电路,来加深对可编程逻辑器件的理解和掌握。1.2 课程设计具体要求及功能在所选择器件内完成八路抢答器的设计,要求设计完成后芯片具有抢答器的全部功能、包括显示和操作接口。抢答器要求有八路抢答输入,抢答逻辑设计合理(具有抢答锁定),抢答编号显示,抢答成功指示,抢答完成后状态复位。在相应的器件平台上完成设计的输入、编译、综合或适配通过。8路抢答器控制系统是娱乐活动中经常使用的重要基础设备之一,根据抢答要求,系统所需实现的功能如下:(1) 主持人按键清零,数码显示0,蜂鸣器不叫,进入抢答状态。(2) 主持人发出开始命令,8人开
6、始抢答。其中一人先按下抢答键,蜂鸣器发出鸣叫,数码显示该人号码,其他人再按键,系统不再响应,直至主持人按键清零,下一次抢答开始。2 EDA及MAX plus 简介2.1 EDA简介EDA(Electronics Design Automation)技术是随着集成电路和计算机技术的飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。它是为解决自动控制系统设计而提出的。EDA在通信行业(电信)里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成
7、设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计进行八路抢答器的系统,大量工作可以通过计算机完成,并可以将抢答器从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教
8、学部门广泛使用。2.2 MAX plus 简介Max plus是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。Max plus界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Max plus上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。Max plus的编译器还提供了强大的逻辑综合与优化功能,使用户比较容易地将设计集成到器件中。设计输入MAX plus II软件的设计输入方式有多种,主要包括原理图输入方式、文本输入方式、波
9、形设计输入方式、层次设计输入方式和底层设计输入方式。因此,设计人员可以根据自己的实际情况灵活选择使用。设计编译MAX plus II编译一个设计时,Compiler在设计文件中读取信息并产生编程文件和仿真文件,Message Processor(信息处理程序)可自动定位错误。设计校验设计校验过程包括设计仿真和定时分析,仿真起的作用是测试逻辑操作和设计功能的完备性;Timing Analyzer(定时分析程序)可分析设计的定时和延时情况。器件编程 MAX plus II Programmer是使用Compiler生成的编程文件对Altera器件进行编程的。它可以用来对器件编程、校验和试验,是对设
10、计功能进行的测试。Altera公司器件的编程方法有许多种,可根据具体情况选择使用。编译生成的配置文件经计算机并行通信口接到Altera专用编程电缆上,再接到器件的编程接口6,利用应用软件提供的编程软件,Programmer即可对器件进行配置。这种方法的优点是配置方便、迅速,便于修改。MAX plus2在Windows 2000/XP上一旦安装完毕,经过设置即可使用硬件下载功能。在Windows 2000上除了安装软件外,为了使用ByteBlaster(MV)下载功能,还必须安装硬件驱动(Drivers)以支持MAX plus2对PC机并行口的操作。3设计方案3.1 八路抢答器控制系统的设计思路
11、抢答器同时供8名选手或8个代表队比赛,分别用8个按钮a1a8。设置一个系统清除和抢答控制开关Reset, 该开关由主持人控制。抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,数码显示选手号码。其他人再按键,系统进行了优先锁存,不再响应,优先抢答选手的编号一直保持到主持人将系统清除为止,下一次抢答开始。扩展功能:该电路具有犯规报警功能。当主持人未按下开关开始抢答前,参赛选手若按下开关,则抢答系统发出蜂鸣声报警并显示犯规组别。3.2 抢答器的系统结构及工作原理(1)系统结构:如图3.1所示为抢答器的结构框图,它由主体电路和扩展电路两部分组成。主体电路完成基本的抢答功能
12、,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。扩展电路完成检测数码管工作情况。其工作原理为:接通电源后,主持人将开关拨到清除状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置于开始状态,宣布开始抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。图3.1 抢答器结构框图(2)工作流程:抢答器的基本工作原理:在抢答竞赛或呼叫时,有多个信号同时
13、或不同时送入主电路中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器开始工作,记录有关时间并产生超时信号。在整个抢答器工作过程中,显示电路、语音电路等还要根据现场的实际情况向外电路输出相应信号。抢答器的工作流程分为、系统复位、正常流程、犯规流程等几部分。3.3 具体实现(1)抢答器的电路设计1、抢答器电路总体结构:如图3-2所示为总体方框图。接通电源后,后台工作人员将检测开关S置“检测”状态,数码管图3-2 为总体方框图 在正常清除下,显示“”;当后台工作人员将检测开关S置“抢答”状态,主持按系统清除按键,抢答器处于禁止状态,编号显示器灭灯;主持人松开,宣布“开始”,抢答器工
14、作。选手按动抢答按键,抢答器完成:优先判断、编号锁存、编号显示。当一轮抢答之后,优先抢答选手的编号一直保持到主持人将系统清除为止。如果再次抢答必须由主持人再次按动系统清除按键。 图3.3 抢答器总体方框图2、优先判断与编号锁存电路:其电路如图3.4所示。电路选用优先编码器 74LS148 和锁存器 74LS279 来完成。该电路主要完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号;二是禁止其他选手按键,其按键操作无效。工作过程:系统清除按键按动时,74LS279的四个RS触发器的置0端均为0,使四个触发器均被置0。1Q为0,使74LS148的使能端 =0,74LS148处于允许编
15、码状态,同时1Q为0,使74LS48的灭灯输入端 =0,数码管无显示。这时抢答器处于准备抢答状态。当系统清除按键松开时,抢答器处于等待状态。当有选手将按键开关按下时,抢答器将接受并显示抢答结果,假设按下的是S4,则74LS148的编码输出为011,此代码送入74LS279锁存后,使4Q3Q2Q=100,亦即74LS148的输入为0100;又74LS148的优先编码标志输出 为0,使1Q=1,即 =1,74LS148处于译码状态,译码的结果显示为“4”。同时1Q=1,使74LS148的 =1,74LS148处于禁止状态,从而封锁了其他按键的输入。此外,当优先抢答者的按键松开再按下时,由于仍为1Q
16、=1,使 =1,74LS148仍处于禁止状态,确保不会接受二次按键时的输入信号,保证了抢答者的优先性。(74LS148为8线3线优先编码器,图3.5为74LS148和74LS279的引脚图和真值表。)图3.4 74LS148为8线3线优先编码器InputsOutputsHHLNot sure 图3.5 74LS148和74LS279的引脚图和真值表(2) 抢答器的单元电路设计简易逻辑数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出
17、实现计时功能,构成扩展电路。现简单介绍抢答器设计中的抢答电路、定时电路、报警电路、时序控制电路、显示及译码电路。1、抢答电路:参考电路如图3.6所示。该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。工作过程:开关S置于“清除”端时,RS触发器的端均为,4个触发器输出置,使74LS148的,使之处于工作状态。当开关S置于“开始”时,抢答器处经RS锁存后,1Q=1,=1,74LS48处于工作状态,4Q3Q2Q=101,经译码显示为“5”。此外,1Q,使74LS148,处于禁止状态,封锁其他按键的输入。当按键松开即按下时,
18、74LS148的此时由于仍为1Q,使,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。如有再次抢答需由主持人将开关重新置于“清除”然后再进行下一轮抢答。(LS148为线线优先编码器。)图3.6 抢答电路2、定时电路:由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。可预置时间的电路选用十进制同步加减计数器74LS192进行设计,具体电路如图3.7所示。本设计是以555构成震荡电路,由74LS192来充当计数器,构成抢答器的倒计时电路。该电路简单,无需用到晶振,芯片都是市场上容易购得的。
19、设计功能完善,能实现直接清零、启动。图3.7 定时电路3、报警电路:由555定时器和三极管构成的报警电路如图3.8所示。其中555构成多谐振荡器,振荡频率fo143(RI2R2)C,其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。图3.8 报警电路4、时序控制电路:时序控制电路是抢答器设计的关键,它要完成以下三项功能:(a) 主持人将控制开关拨到开始位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。(b) 当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。(c) 当设定的抢答时间到,无人抢答时,扬声器发声,同时抢答电路和定
20、时电路停止工作。根据上面的功能要求,设计的时序控制电路如图 3.9所示。图中,门G1 的作用是控制时钟信号CP的放行与禁止,门G2的作用是控制74LS148的输人使能端 。图4-3的工作原理是:主持人控制开关从清除位置拨到开始位置时,来自于图4-1中的74LS279的输出 1Q=0,经G3反相, A1,则时钟信号CP能够加到74LS192的CPD时钟输入端,定时电路进行递减计时。同时,在定时时间未到时,则定时到信号为1,门G2的输出=0,使 74LS148处于正常工作状态,从而实现功能的要求。当选手在定时时间内按动抢答键时,1Q1,经 G3反相, A0,封锁 CP信号,定时器处于保持工作状态;
21、同时,门G2的输出=1,74LS148处于禁止工作状态,从而实现功能的要求。当定时时间到时,则定时到信号为0,=1,74LS148处于禁止工作状态,禁止选手进行抢答。同时, 门G1处于关门状态,封锁 CP信号,使定时电路保持00状态不变,从而实现功能的要求。集成单稳触发器74LS121用于控制报警电路及发声的时间。图3.9 时序控制电路5、显示与译码电路:七段显示译码器与数码管如下图3.10 7段显示译码所示,74LS48将锁存器74LS279的信号译码,输出给数码管。当后台工作人员将S置于GND, =0,使灯测试输入端(图中3号)=1,这时测试数码管工作情况;当后台工作人员将S置于Vcc,
22、=1,使灯测试输入端(图中3号)=1,这时正常译码。(74LS48为4线七段译码器/驱动器,下图3.11为逻辑图)图3.10 7段显示译码器与数码管图3.11 74LS48逻辑图(3) 基于VHDL的实体设计:1、程序设计编码程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY change ISPORT(q1,q2,q3,q4,q5,q6,q7,q8: IN STD_LOGIC; clr : IN STD_LOGIC; m: OUT STD_LOGIC_vector(3 downto 0); en: OUT STD_LOGIC);END cha
23、nge;ARCHITECTURE a OF change ISBEGINprocess(q1,q2,q3,q4,q5,q6,q7,q8,clr)variable temp:STD_LOGIC_vector(7 downto 0);begintemp:=q1&q2&q3&q4&q5&q6&q7&q8;case temp iswhen01111111=mmmmmmmmm=1111;end case;en = temp(7) AND temp(6) AND temp(5) AND temp(4) AND temp(3) AND temp(2) AND temp(1) AND temp(0) AND
24、clr;end process;END a;锁存程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY lock ISPORT(s1: IN STD_LOGIC;s2: IN STD_LOGIC; s3: IN STD_LOGIC;s4: IN STD_LOGIC;s5: IN STD_LOGIC;s6: IN STD_LOGIC;s7: IN STD_LOGIC;s8: IN STD_LOGIC;clr: IN STD_LOGIC; q1,q2,q3,q4,q5,q6,q7,q8:
25、OUT STD_LOGIC);END lock;ARCHITECTURE a OF lock ISBEGINprocess(s1,s2,s3,s4,s5,s6,s7,s8,clr)beginif(clr =0) thenq1=1;q2=1;q3=1;q4=1;q5=1;q6=1;q7=1;q8=1;elseq1=s1;q2=s2;q3=s3;q4=s4;q5=s5;q6=s6;q7=s7;q8=s8;end if;end process;END a;抢答成功扬声器发声相关程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic
26、_unsigned.ALL;ENTITY cnt ISPORT(clk,en: in STD_LOGIC; sound1:out STD_LOGIC);END cnt;ARCHITECTURE a OF cnt IS BEGINprocess(en,clk)beginif(clkevent and clk=1) then if(en=1) then sound1=1; else sound1 BCD BCD BCD BCD BCD BCD BCD BCD BCD BCD BCD =00000000;END CASE;END PROCESS; END a;2、编译管脚设置:程序输入完成后然后选择
27、用于编程的目标芯片:选择菜单 “Assign”“Device”, 窗口中的 Device Family 是器件序列栏, 先在此栏中选择 MAX7000S。然后选择 EMP7128SLC84- 15 器件, 按 OK,就可以进行编译了,经“MAX+PLUSE II”中的“Compiler”菜单编译,以验证设计结果是否符合要求,如果有问题,则返回原设计文件再次进行修改, 直到正确为止。图3.20 编码管脚编译无误后经“MAX+PLUSE II”中的“FLOORPLAN EDITOR” 菜单,进行输入、输出管脚设置,将元件端口放置到 EPM7128SLC84- 15芯片适当的I/O 口,并用手工调整
28、按上图所示设置。4 系统仿真4.1 顶层模块及管脚介绍编译成功后进行仿真。首先建立波形文件。波形文件建好 并存盘后。选择菜单“Max plusII”“simulator”,启动仿真操作,结束后观察仿真波形如图4.2所示。从仿真波形看, 符合设计要求(对应的管脚图和仿真图如下)。图4.1 顶层文件管脚图图4.2 顶层仿真波形图s1,s2,s3,s4,s5,s6,s7,s8输入q1,q2,q3,q4,q5,q6,q7,q8锁存输出M编码输出和BCD显示输入clk时钟控制信号clr 0,清零 1为开始抢答en抢答成功BCD数码管显示输出4.2 仿真结果分析抢答必须发声在一个时钟周期里且保证clr=1时才有效,而对应数码显示管模块可得知,若当“s1”抢答则数码管为00111111对应显示“06”,s1抢答成功且扬声器发声,抢答完成,其他号码抢答同理。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1