智力竞赛抢答器电子信息工程课程设计论文报告本科论文.docx
《智力竞赛抢答器电子信息工程课程设计论文报告本科论文.docx》由会员分享,可在线阅读,更多相关《智力竞赛抢答器电子信息工程课程设计论文报告本科论文.docx(23页珍藏版)》请在冰豆网上搜索。
智力竞赛抢答器电子信息工程课程设计论文报告本科论文
课程设计报告
题目智力竞赛抢答器
学院电子信息工程学院
专业电子信息工程
学生姓名
学号年级级2班
指导教师职称副教授
2014年5月20日
课程设计任务书
课程设计题目
智力竞赛抢答器
组长
学号
班级
级2班
系别
电子信息工程
专业
电子信息工程
组员
课程设计目的
亲自体验一次采用现代电子设计自动化技术,从无到有自主完成一个电子系统设计的全过程,以获得初步的电子系统设计经验。
课程设计所需环境
计算机、设计软件QuartusⅡ、EDA实验箱
课程设计任务要求
1. 设计任务:
设计一个能满足8个组同时参加竞赛的抢答器,其功能为:
电路复位后,数码显0,主持人示意抢答开始后,每个组都可以通过各自的按钮开关发出抢答信号,抢答器一旦接收到某组最先发出的抢答信号后,立即让数码管显出该组的组号,同时发出音响提示,且对后来组发出的抢答信号一律不与理睬。
重新复位后数码显示归0,提示音停止,在抢答组回答完问题后,重复前述过程,可进行下轮抢答。
2.设计要求:
用VHDL语言描述抢答器逻辑功能,经编译后仿真且波形正确后,下载到实验箱上做真实电路验证。
按学院课程设计规范撰写设计报告:
报告中应给出设计方案框图(模块的划分,信息的传递关系)、各模块的VHDL程序、每个模块的仿真波形图,并辅以文字分析说明、下载验证操作过程、设计的心得体会和收获。
课程设计工作进度计划
序号
起止日期
工作内容
分工情况
1
周1
布置讲解课程设计题目、内容和要求
拷贝quartus软件
2
周1---周2
按课程设计题目要求自行设计
图书馆查资料
3
周2---周3
按课程设计题目要求自行设计
子模块编程
4
周3---周4
在实验室上机对所设计的内容做软硬件调试
子模块连接
5
周5
按规范撰写课程设计报告书
实验结果分析,写报告
指导教师签字:
杨显富2014年5月20日
系部审核意见:
教研室主任签字:
2014年月日
智力竞赛抢答器
摘要:
本课程设计分为智力竞赛抢答器的分模块设计和智力竞赛抢答器的原理图设计两个层次的设计。
在本次设计中,模块设计分为锁存器设计,编码器设计,译码器设计;系统开发平台为QuartusⅡ;硬件描述语是VHDL。
竞赛者可以分为八组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。
当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。
回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。
关键词:
抢答器;锁存器;编码器;数码显示器
IntellectualCompetitionResponder
Abstract:
Thecurriculumisdividedintoquizbuzzermoduledesignandschematicdesignforquizbuzzerdesignedontwolevels.Inthisdesign,themoduleisdividedintolatchdesign,encoderdesign,decoderdesign,systemdevelopmentplatformforQuartusII;isaVHDLhardwaredescriptionlanguage.Competitorsaredividedintoeightgroups,whenansweringthequestionsposedbythemoderatortoeachgroupwithintheshortestpossibletimetomakedecisions,andpresstheanswerkeytoanswerthequestions.Whenthefirstpersonafterthebuttonispressed,thegroupnumberisdisplayedonthemonitor,whilethecircuitwillothergroupsofkeyblocked,sothatitdoesnotwork.Afteransweringquestions,convenedbytheFacilitator,allkeyrecoveryandstartansweringthenextround.
Keywords:
Buzzer;latches;encoder,digitaldisplay
目录
第1章引言1
1.1EDA的概述1
1.2QuartusII的概述1
1.3VHDL的概述2
1.4智力竞赛抢答器的概述2
1.4.1课程设计题目2
1.4.2课程设计的任务及要求2
1.4.3课程设计的思想.........................................................3
1.4.4软硬件运行环境及开发工具3
第2章设计流程4
2.1设计模块方框图4
2.2模块功能分析4
2.2.1抢答输入开关电路4
2.2.2锁存器5
2.2.3编码器5
2.2.4译码器5
2.2.5解锁器..................................................................5
2.2.6数码显示器与喇叭5
2.2.7图1.1与图2.1比较5
第3章软硬件设计5
3.1系统方框图5
3.2模块分析6
3.2.1锁存器模块和仿真波形6
3.2.2编码器模块和仿真波形9
3.2.3译码器模块和仿真波形11
3.2.4与门模块和仿真波形15
3.2.5完整模块和仿真波形16
3.3硬件调试与操作说明16
3.3.1引脚锁定16
3.3.2调试与故障处理16
第4章课程设计总结与体会17
参考文献19
第1章引言
1.1EDA的概述
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
1.2QuartusII概述
QuartusII是Altera的公司综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。
目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。
Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。
AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
1.3VHDL的概述
VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
1.4智力竞赛抢答器的概述
1.4.1课程设计题目
为竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题,我们称之为抢答器。
1.4.2课程设计的任务及要求
(1)设计任务:
设计一个能满足8个组同时参加竞赛的抢答器,其功能为:
电路复位后,数码显0,主持人示意抢答开始后,每个组都可以通过各自的按钮开关发出抢答信号,抢答器一旦接收到某组最先发出的抢答信号后,立即让数码管显出该组的组号,同时发出音响提示,且对后来组发出的抢答信号一律不与理睬。
重新复位后数码显示归0,提示音停止,在抢答组回答完问题后,重复前述过程,可进行下轮抢答。
(2)设计要求:
用VHDL语言描述抢答器逻辑功能,经编译后仿真且波形正确后,下载到实验箱上做真实电路验证。
按学院课程设计规范撰写设计报告:
报告中应给出设计方案框图(模块的划分,信息的传递关系)、各模块的VHDL程序、每个模块的仿真波形图,并辅以文字分析说明、下载验证操作过程、设计的心得体会和收获。
1.4.3课程设计的思想
根据功能要求,须设计有抢答电路、编码电路、译码电路、主持人控制电路,各个电路都有其自己的功能。
通过复位按键RST,电路进入就绪状态,等待抢答。
然后再由主持人发布抢答命令进入抢答状态。
在电路中“1-8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后输出抢答者号码的七段码值,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。
当要进行下一次的抢答时,由主持人先按一下复位按键RST,电路复位,进入下一次抢答的就绪状态。
该电路的组成图如下:
图1-1电路组成图
1.4.4软硬件运行环境及开发工具
QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:
可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;
芯片(电路)平面布局连线编辑;
LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;
功能强大的逻辑综合工具;
完备的电路功能仿真与时序逻辑仿真工具;
定时/时序分析与关键路径延时分析;
可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;
支持软件源文件的添加和创建,并将它们链接起来生成编程文件;
使用组合编译方式可一次完成整体设计流程;
自动定位编译错误;
高效的期间编程与验证工具;
可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;
能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。
第2章设计流程
2.1设计模块方框图
根据抢答器的功能要求,可以得出如下模块系统结构图:
图2-1模块系统图
2.2模块功能分析
2.2.1抢答输入开关电路
该电路由8个开关按键组成,每一个选手与一个开关对应。
开关为常闭合型,选手抢答时输入抢答
信号自动变为低电平。
2.2.2锁存器
当只要有一个且为任意一个抢答输入信号产生时,触发器电路被触发,在输出端产生相应的开关电平信息,同时为避免之后的抢答开关按钮也按下产生错乱,最先产生的输出电平变化又反馈回来将触发器锁定住,并保持输出的电平信息。
这样就避免了抢答先后发生紊乱不清楚的现象发生。
2.2.3编码器
编码器的作用是将开关信息转化为8421BCD码,以提供数字显示电路所需要的编码输入。
2.2.4译码器
译码器的作用是将编码器输出的8421BCD码转化为数码管需要的逻辑状态,译码器由七段共阴二极管组成,高位在左,低位在右,如当输入译码器的信号为“1101101”时,数码管的七个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1,接有高电平的段亮,于是数码管显示为“5”。
2.2.5解锁器
当触发锁存电路被锁存后,若要进行下一轮的重新抢答,则需要将锁存器解锁,可通过强迫是复位控制置为0,使锁存处于等待锁存状态,以准备进行下一轮的抢答。
2.2.6数码显示器与喇叭
数码显示管有发光的共阴二极管(LED)数码管,喇叭为高电平触发。
2.2.7图1.1与图2.1比较
(1)图1.1中的“1——8”输入与图2.1中的抢答输入开关的功能相同。
(2)图1.1中的“复位”与图2.1中的解锁器功能相同。
(3)图1.1中的“8位抢答器”与图2.1中的锁存器、编码器、译码器功能相同。
(4)图1.1中的“提示音控制输出”与图2.1中的喇叭功能相同。
第3章软硬件设计
3.1系统方框图
图3-1系统框图
图3.1所示为抢答器的系统框图,可以看到A1-A8为8组选手的输入抢答按钮,rest为复位控制信号,B1-B8是传输到编码器的中间信号,并由译码器输出对应的数码管编号。
该系统描述的功能是当所有开关输入信号A1-A8均处于高电平,锁存器输出全为高电平,经过8个输入的与门反馈信号仍为高点平,该信号作为锁存器时能端控制信号即EN,使锁存器出浴等待接收触发输入状态;当任一开关输入信号A1-A8中的任一开关按下时,输出信号中必然会有一路为低电平,则反馈信号发生与门后变成低电平,时能信号EN成为低电平后,EN传给锁存器则立即使锁存器接受到的开关被封锁,这时其他抢答者信息的输入将被封锁,不能再传输到锁存器中。
由此可见,触发锁存器电路具有时序电路的特征,是实现抢答器功能的关键所在。
RST为复位控制信号,也是低电平有效,当主持人复位后即提示抢答开始时,编码器的B1-B8全为高电平,反馈时能信号与门为高电平,是锁存器处于等待抢答输入信号的状态。
输入的信号一旦锁定后,译码器的CQ[3..0]信号的输入到7段译码器中,7段译码器含有7段共阴极二极管,对输入的LED[0]~LED[7]进行验证,led数码管对应显示出最先抢答者的编号,并且蜂鸣器发出响声。
3.2模块分析
3.2.1锁存器模块和仿真
(1)锁存器的VHDL文本输入语言
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYSUOCUNQIIS
PORT(EN,RST:
INSTD_LOGIC;A1,A2,A3,A4,A5,A6,A7,A8:
INSTD_LOGIC;
B1,B2,B3,B4,B5,B6,B7,B8:
OUTSTD_LOGIC);--SOUND:
OUTSTD_LOGIC);
ENDSUOCUNQI;
ARCHITECTUREONEOFSUOCUNQIIS
BEGIN
P_A:
PROCESS(RST,A1,A2,A3,A4,A5,A6,A7,A8)
BEGIN
IFRST='0'THEN
B1<='1';
B2<='1';
B3<='1';
B4<='1';
B5<='1';
B6<='1';
B7<='1';
B8<='1';
ELSIFEN='1'THEN
B1<=A1;
B2<=A2;
B3<=A3;
B4<=A4;
B5<=A5;
B6<=A6;
B7<=A7;
B8<=A8;
ENDIF;
ENDPROCESSP_A;
--P_B:
PROCESS(EN,RST)
--BEGIN
--IFRST='1'ANDEN='0'THEN
--SOUND<='1';ELSESOUND<='0';
--ENDIF;ENDPROCESSP_B;
ENDONE;
(2)锁存器的编译图
图3-2锁存器编译图
(3)锁存器的时序波形仿真图
图3-3锁存器时序波形仿真图
锁存器波形分析:
从波形图可以得出当复位信号rest复位后即为高电平时,抢答开始,当一旦有抢答输入信号时。
使能信号en立即变为低电平,即锁存发生。
(4)锁存器的封装模块图
3.2.2编码器模块和仿真波形
(1)编码器的VHDL文本输入语言
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYbianmaqiIS
PORT(Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8:
INSTD_LOGIC;
CQ:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
END;
ARCHITECTUREoneOFbianmaqiIS
BEGIN
PROCESS(Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8)
BEGIN
IFQ1='1'ANDQ2='1'ANDQ3='1'ANDQ4='1'
ANDQ5='1'ANDQ6='1'ANDQ7='1'ANDQ8='1'
THENCQ<="0000";
ELSIFQ1='0'THENCQ<="0001";
ELSIFQ2='0'THENCQ<="0010";
ELSIFQ3='0'THENCQ<="0011";
ELSIFQ4='0'THENCQ<="0100";
ELSIFQ5='0'THENCQ<="0101";
ELSIFQ6='0'THENCQ<="0110";
ELSIFQ7='0'THENCQ<="0111";
ELSIFQ8='0'THENCQ<="1000";
ENDIF;
ENDPROCESS;
END;
(2)编码器的编译图
图3-5译码器编译图
(3)编码器的时序波形仿真图
图3-6编码器时序波形图
波形分析:
如图3.6知,编码器为纯组合电路,处理数据为二进制,当分别向编码器输入不同信时,对应输出不同的数值。
(4)编码器的封装模块图
图3-7编码器封装图
3.2.3译码器模块和仿真波形
(1)译码器的VHDL文本输入语言
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.ALL;
ENTITYyimaqiIS
PORT(m:
INSTD_LOGIC_VECTOR(3downto0);
BCD:
OUTSTD_LOGIC_VECTOR(6downto0);
VGA:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDyimaqi;
ARCHITECTUREaOFyimaqiIS
BEGINVGA<="0010";
PROCESS(m)
BEGIN
CASEmIS
WHEN"0001"=>BCD<="0000110";
WHEN"0010"=>BCD<="1011011";
WHEN"0011"=>BCD<="1001111";
WHEN"0100"=>BCD<="1100110";
WHEN"0101"=>BCD<="1101101";
WHEN"0110"=>BCD<="1111101";
WHEN"0111"=>BCD<="0000111";
WHEN"1000"=>BCD<="1111111";
WHENOTHERS=>BCD<="0000000";
ENDCASE;
ENDP