八路抢答器的研究课程设计.docx

上传人:b****1 文档编号:555514 上传时间:2022-10-11 格式:DOCX 页数:14 大小:140.50KB
下载 相关 举报
八路抢答器的研究课程设计.docx_第1页
第1页 / 共14页
八路抢答器的研究课程设计.docx_第2页
第2页 / 共14页
八路抢答器的研究课程设计.docx_第3页
第3页 / 共14页
八路抢答器的研究课程设计.docx_第4页
第4页 / 共14页
八路抢答器的研究课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

八路抢答器的研究课程设计.docx

《八路抢答器的研究课程设计.docx》由会员分享,可在线阅读,更多相关《八路抢答器的研究课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

八路抢答器的研究课程设计.docx

八路抢答器的研究课程设计

摘要I

1.FPGA简介1

2.技术要求与具体功能2

2.1技术要求2

2.2具体功能2

2.EDA技术简介3

3.系统设计思路4

3.1原理组成框图4

3.2硬件系统设计4

4.基于VHDL语言的软件实现6

4.1程序设计6

4.1.1锁存程序6

4.1.2编码程序8

4.1.3抢答成功扬声器发声程序10

4.1.4数码管显示电路11

4.2管脚设置13

5.心得体会15

参考文献16

附录17

1.FPGA简介

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。

这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。

在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

  

系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

  

FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

2.技术要求与具体功能

2.1技术要求

1.在所选择器件内完成八路抢答器的设计,要求设计完成后芯片具有抢答器的全部功能、包括显示和操作接口。

2.抢答器要求有八路抢答输入,抢答逻辑设计合理(具有抢答锁定),抢答编号显示,抢答成功指示,抢答完成后状态复位。

3.在相应的器件平台上完成设计的输入、编译、综合或适配通过。

2.2具体功能

1.设计制作一个竞赛抢答器,共设8个组别每组控制一个抢答开关,分别为sl,s2,s3,s4,s5,s6,s7,s8。

2.设置主持人控制键Reset,用于控制整个系统清零和抢答

有效控制。

3.主持人发出开始命令,8人开始抢答。

其中一人先按下抢答键,蜂鸣器发出鸣叫,数码显示该人号码,其他人再按键,系统不再响应,直至主持人按键清零,下一次抢答开始。

 

2.EDA技术简介

随着电子技术的发展,可编程逻辑器件(PLD)的出现,使得电子系统的设计者利用EDA(电子设计自动化)软件,就可以独立设计自己的专用集成电路(ASIC)器件。

可编程逻辑器件是一种半导体集成器件的半成品。

在可编程逻辑器件的芯片中按一定方式(阵列形式或单元阵列形式)制作了大量的门、触发器等基本逻辑器件,对这些基本器件适当地连接,就可以完成某个电路或系统的功能。

8路抢答器控制系统是工厂、学校和电视台等单位举办各种

智力竞赛等娱乐活动中经常使用的重要基础设备之一。

目前设计抢答器的方法很多,例如用传统的PCB板设计、用PIC设计或者用单片机设计。

而用VHDL可以更加快速、灵活地设计出符合各种要求的抢答器,优于其他设计方法,使设计过程达到高度自动化。

本文介绍的八路数显抢答器基于VHDL语言、以EDA技术作

为开发手段、采用CPLD(复杂的可编程逻辑器件)作为控制核心

设计而成。

与传统设计相比较,不仅简化了接口和控制,也提高了系统的整体性能和工作可靠性,具有电路简单、成本低廉、操作方便、灵敏可靠等优点。

3.系统设计思路

3.1原理组成框图

根据的功能要求,设计系统结构框图,见图1所示。

图中脉冲振荡电路用于产生标准时钟信号,为系统提供CLK信号;数码显示部分采用共阴极7位二进制输入8字管。

控制部分是EDA设计的核心部分,用硬件描述语言(VHDL)来描述数字系统的结构、行为和功能,采用“自顶向下”设计方法,将电路的硬件设计转变为软件设计。

3.2硬件系统设计

VHDL语言设计的出现从根本上改变了以往数字电路的设计模式,使电路由硬件设计转变为软件设计,使电子设计的核心转化为VHDL语言的编程设计,这样提高了设计的灵活性,使电路

的设计复杂程度大大降低。

1.FPGA最小系统电路:

FPGA正常工作时的基本电路,由时钟和复位电路组成。

2.键盘输入电路:

用1×8矩阵键盘组成8个人的抢答按钮。

同时包括Start,Reset三个由主持人控制的单独按钮。

3.显示模块:

用移位寄存器74HC164驱动2位共阴数码管显示;数码管要显示的数据通过74HC164串行数据端口输入。

