EDA课程设计八路智力竞赛抢答器.docx
- 文档编号:6074518
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:17
- 大小:598.45KB
EDA课程设计八路智力竞赛抢答器.docx
《EDA课程设计八路智力竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计八路智力竞赛抢答器.docx(17页珍藏版)》请在冰豆网上搜索。
EDA课程设计八路智力竞赛抢答器
EDA技术
课程设计报告
题目智力竞赛抢答器设计
学院电子信息工程学院
专业
学生姓名
学号年级级
指导教师职称
二〇一一年十二月
智力竞赛抢答器
摘要:
本课程设计分为智力竞赛抢答器的分模块设计和智力竞赛抢答器的原理图设计两个层次的设计。
在本次设计中,模块设计分为锁存器设计,编码器设计,译码器设计;系统开发平台为MAXplusⅡ;硬件描述语是VHDL。
竞赛者可以分为八组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。
当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。
回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。
关键词:
锁存;显示;抢答器;
第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设计。
EDA设计可分为系统级、电路级和物理实现级。
1.2MAX+plusII的概述
Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。
Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
1.3VHDL的概述
VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
1.4智力竞赛抢答器的概述
1.4.1课程设计题目
为竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题,我们称之为抢答器。
1.4.2课程设计的任务及要求
它由8个发射信号器、1个接收器、一个控制器组成,可用于8组或8组以下的智力竞赛中。
设计一个八路抢答器,用VHDL编写程序,能够使8个人同时进行抢答类型的游戏,可同时共8名选手或8个组同时参加比赛,他们编号分别为1,2,3,4,5,6,7,8各用一个抢答器按钮,按钮的编号和选手编号相对应,依次为a0,a1,a2,a3,a4,a5,a6,a7。
比赛前,将参赛组从1至8编号,每组发给对应的一个发射器。
将接收器放于各组中央或前方。
主持人按一下控制器(该键用于启动抢答和每次抢答后器件清零的作用)后,抢答开始。
此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出蜂鸣声,提示抢答已有结果并结束抢答。
以后,按下任何一路抢答键均不起反映。
只有主持人再次按动启动键后,才能进行下一次抢答。
该控制器由抢答器、编码器、译码器、8位的与门四部分组成。
1.4.3课程设计的思想
根据功能要求,须设计有抢答电路、编码电路、译码电路、主持人控制电路,各个电路都有其自己的功能。
通过复位按键RST,电路进入就绪状态,等待抢答。
然后再由主持人发布抢答命令进入抢答状态。
在电路中“1-8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后输出抢答者号码的七段码值,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。
当要进行下一次的抢答时,由主持人先按一下复位按键RST,电路复位,进入下一次抢答的就绪状态。
该电路的组成图如下:
抢答器
1组
2组
3组
4组
5组
6组
7组
8组
复位
提示音控制(接蜂鸣器,高电平有效)
组号输出(接7段译码器)
接按钮
低电平有效
图1-1电路组成图
1.4.4软硬件运行环境及开发工具
(1)开发工具
本设计中,系统的软件开发平台为Max+plus2设计软件,它是Altera公司提供的FPGA/CPLD开发集成环境,在Max+plus2界面上可以完成设计输入,元件适配,时序仿真和功能仿真,编程下载整个流程,方便进行软件的测试及验证;硬件运行环境则为EDA专用实验箱,集成芯片,引脚等硬件设备都在实验箱上,可用与计算机相连接,完成下载测试电路的功能和正确性。
(2)MAX+PLUSⅡ软件推荐的PC系统配置
1233MHz的PC机。
2256MB以上有效内存,不低于128MB的物理内存。
3460MB以上硬盘空间。
4Windows95、Windows98、WindowsNT4.0操作系统。
第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解锁器
当触发锁存电路被锁存后,若要进行下一轮的重新抢答,则需要将锁存器解锁,可通过强迫是复位控制置为1,使锁存处于等待锁存状态,以准备进行下一轮的抢答。
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所示为抢答器的系统框图,可以看到G[0]~G[7]为8组选手的输入抢答按钮,rest为复位控制信号,B[1]~B[8]是传输到编码器的中间信号,并由译码器输出对应的数码管编号。
●该系统描述的功能是当所有开关输入信号G[0]~G[7]均未按下,锁存器输出全为高电平,经过8个输入的与门反馈信号仍为高点平,该信号作为锁存器时能端控制信号即en,使锁存器出浴等待接收触发输入状态;当任一开关输入信号G[0]~G[7]中的任一开关按下时,输出信号中必然会有一路为低电平,则反馈信号发生与门后变成低电平,时能信号en也也为成为低电平后,en传给锁存器则立即使锁存器接受到的开关被封锁,这时其他抢答者信息的输入将被封锁,不能再传输到锁存器中。
由此可见,触发锁存器电路具有时序电路的特征,是实现抢答器功能的关键所在。
●rest为复位控制信号,也是低电平有效,当主持人复位后即提示抢答开始时,编码器的B[1..8]全为高电平,反馈时能信号与门为高电平,是锁存器处于等待抢答输入信号的状态。
●输入的信号一旦锁定后,译码器的B[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(A1,A2,A3,A4,A5,A6,A7,A8:
INSTD_LOGIC;
B1,B2,B3,B4,B5,B6,B7,B8:
OUTSTD_LOGIC;
EN,RST:
INSTD_LOGIC);
ENDSUOCUNQI;
ARCHITECTUREONEOFSUOCUNQIIS
BEGIN
PROCESS(EN,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;
ENDPROCESS;
ENDONE;
(2)锁存器的编译图
图3-2锁存器编译图
(3)锁存器的时序波形仿真图
图3-3锁存器时序波形仿真图
锁存器波形分析:
从波形图可以得出当复位信号rest复位后即为高电平时,抢答开始,当一旦有抢答输入信号时。
使能信号en立即变为低电平,即锁存发生,此时再有抢答信号输入已经不发生作用。
如图3.2.2抢答开始,最先抢答的是a1,此时蜂鸣器la变为高电平响起,时能en置为0,锁存开始,之后的抢答无用了,在之后的rest=1那段,输出B="01111111",同理第二个rest=1段是B="10111111".
(4)锁存器的封装模块图
图3-4锁存器封装模块图
3.2.2编码器模块和仿真波形
(1)编码器的VHDL文本输入语言
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYBMIS
PORT(A1,A2,A3,A4,A5,A6,A7,A8:
INSTD_LOGIC;
B:
OUTINTEGERRANGE1TO8);
ENDBM;
ARCHITECTUREABCOFBMIS
SIGNALA:
STD_LOGIC_VECTOR(1TO8);
BEGIN
A<=A1&A2&A3&A4&A5&A6&A7&A8;
PROCESS(A)
BEGIN
CASEAIS
WHEN"01111111"=>B<=1;
WHEN"10111111"=>B<=2;
WHEN"11011111"=>B<=3;
WHEN"11101111"=>B<=4;
WHEN"11110111"=>B<=5;
WHEN"11111011"=>B<=6;
WHEN"11111101"=>B<=7;
WHEN"11111110"=>B<=8;
WHENOTHERS=>B<=0;
ENDCASE;
ENDPROCESS;
ENDABC;
(2)编码器的编译图
图3-5译码器编译图
(3)编码器的时序波形仿真图
图3-6编码器时序波形图
波形分析:
如图3.6知,编码器为纯组合电路,处理数据为二进制,当分别向编码器输入不同信号时,对应输出不同的数值。
如输入A<="11111111",译码器输出B<="1",其他同理。
(4)编码器的封装模块图
图3-7编码器封装图
3.2.3译码器模块和仿真波形
(1)译码器的VHDL文本输入语言
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYYMIS
PORT(B:
ININTEGERRANGE8DOWNTO0;
LED:
OUTSTD_LOGIC_VECTOR(7DOWNTO1);
LA:
OUTSTD_LOGIC);
ENDYM;
ARCHITECTUREABCOFYMIS
BEGIN
PROCESS(B)
BEGIN
CASEBIS
WHEN1=>LED<="0000110";
WHEN2=>LED<="1011011";
WHEN3=>LED<="1001111";
WHEN4=>LED<="1100110";
WHEN5=>LED<="1101101";
WHEN6=>LED<="1111101";
WHEN7=>LED<="0000111";
WHEN8=>LED<="1111111";
WHENOTHERS=>LED<="0111111";
ENDCASE;
IFB>=1ANDB<=8THENLA<='1';
ELSELA<='0';
ENDIF;
ENDPROCESS;
ENDABC;
(2)译码器的编译图
图3-8译码器编译图
(3)译码器的时序波形仿真图
图3-9译码器时序波形仿真图
波形分析:
如图3.9知,七段数码为纯组合电路,处理数据为二进制,当分别向译码器输入不同信号时,对应数码管的七个段接高电平的亮起,从而输出不同的数值。
如输入B<='0',译码器输出LED<="3F",数码管显示为“0”,数码管输出LA<='0',喇叭不响;如输入B<='1',译码器输出LED<="06",数码管显示为“1”,数码管输出LA<='1',喇叭响;其他同理。
(4)译码器的封装模块图
图3-10译码器封装图
3.2.4完整模块和仿真波形
(1)综合完整的硬件编辑图
图3-11综合完整的编辑图
(2)综合完整的编译图
图3-12综合完整的编译图
(3)综合完整的时序仿真波形图
图3-13综合完整的时序波形仿真图
波形分析:
由图3.13可知,此图为8路抢答器的完整的时序仿真波形,它把抢答器,编码和译码的模块综合为一体,使抢答输入一发生,便在数码显示管上显示该组最先抢答的编号。
从上述文本语言输入可见,是将二者的语言综合写在了一块儿,综合后的文本更加简练,由仿真图形也可以清晰看出该电路的最终功能和应用。
3.3硬件调试与操作说明
3.3.1引脚锁定
图3-14综合电路引脚锁定图
在max+plus设计软件编译仿真成功后,可根据引脚图(图3.14)将eda实验箱上的引脚用电缆线连接好,准备下载测试。
在进行整个模块的验证中,抢答输入信号的8个引脚依次接在了开关按钮的端口上上,复位控制信号res也接在了开关按钮端口上,s引脚接蜂鸣器的端口,输出端b的7个引脚分别对应接在了数码管led灯的a~g端口上,锁定完成。
3.3.2调试与故障处理
(1)调试
引脚锁定完成,便进行硬件下载命令。
试验箱接通电源后,便进行实验验证,按下清零键res,然后按下抢答的开关按钮,当下按的是第几个编号,数码管显示的就是该编号,同时蜂鸣器响起,再按其他的抢答按钮已无反应,表示抢答成功,该锁存模块电路时正确的。
然后再按下清零键rest,再逐一尝试其他的抢答开关按钮,观察是否都能正常工作,如果都正常工作,则表示该8路智能抢答器设计正确。
打开实验箱,讲导线连接到对应的引脚上,按下复位键,此时只有发光二级管是亮的,然后按下一号组,蜂鸣器响起,同时显示器上显示1,这时再按下2,显示器仍然显示1.按下复位键,先按2,再按3,显示器显示2,蜂鸣器叫。
这个时候实验成功。
(2)故障处理和分析
如果蜂鸣器不叫,考虑是不是导线坏了,然后挨着检测所用导线,如果此时仍然不叫,检测所用引脚是否是好的,用万用表检测。
如果仍然不叫,回来看程序,看程序中是否用了非门将低电平信号转换为高电平信号。
显示管不能显示数字。
仍然首先考虑导线,各个线段进行测试,判断是否良好。
若完好继续检测芯片是否完好。
在8个显示引脚随意输入一个二进制数组,然后看该对应的显示断好不,依次检测。
如果不能锁存,问题就一般出现在原理上,应该从原理上进行分析。
第4章课程设计总结与体会
这次的EDA课程设计,熟练地掌握了EDA设计软件max+plus2的操作,之前学会了基本的课程设计以及编译仿真的操作,这次的智能抢答器又让我学到很多,但是其中也遇到了很多困难。
这次实验不仅仅是验证性的,还要由自己来分析,思考,设计,测试和验证以及改正,所以这个期间我个人觉得还是有困难的。
还好的是老师在课程设计之前给我们大家讲了一下抢答器的基本原理和功能,在理解了它的三个模块锁存器,编译器和译码器各自的功能和应用之后我们设计起来就事半功倍了,我们小组三个人,由我们共同来完成这个设计实验。
实验过程中,我们遇到的最大的问题就是在设计用VHDL语言编程的时候,总是不能完成硬件模块的连接,编译时总是有错误,最后在杨老师的指导,将程序全部重新封装,以及重新连接,最后通过了编译。
我们小组在实验室进行实物操作时也没有想象中的那么顺利,我们重复操作了很多次,我们遇到以下问题:
开始下载完成后,在抢答时,7段译码管显示的数字是左右倒立的,对引脚进行检查也无错误,连接也无错误。
通过分析,认为是7段数码管输入A——G的接口与EPF10K10LC84-4芯片输出端连接全部是反得才可能造成这样的结果,可是检查后依旧没有错误连接的问题。
最后决定重新下载程序,看是否是下载的程序下载因为干扰造成了错误,最后,实验结果证明这个问题,确实是下载的程序有问题。
从而完成了硬件的调试。
当杨老师检查时,对我们的仿真波形做出了纠错,也就是在波形仿真时要注意时间的间隔问题,不能在主持人按下复位的同时进行抢答,要注意仿真的实际性研究。
在这个试验过程中,我体会到耐心很重要。
团队合作给我的启示太大了,只有我们队友之间团结一致,不断地发现问题,探索问题,才能解决问题。
思维的碰撞才能得出结果。
最后,这次设计让我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,实践是检验真理的唯一标准,通过这次课程设计,不但进一步掌握了数字电子技术的基础知识及一门专业仿真软件的基本操作,还提高了自己的设计能力及动手能力,同时对于智能抢答器的设计有了深刻的认识,同时更多的是让我看清了自己,明白了凡事需要耐心,这将有助于我今后的学习,端正自己的学习态度,从而更加努力的学习。
这次课程设计的完成,首先感谢学院给了我们这样一个很好的平台,其次感谢杨老师的细心指导,同时也感谢我一起并肩作战的队友。
在这为期半个月的课程设计中,我们一起发现问题,探索问题,解决问题。
相互鼓励,共同取得进步。
在此也特别感谢我们的杨老师,认真的教学让我们打下了坚实的理论基础。
在做实验之前他就很认真的给我们讲解如何有效率的使用软件。
并且在做实验的过程中,他不厌其烦的回答我不知道的问题和给我讲解芯片作用以及帮助我分析错误的产生原因及引导我去解决,让我不至于在课程设计中走很多弯路。
以便我们更高效率地解决实验中发生的问题。
最后还要感谢在实验过程中帮助过我们的同学,他们热心的帮助给了我们莫大的感动。
再次感谢大家!
参考文献
[1]潘松,黄继业.EDA技术实用教程.北京:
科学出版社,1992
[2]孟宪元.可编程ASIC集成数字系统.北京:
电子工业出版社,1998
[3]王锁萍.电子设计自动化(EDA)教程.成都:
成都电子科技大学出版社,2000
[4]徐志军,徐光辉.CPLD/FPGA的开发与应用.北京:
电子工业出版社,2002
[5]杨颂华.电子线路EDA仿真技术[M].西安:
西安交通大学出版社,2008年2月.
[6]蒋小燕,俞伟均,张立臣.EDA技术及VHDL[M].南京:
东南大学出版社,2008年,12月.
[7]刘欲晓.EDA技术与VHDL电路开发应用实践[M].北京:
电子工业出版社,2009年,4月.
[8]王冬梅,张建秋.《八路抢答器设计与实现》[J].佳木斯大学学报(自然科学版),2009,(06).22-26.
[9]丁建伟.《抢答器电路设计》[J].兰州工业高等专科学校学报,2008,(04).13-1
附录共阴极7段数码管
图a七段共阴极数码管图b七段共阴极数码管
数码管使用条件:
(1)7段数码管每段的驱动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 八路 智力 竞赛 抢答