欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于VHDL的智力竞赛抢答器完全设计.doc

    • 资源ID:3980021       资源大小:766.50KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)基于VHDL的智力竞赛抢答器完全设计.doc

    1 引 言当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。因此,我们制作了这款简易抢答器摒弃了成本高,体积大,而且操作复杂。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。而且在显示时抢答器会发出叮咚声使效果更为生动。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。1.1智能竞赛抢答器概述智力竞赛是“快乐学习”这一教育模式的典范,它采用在规定的一段时间内抢答和必答等方式,在给人们的生活带来乐趣的同时,也使参与者和观众在愉悦的氛围中学到一些科学知识和生活知识,因此很受大家的喜欢。智力抢答器在智力竞赛中起到很重要的角色,能够准确、公正、直观地判断出首轮抢答者,并且通过抢答器的数码显示和警示蜂鸣等方式指示出首轮抢答者。1.2 EDA技术及优势EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、医学、军事等各个领域,都有EDA的应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。【2】传统的设计方法采用自底向上的设计方法,一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试,由于无法进行硬件系统功能仿真,如果某一过程存在错误,查找和修改十分不便,所以这是一种费时、费力的设计方法,而现代电子设计技术(EDA)是自顶向下且先进高效的。在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势。所以本次设计的抢答器抛弃了传统的设计方法,选择了采用主流的EDA技术进行设计。2 整体方案设计2.1系统设计要求一般来说,设计一台智能抢答器,必须能够准确判断出第一位抢答者,并且通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者,并设置一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果实行增减分的操作,并将分数显示在屏幕上,评出最终赢家。所以我们在设计智能抢答器的模块需要满足鉴别、计时、计分、数显等功能,具体设计要求如下: (1)抢答器可容纳四组选手,并为每组选手设置一个按钮供抢答者使用;为主持人设置一个控制按钮,用来控制系统清零(组别显示数码管灭灯)和抢答开始; (2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。 (3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败提示,主持人可以按复位键,开始新一轮的抢答。 (4)抢答器具有限时抢答的功能,且一次抢答的时间由主持人设定,本抢答时间设定为60秒。当主持人启动开始键后,要求计时器采用倒计时,同时最后十秒扬声器会发出声响提示; (5)参赛选手在设定的时间内抢答,则抢答有效,定时器停止工作,主持人根据抢答结果给出分数,并由数码管显示选手的组别、抢答分数,并一直保持到主持人将系统清零为止。【5】2.2系统设计方案本设计为四路智能抢答器,所以这种抢答器要求有四路不同组别的抢答输入信号,并能识别最先抢答的信号,直观地通过数显和蜂鸣等方式显示出组别;对回答问题所用的时间进行计时、显示、超时报警、预置答题时间,同时该系统还应有复位、倒计时启动功能。抢答过程:主持人按下系统复位键(RST),系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余三路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。计时至0时,停止计时,扬声器发出超时报警信号,以中止未回答完问题。当主持人给出倒计时停止信号时,扬声器停止鸣叫。若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。主持人按下复位键,即RST为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。此抢答器的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块连接起来。【3】系统的总体框图如下: 图2-1系统的总体框图3 子模块的设计思想和实现根据对抢答器的功能要求,把要设计的系统划分为五个功能模块:抢答信号鉴别模块、计时模块、计分模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路和计分显示电路。计时模块、计分模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路和计分显示电路。【2】3.1 抢答鉴别模块抢答鉴别模块用来准确直观地判断A、B、C、D四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。 抢答鉴别模块的元件图如下图所示: 图3-1 鉴别模块元件框图 引脚作用:输入信号:各组的抢答按钮分别是a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,系统清零信号clr。输出信号: 各组的抢答按钮显示端b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,组别显示端states10.0。原理:第一个按下键的小组,抢答信号判定电路通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示、计时和计分会保存到主持人对系统进行清零操作时为止。当clr=1时系统复位,使组别显示信号state=00000000000,各组的指示灯信号a0=0,a1=0,a2=0,a3=0 ,a4=0, a5=0, a6=0, a7=0, a8=0, a9=0;当INI=0,即低电平有效,使其进入抢答鉴别状态,到CLK的上升沿到来时,以A组抢答成功为例,当输入信号为a0=1 ,a1=0,a2=0,a3=0 ,a4=0, a5=0, a6=0, a7=0, a8=0, a9=0;,输出信号states=00000000001,b1=1,即为鉴别出a0组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。同理其他组别抢答成功也是这样的鉴别过程。其用VHDL语言进行编程的程序如下所示: 图3-2 抢答鉴别模块的流程图3.2 计时模块当抢答鉴别模块成功判别出最先按下抢答按钮的参赛组后,在成功鉴别出哪组最先抢答后,主持人按下计时信号,则进入计时状态。计时模块可分作两部分:(1)预置数;(2)60秒倒计时。60秒时间用两个数码管QA,QB显示,其中QA表示60秒的个位,QB表示60秒的十位。计时模块开始工作从预置初始值开始以秒计时,计时至0秒时停止,时间耗尽时,扬声器会发出超时报警信号,以中止答题。 图3-3 计时模块的元件图该系统输入信号有:系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统时钟信号CLK,计时预置数据调整按钮TA、TB。系统输出信号有:倒计时输出端QA3.0、QB3.0。当清零信号CLR=1时,模块输出信号QA=0000 ,QB=0000。当预置数控制信号LDN=1可通过TA来调整QA,TA来一次高电平,则QA的数值就加1;用TB来调整QB,通过这两个调整信号可调整参赛者答题所需要的时间。在CLR=0,LDN=0,EN=1时,通过时钟信号CLK的上升沿来进行60秒到计时。【1】其用VHDL语言进行编程的流程图如下: 开始LDN=0CLR=0LDN=1CLK上升沿EN=1TA=1TA=0QA<=QA+1QB<=QB=1图3-4 抢答计时模块的流程图3.3 计分模块 计分模块的运行方式是按照十进制进行加减,即当时钟出现上升沿时就进行加一或者减一的操作。 记分模块为哪组进行记分取决于鉴别模块的输入信号G,当G=1000时表示A组最先抢答,则在此模块中为A组记分,当G=0100时表示B组最先抢答,则在此模块中为B组记分,当G=0010时表示C组最先抢答,则在此模块中为C组记分,当G=0001时表示D组最先抢答,则在此模块中为D组记分。 以A组为例来说明此模块的设计,当复位信号RST=1时,系统复位且A组的分值显示初始值,为100分。当RST=0时,如果该组选手答题正确,则主持人按下加分键,即ADD=1,此时对该组进行加分操作;如果该组选手答题错误,则主持人按下减分键,即SUB=1,此时对该组进行减分操作。计分模块的元件图如下图所示: 图3-5 计分模块的元件图 系统的输入信号有:计分复位端RST,加分按钮端ADD,减分按钮端SUB,组别号输入端CHOS3.0。系统的输出信号有:A组分数输出端AA23.0、AA13.0、AA03.0,B组分数输出端BB23.0、BB13.0、BB03.0,C组分数输出端CC23.0、CC13.0、CC03.0,D组分数输出端DD23.0、DD13.0、DD03.0。 计分模块用VHDL语言进行编程的流程图如下: 图3-6计分模块的设计状态图注:在设计中减法的实现是以加法运算来实现的。也以A为例,由于每次减分都是减去10分,即每次为POINTS_A1减一,所以可以用POINTS_A1+ "1111"来实现。如:0111-0001=0110,用加法实现:0111+1111=10110。由于POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0),所以POINTS_A1=0110。3.4 译码显示模块该模块实际上是一个译码器,译码器是组合逻辑电路的一个重要的器件,其可以分为:变量译码和显示译码两类。变量译码一般是一种较少输入变为较多输出的器件,一般分为2n译码和8421BCD码译码两类。 显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动LED和驱动LCD两类。译码是编码的逆过程。图3-7 译码显示模块的元件图主要原理是四位二进制BCD编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。译码器的译码对照表如下所示:显示的数字/字母BCD编码七段数码管2进制000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111XXXXX0000000表3-1 译码器的译码对照表备注 :在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码子,其他情况不予考虑。43.5 抢答器的系统实现单独模块只有彼此联系起来构成一个完整的系统,才能实现其功能,这个过程有两种实现方法:元件例化。也是用编程的方式将它们各个程序、信号、输入输出之间的关系用VHDL语言来叙述清楚,还关系到程序的调用问题,需要设计者思路清晰,设计合理;元器件图示连线。这种连线方法思路清晰可见,而且用的时候很简单方便,出现错误也很好检查。在设计中选择的是这种方法。通过总的顶层元件图可以很清晰的看到模块连接的原理。图3-8 顶层元件图 注:本设计中,抢答器组别信号A、B、C、D为高电平时,其功能为有效状态。同样,系统清零信号CLR、预置及倒计时控制信号LDN,亦为高电平有效。当CLR有效时,抢答信号判别电路清零,为判别优先抢答信号做出准备。当计时使能端EN为低电平,预置时间设置信号LDN=1时,通过计时预置数据调整按钮TA、TB进行预置数。当计时使能端EN为高电平,有系统时钟信号CLK时,进行一分钟倒计时。输入时钟CLK一方面作为扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器时钟,为使扬声器音调较为悦耳,且是抢答判别电路有较高的准确度(对信号判别的最大误差是一个时钟周期),CLK信号频率高低应适中,可取500Hz-1KHz;同时CLK信号经过分频后向倒计时电路提供信号。附表:输入/输出引脚的作用:端口名功能CLK系统时钟信号A,B,C,D抢答信号输入CLR系统清零EN计时使能信号RST记分复位CHOS(3.0)组别信号输入DOUT7(6.0)译码管输出信号G (3.0)组别显示LDN计时预置控制信号AIN4(3.0)译码管输入 表3-2 输入/输出引脚的作用4 智能抢答器子模块的仿真验证4.1鉴别模块的仿真验证 利用MAX+plusII进行编译,综合,仿真,时序图如下: 图4-1鉴别模块的仿真时序图引脚作用: 系统输入信号:各组的抢答按钮A、B、C、D,系统清零信号CLR,CLK时钟信号。 系统的输出信号: 各组的抢答按钮显示端A1、B1、C1、D1,组别显示端控制信号G3.0。仿真分析:当鉴别模块的清零信号CLR为高电平时,无论A、B、C、D四组参赛者谁按下抢答按钮,系统输出均为零,同时组别显示端G输出信号也显示为零;当清零信号CLR为低电平时,A、B、C、D四组参赛者谁先按下抢答按钮,组别显示端就显示该组别的号码。假如C组按下抢答按钮时,组别输出为0010,同时C组的显示灯被点亮。仿真图上显示的为A先抢答,因为在0-1.28微秒之间A、C虽然都按抢答键,但CLR为有效状态,所以在此时间段内的抢答无效。4.2计时模块的仿真验证利用MAX+plusII进行编译,综合,仿真,时序图如下: 图4-2 计时模块的仿真时序图引脚作用: 系统输入信号:系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统时钟信号CLK,计时预置数据调整按钮TA、TB。系统输出信号:倒计时输出端QA3.0、QB3.0。 仿真分析:当系统清零信号CLR=1时,计时器的时钟信号回到计时预置倒计时起始状态,此时倒计时输出端QA=0000,QB=0000.当计时使能端EN=0,计时预置控制端LDN=1时,通过计时预置数据调整按钮TA、TB进行预制数,并且通过TA,TB来调整QA,QB即当TA=1时,则QA的数值加1,当TB=1时,则QB的数值也加1。当计时使能端EN=1,系统清零信号CLR=0,并且计时预置控制端LDN=0时,通过时钟信号上升沿CLK来进行60秒倒计时。4.3计分模块的仿真验证 利用MAX+plusII进行编译,综合,仿真,时序图如下: 图4-3 计分模块的仿真时序图引脚作用: 系统的输入信号有:计分复位端RST,加分按钮端ADD,减分按钮端SUB,组别号输入端CHOS3.0。 系统的输出信号有:A组分数输出端AA23.0、AA13.0、AA03.0,B组分数输出端BB23.0、BB13.0、BB03.0,C组分数输出端CC23.0、CC13.0、CC03.0,D组分数输出端DD23.0、DD13.0、DD03.0。仿真分析:首先应该清楚,在计分器电路的设计中,按十进制进行加减分操作的,当出现时钟信号上升沿CLK就可以完成对参赛者加减分操作。智能抢答器记分模块的仿真时以加分操作为例。由仿真图3-10可知以下情况:(1)系统设计过程中,当计分复位端RST=1时,并且组别输入信号CHOS=0000,其中的组别输入信号是抢答鉴别模块的输出信号,计分器复位,此时以上四组都不会产生加减分操作。(2)然而当计分复位端RST=0时,此时计分器可以计分。当CHOS=0001时,组别显示为A组,此时主持人利用计分器对A组进行加减分操作;当CHOS=0010时,组别显示为B组,此时主持人则利用计分器对B组进行加减分操作;当CHOS=0100时,组别显示为C组,此时系统对C组进行加减分操作;当CHOS=1000时,组别显示为D组,此时对D组进行加减分操作。由仿真图可知,当主持人按下系统复位键RST键时,使分数复位,每位设置的初始分数为100分。当CHOS=1000时,即D抢答成功时,加分键ADD输入四个脉冲,DD1加到4,说明加分成功,成绩变为140分。其他抢答者抢答成功后的加分操作与此相同。减分的仿真与此类似,因为是以加法实现,本质与加分相同,当计分复位端RST=0时,可以计分。由仿真图可知,初始成绩均为100分。当CHOS=1000时,即D抢答成功时,减分键SUB输入四个脉冲,DD1加到4,说明减分成功,成绩变为60分。其他抢答者抢答成功后的减分操作与此相同。4.4数显模块的仿真验证 利用MAX+plusII进行编译,综合,仿真,时序图如下: 图4-4数显模块的仿真时序图引脚作用: 输入信号:AIN4; 输出信号:DOUT7。仿真分析: 当AIN4= "0000" , DOUT7输出"1111110",此时数码管显示0; 当AIN4= "0001" , DOUT7输出"0110000",此时数码管显示1; 当AIN4= "0010" , DOUT7输出"1101101",此时数码管显示2; 当AIN4= "0011" , DOUT7输出"1111001",此时数码管显示3; 当AIN4= "0100" , DOUT7输出"0110011",此时数码管显示4; 当AIN4= "0101" , DOUT7输出"1011011",此时数码管显示5; 当AIN4= "0110" , DOUT7输出"1011111",此时数码管显示6; 当AIN4= "0111" , DOUT7输出"1110000",此时数码管显示7; 当AIN4= "1000" , DOUT7输出"1111111",此时数码管显示8; 当AIN4= "1001" , DOUT7输出"1111011",此时数码管显示9;4.5系统整体的仿真验证图4-5系统整体的仿真时序图注:为使仿真波形图清晰明了,且某些引脚在一定时间内总是保持同一值不变,故特将其简化,不予在此图中显示。5 总结5.1 此次抢答器设计结果通过Max+Plus的仿真,证明了本产品在实际运用中的正确性,完全可以实现预期任务的要求,在有一组信号抢答成功后其他几组信号同时抢答时视抢答无效。且计分器在实现计分功能时能够准确计数并将分数呈三位数显示,计时器在按下计时开始按钮通过译码器显示计时结果。5.2 对该设计的建议1.在抢答鉴别模块中,抢答成功后各组台号灯具有记忆功能,这一点会造成即使下一轮抢答没有抢答成功者(即有两人或两人以上同时按下抢答器),之前被点亮的led灯会仍然保持点亮状态。2.在计时器模块内应增加计时报警功能,但是由于对vhdl语言运用不够熟练,在设计该项程序时遇到很多问题,进程之间不能很好的协调,故最终没有实现这一功能;3. 在波形仿真时,当信号之间配合不当时有可能造成预期的结果不能在波形上得到正确显示,故应协调各个开关的功能及其有效时间然后进行仿真,方能得出正确的仿真波形。4.另外,本产品还有需要改进的地方,如管脚过多,实际连接时不够简洁,容易造成连接错误。故应将各个模块综合起来设计总电路,但是由于对顶层程序设计这一部分不甚了解,故没有完成这一环节。致 谢在这次设计中,我花了不少的时间,其中有苦也有乐。苦的是我付出了不少的汗水,乐的是在付出的过程中我得到了许多,也学会了许多。因为一个人的能力毕竟有限,在设计方面难免会出现这样那样的错误,但正是这些错误促进了我的进步。根据电路的特点,我用层次化结构化设计概念,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后再将各模块合起来联试,这培养我了层次化设计的概念。在这次课程设计中,我真正体会到了知识的重要性。在设计的过程中,遇到问题我会先独立思考,到自己不能解决的时候我就会和同学讨论,实在解决不了我就会向指导老师请教,应该说从功能的实现到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚着大家对我的帮助。最后,在设计的过程中我进一步养成了软件设计的方法,完成一个项目的的程序,进一步了解了设计的步骤,进一步加深了对课程的理解,增强了以后学习的兴趣,为以后的工作积累了一定的经验,感谢学院及张老师给我们提供这次设计的机会。参考文献1 陈云恰,保延翔CPLD应用技术与数字系统统计电子工业出版社,2006:54-602 姜雪松,吴钰淳VHDL设计实例与仿真机械工业出版社, 2007:170-1773 李伟英,谢完成基于EDA技术的抢答器的设计与实现【J】科学技术与实现, 2008.8(11):82-884 罗朝霞,高书莉CPLD/FPGA设计及应用北京:人民邮电出版社,2007:101-121

    注意事项

    本文(毕业设计(论文)基于VHDL的智力竞赛抢答器完全设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开