本科毕业设计论文数字式竞赛抢答器硬件描述语言课程设计报告.docx
- 文档编号:28455101
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:14
- 大小:251KB
本科毕业设计论文数字式竞赛抢答器硬件描述语言课程设计报告.docx
《本科毕业设计论文数字式竞赛抢答器硬件描述语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文数字式竞赛抢答器硬件描述语言课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
本科毕业设计论文数字式竞赛抢答器硬件描述语言课程设计报告
信息与电气工程学院
硬件描述语言课程设计
设计说明书
(数字式竞赛抢答器)
)
学生姓名
学号
班级
成绩
指导教师
通信工程系
2016年12月25日
信息与电气工程学院
课程设计评阅人评语
评阅人:
(签名)
年月日
评阅人评定成绩:
信息与电气工程学院
课程设计任务书
2016—2017学年第一学期
专业:
通信工程学号:
姓名:
课程设计名称:
硬件描述性语言
设计题目:
数字式竞赛抢答器
完成期限:
自2016年12月19日至2016年12月23日共1周
设计依据、要求及主要内容(可另加附页):
一般来说,设计一台智能抢答器,必须能够准确判断出第一位抢答者,并且通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者,并设置一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果实行增减分的操作,并将分数显示在屏幕上,评出最终赢家。
所以我们在设计智能抢答器的模块需要满足鉴别、计时、计分、数显等功能。
定时抢答器的工作过程是:
接通电源时,主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯;抢答开始时,主持人将控制开关拨到“开始”位置,发光二极管灯亮,抢答器处于工作状态,这时,抢答器完成以下工作:
(1)优先编码器电路立即分辨出抢答者编号,并由锁存器进行锁存,然后由译码显示电路显示编号;
(2)扬声器发出短暂声响,提醒主持人注意;
(3)控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;
(4)当选手将问题回答完毕,主持人操作计分开关,计分电路采用十进制加/减计数器、数码管显示。
本轮抢答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
指导教师(签字):
系主任(签字):
批准日期:
年月日
摘要
在目前,可编程逻辑器件、单片机、DSP已经成为数字系统的硬件基础,而从事数字系统的设计必须掌握可编程逻辑器件的设计方法,而VHDL语言是一种标准的数字系统硬件电路设计语言,为所有可编程逻辑器件厂商所支持,已成为电路设计人员和电子设计工程师必须掌握的工具。
VHDL语言是培养信息类专门人才的一门必修的专业基础课程。
通过本次课程设计,使我们能够学习和掌握现代电子系统设计的新技术、新器件,掌握硬件描述语言VHDL的编程技术和硬件描述方法,能够对设计系统进行规范描述掌握相关软件的使用,操作。
能对VHDL语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。
当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。
而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
因此,我们制作了这款简易抢答器摒弃了成本高,体积大,而且操作复杂。
我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。
而且在显示时抢答器会发出叮咚声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。
关键词:
EDA;VHDL;Max+plusII;抢答器;
目录
1.设计目的…………………………………………………………………6
2.设计内容…………………………………………………………………6
3.电路工作原理…………………………………………………………………6
3.16.数字式竞赛抢答器工作原理……………………………………………6
3.2循环彩灯工作原理……………………………………………13
4.主要程序和仿真结果………………………………………………………14
4.1数字式竞赛抢答器设计与仿真结果…………………………………14
4.2循环彩灯设计与仿真结果………………………………………15
5.心得体会…………………………………………………………………15
参考文献…………………………………………………………………………16
1.设计目的
学习ALTERA公司的FPGA/CPLD的结构、特点和性能。
学习集成开发软件MAX+plusII/QuartusII的使用及设计过程。
熟悉EDA工具设计数字电路设计方法,掌握VHDL硬件描述语言设计方法。
根据给定题目设计数字电路,来加深对可编程逻辑器件的理解和掌握。
通过本次课程设计,熟练掌握MAX-PLUS2的应用,操作,并对VHDL语言的编程做一实践检验,编出程序,并进行仿真,并根据所得仿真图形分析和推断并改进所涉及的程序,让程序在现实生活中得以更贴近的应用。
2.设计内容
设计一个可容纳四组参赛者同时抢答的数字抢答器,可判断第一抢答者并报警指示抢答成功,其他组抢答均无效。
若提前抢答则对相应的抢答组发出警报。
同时还具有计分功能,若抢答成功并回答正确增加1分,答错不扣分。
设计一个循环彩灯控制器,该控制器控制红,绿,黄三个发光管循环点亮。
要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。
3.电路工作原理
3.1数字式竞赛抢答器工作原理
此抢答器的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块连接起来。
系统的总体框图如下:
图3-1系统的总体框图
根据对抢答器的功能要求,把要设计的系统划分为五个功能模块:
抢答信号鉴别模块、计时模块、计分模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路和计分显示电路。
计时模块、计分模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路和计分显示电路。
3.1.1抢答鉴别模块
抢答鉴别模块用来准确直观地判断A、B、C、D四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。
同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。
抢答鉴别模块的元件图如下图所示:
图3-2鉴别模块元件框图
引脚作用:
输入信号:
各组的抢答按钮A、B、C、D,系统清零信号INI。
输出信号:
各组的抢答按钮显示端A1、B1、C1、D1,组别显示端G[3..0]。
原理:
第一个按下键的小组,抢答信号判定电路LOCK通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示、计时和计分会保存到主持人对系统进行清零操作时为止。
当INI=1时系统复位,使组别显示信号G=0000,各组的指示灯信号A1=0,B1=0,C1=0,D1=0;当INI=0,即低电平有效,使其进入抢答鉴别状态,到CLK的上升沿到来时,以A组抢答成功为例,当输入信号为A=1,B=0,C=0,D=0,输出信号G=1000,A1=1,即为鉴别出A组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。
同理其他组别抢答成功也是这样的鉴别过程。
备注:
理论上来说,A、B、C、D四组抢答,应该有从0000—1111等16种可能情况,但是由于时钟信号的频率很高而且是在时钟信号上升沿的状况下才做出的鉴别,所以在这里两组以上同时抢答成功的可能性非常小,因此可以只设计四种情况,即A、B、C、D分别为1000、0100、0010、0001,这大大简化了电路的设计复杂性。
其用VHDL语言进行编程的流程图如下图所示:
图3-3抢答鉴别模块的流程图
3.1.2计时模块
当抢答鉴别模块成功判别出最先按下抢答按钮的参赛组后,在成功鉴别出哪组最先抢答后,主持人按下计时信号,则进入计时状态。
计时模块可分作两部分:
(1)预置数;
(2)60秒倒计时。
60秒时间用两个数码管QA,QB显示,其中QA表示60秒的个位,QB表示60秒的十位。
计时模块开始工作从预置初始值开始以秒计时,计时至0秒时停止,时间耗尽时,扬声器会发出超时报警信号,以中止答题。
图3-4计时模块的元件图
该系统输入信号有:
系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统时钟信号CLK,计时预置数据调整按钮TA、TB。
系统输出信号有:
倒计时输出端QA[3..0]、QB[3..0]。
当清零信号CLR=1时,模块输出信号QA=0000,QB=0000。
当预置数控制信号LDN=1可通过TA来调整QA,TA来一次高电平,则QA的数值就加1;用TB来调整QB,通过这两个调整信号可调整参赛者答题所需要的时间。
在CLR=0,LDN=0,EN=1时,通过时钟信号CLK的上升沿来进行60秒到计时。
其用VHDL语言进行编程的流程图如下:
图3-5抢答计时模块的流程图
3.1.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-6计分模块的元件图
系统的输入信号有:
计分复位端RST,加分按钮端ADD,减分按钮端SUB,组别号输入端CHOS[3..0]。
系统的输出信号有:
A组分数输出端AA2[3..0]、AA1[3..0]、AA0[3..0],B组分数输出端BB2[3..0]、BB1[3..0]、BB0[3..0],C组分数输出端CC2[3..0]、CC1[3..0]、CC0[3..0],D组分数输出端DD2[3..0]、DD1[3..0]、DD0[3..0]。
计分模块用VHDL语言进行编程的流程图如下:
图3-7计分模块的设计状态图
注:
在设计中减法的实现是以加法运算来实现的。
也以A为例,由于每次减分都是减去10分,即每次为POINTS_A1减一,所以可以用POINTS_A1+"1111"来实现。
如:
0111-0001=0110,用加法实现:
0111+1111=10110。
由于POINTS_A1:
STD_LOGIC_VECTOR(3DOWNTO0),所以POINTS_A1=0110。
3.1.4译码显示模块
该模块实际上是一个译码器,译码器是组合逻辑电路的一个重要的器件,其可以分为:
变量译码和显示译码两类。
变量译码一般是一种较少输入变为较多输出的器件,一般分为2n译码和8421BCD码译码两类。
显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动LED和驱动LCD两类。
译码是编码的逆过程。
图3-8译码显示模块的元件图
主要原理是四位二进制BCD编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。
译码器的译码对照表如下所示:
显示的数字/字母
BCD编码
七段数码管2进制
0
0000
0111111
1
0001
0000110
2
0010
1011011
3
0011
1001111
4
0100
1100110
5
0101
1101101
6
0110
1111101
7
0111
0000111
8
1000
1111111
9
1001
1101111
X
XXXX
0000000
表3-1译码器的译码对照表
备注:
在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码子,其他情况不予考虑。
3.2循环彩灯工作原理
通过控制器可以控制红,绿,黄三个发光管循环点亮,并且要求发光的时间不一样,这样,本质设计思想是循环累加,即时钟信号高电平开始,m值开始累加,
CASEmIS
WHEN"001"=>dout<="100";
WHEN"010"=>dout<="100";
WHEN"011"=>dout<="100";
WHEN"100"=>dout<="010";
WHEN"101"=>dout<="010";
WHEN"110"=>dout<="001";
WHENOTHERS=>dout<="111";
ENDCASE;
前三个值都将赋值给dout1,也就是红灯发光的三秒,然后两个赋值给绿灯,最后一秒赋值给黄灯。
这样,dout的不同值将点亮不同颜色的灯,下面是表示三种灯的点亮程序。
red<=dout
(2);green<=dout
(1);yellow<=dout(0);以此类推,我们可以实现三个彩灯不同时间的循环点亮。
4.主要程序和仿真结果
4.1数字式竞赛抢答器设计与仿真结果
利用MAX+plusII进行编译,综合,仿真,时序图如下:
图4-1鉴别模块的仿真时序图
引脚作用:
系统输入信号:
各组的抢答按钮A、B、C、D,系统清零信号CLR,CLK时钟信号。
系统的输出信号:
各组的抢答按钮显示端A1、B1、C1、D1,组别显示端控制信号G[3..0]。
仿真分析:
当鉴别模块的清零信号CLR为高电平时,无论A、B、C、D四组参赛者谁按下抢答按钮,系统输出均为零,同时组别显示端G输出信号也显示为零;当清零信号CLR为低电平时,A、B、C、D四组参赛者谁先按下抢答按钮,组别显示端就显示该组别的号码。
假如C组按下抢答按钮时,组别输出为0010,同时C组的显示灯被点亮。
仿真图上显示的为A先抢答,因为在0-1.28微秒之间A、C虽然都按抢答键,但CLR为有效状态,所以在此时间段内的抢答无效。
4.2循环彩灯设计与仿真结果
根据程序调试仿真图如下:
图4-2程序调试仿真时序图
分析:
从图形可以看出,清零端低电平,时钟信号上升沿时m值开始计数,随着m值的变化,彩灯的显示一块变化,图示显示,red灯点亮3秒,gree灯点亮2秒,yellow灯点亮1秒,整个周期是六秒一个循环,基本上实现了题目的要求。
5.心得体会
这次课程设计中,我们不但学习了maxplus软件的应用,而且巩固了以前所学的理论知识,特别是VHDL语言的学习和编程,我们也学习了数电和电路的相关知识,也是一次很好的复习,也是一次很好的实践。
下面就本次课程设计中遇到的问题和解决方案做一总结:
第一:
初次接触maxplus,刚开始的时候只是对软件的熟悉,通过老师的指导和书本的查阅,基本掌握该软件的简单应用。
第二:
程序的编程和调试。
我们在理论学习中就编程,所以,编程不会是很大的问题,但是以前只是理论上的编程,只是随着认得意识而编写的,所以,当我们编程完成以后开始调试的时候发现很多问题。
在进行程序调试的时候首先发现了路径无法打开,进过老师的指导,结合理论知识的解释,我们做了很多改变开得以解决。
其次,受C语言的影响,编程有些太复杂,出现特多警告,后来在老师的耐性指导和修改下,然后通过自己的思考将其改正。
在调试的过程中还会出现很多很普通的错误,比如说,标点符号,定义变量名的时候出现了相当多的错误,这些只要编程序时细心认真就可以解决。
第三:
程序的仿真。
程序的仿真应该说是这次课程设计中最有收获的,因为之前从没接触过,通过仿真,我们可以清楚的看出程序的应用,和相关需要出现的结果,还有一些我们在编程过程中的变量等等的显示,这样也有助于我们的程序编程的改进,贴别是在设计命题二的时候,只要仿真完就可以发现问题,并及时修改,最后达到完美。
参考文献
[1]李国洪.可编程器件EDA技术与实践[M].北京:
机械工业出版社,2004:
100-123.
[2]张玉杰,马立云,张贺艳.基于ARM和FPGA的LED显示屏控制系统的设计[J].计算机测量与控制,2009,17(12):
1-2.
[3]翟殿堂,方敏,历光伟.基于EDA的多功能计时器设计[J].信息技术,2008,17(11):
39-45.
[4]张立,张光新,柴磊,周泽魁.FPGA在多功能计费器系统中的应用[J].仪器仪表报,2005,26(28):
25-27.
[5]潭会生,张昌凡.EDA技术及应用[J].西安:
电子科技大学出版社.2001,16
(2):
46-48.
[6]诗文DigiTimes专稿;片上系统潮流下EDA市场发展趋势[N].电子资讯时报,2005-06-06(A02).
[7]奚素霞.基于EDA技术的数字电路设计[J].重庆科技学院学报(自然科学),2009,11(4):
124-151.
[8]候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:
西安电子科技大学出版社,1999:
5-7.
[9]赵辉.基于EDA技术的数字系统设计[J].电子设计工程,2012,20
(2):
34-37.
[10]臧明相,李园园,郭瑞刚.智能复用EDA设计信息及调试文档自动生成技术[J].计算机工程与设计,2011,32(3):
1119-1122.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 论文 数字式 竞赛 抢答 硬件 描述 语言 课程设计 报告