4报警及相关信息显示:

蜂鸣器电路和LED灯显示相关状态信息指示电路。

图2八路抢答器原理图

4.基于VHDL语言的软件实现

4.1程序设计

采用Ma-xplus||软件的文本输入功能输入源程序,编译通过后,生成波形图,并对波形图进行分析。

4.1.1锁存程序

本程序的s1--s8表示输入,q1,q2,q3,q4,q5,q6,q7,q8表锁存输出,当clr=0时输出全为1,当clk=1时输出等于输入,程序如下所示:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

USEieee.std_logic_unsigned.ALL;

ENTITYlockIS

PORT(s1:

INSTD_LOGIC;

s2:

INSTD_LOGIC;

s3:

INSTD_LOGIC;

s4:

INSTD_LOGIC;

s5:

INSTD_LOGIC;

s6:

INSTD_LOGIC;

s7:

INSTD_LOGIC;

s8:

INSTD_LOGIC;

clr:

INSTD_LOGIC;

q1,q2,q3,q4,q5,q6,q7,q8:

OUTSTD_LOGIC);

ENDlock;

ARCHITECTUREaOFlockIS

BEGIN

process(s1,s2,s3,s4,s5,s6,s7,s8,clr)

begin

if(clr='0')then

q1<='1';

q2<='1';

q3<='1';

q4<='1';

q5<='1';

q6<='1';

q7<='1';

q8<='1';

else

q1<=s1;

q2<=s2;

q3<=s3;

q4<=s4;

q5<=s5;

q6<=s6;

q7<=s7;

q8<=s8;

endif;

endprocess;

ENDa;

图3锁存时序

4.1.2编码程序

M数组是编码输出信号,其值是根据由变量数组temp确定temp数组的各位对应的是q,如果敏感信号q1,q2,q3,q4,q5,q6,q7,q8,中某信号有变化则会执行进程,从而得出对应的m数组,程序如下所示:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

ENTITYchangeIS

PORT(q1,q2,q3,q4,q5,q6,q7,q8:

INSTD_LOGIC;

clr:

INSTD_LOGIC;

m:

OUTSTD_LOGIC_vector(3downto0);

en:

OUTSTD_LOGIC);

ENDchange;

ARCHITECTUREaOFchangeIS

BEGIN

process(q1,q2,q3,q4,q5,q6,q7,q8,clr)

variabletemp:

STD_LOGIC_vector(7downto0);

begin

temp:

=q1&q2&q3&q4&q5&q6&q7&q8;

casetempis

when"01111111"=>m<="0001";

when"10111111"=>m<="0010";

when"11011111"=>m<="0011";

when"11101111"=>m<="0100";

when"11110111"=>m<="0101";

when"11111011"=>m<="0110";

when"11111101"=>m<="0111";

when"11111110"=>m<="1000";

whenothers=>m<="1111";

endcase;

en<=temp(7)ANDtemp(6)ANDtemp(5)ANDtemp(4)ANDtemp(3)ANDtemp

(2)ANDtemp

(1)ANDtemp(0)ANDclr;

endprocess;

ENDa;

图4编码程序仿真波形

4.1.3抢答成功扬声器发声程序

若clk信号为上升沿,并且en信号为‘1’,那么输出信号sound1为‘1’,扬声器发声,程序如下:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

USEieee.std_logic_unsigned.ALL;

ENTITYcntIS

PORT(clk,en:

inSTD_LOGIC;

sound1:

outSTD_LOGIC);

ENDcnt;

ARCHITECTUREaOFcntIS

BEGIN

process(en,clk)

begin

if(clk'eventandclk='1')then

if(en='1')then

sound1<='1';

else

sound1<='0';

endif;

endif;

endprocess;

ENDa;

图5扬声器发生程序仿真波形

4.1.4数码管显示电路

根据数组m的值生成对应的BCD码,然后送入数码管显示,对应程序如下:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

USEieee.std_logic_unsigned.ALL;

ENTITYdisplayIS

PORT(m:

INSTD_LOGIC_VECTOR(3downto0);

BCD:

outSTD_LOGIC_VECTOR(7downto0));

ENDdisplay;

ARCHITECTUREaOFdisplayIS

BEGIN

PROCESS(m)

BEGIN

CASEmIS

WHEN"0000"=>BCD<="00111111";

WHEN"0001"=>BCD<="00000110";

WHEN"0010"=>BCD<="01011011";

WHEN"0011"=>BCD<="01001111";

WHEN"0100"=>BCD<="01100110";

WHEN"0101"=>BCD<="01101101";

WHEN"0110"=>BCD<="0111110

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1