基于FPGA的电子抢答器的程序设计

更新时间:2024-05-28 09:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于FPGA的电子抢答器的程序设计

摘 要

随着科学技术日新月异,文化生活日渐丰富,在各类竞赛、抢答场合电子抢答器已经作为一种工具得到了较为广泛的应用。顾名思义,电子抢答器是一种通过抢答者的指示灯显示、数码显示和警示显示等手段准确、公正、直观地判断出最先获得发言权选手的设备。

此次设计有4组抢答输入,每组设置一个抢答按钮供抢答者使用。电路具有第一抢答信号的鉴别和锁存功能。当第一抢答者按下抢答开关时,该组指示灯亮以示抢答成功。同时,电路也具备自锁功能,保证能够实现在一路成功抢答有效后,其他三路均不能抢答。本设计基于VHDL语言,采用FPGA为控制核心,并结合动手实践完成,具有电路简单、操作方便、灵敏可靠等优点。该四路抢答器使用VHDL硬件描述语言进行编程,分为七个模块:判断模块,锁存模块,转换模块,扫描模块,片选模块,定时报警模块和译码模块。编程完成后,使用QuartersII工具软件进行编译仿真验证。

关键词:VHDL,FPGA,四路抢答器,仿真

目录

1 概述 ............................................... 1

1.1 设计背景................................................ 1 1.2 抢答器现状.............................................. 1 1.3 本论文主要完成的工作.................................... 1 1.4 设计心得................................................ 2

2 开发工具简介 ....................................... 3

2.1 VHDL语言简介 ........................................... 3 2.2 FPGA开发过程与应用 ..................................... 4

2.2.1 FPGA发展历程及现状 ............................... 4 2.2.2 FPGA工作原理 ..................................... 4 2.2.3 FPGA开发流程 ..................................... 5 2.3 Quartus II软件 ......................................... 6

3系统设计 ........................................... 8

3.1 系统设计要求............................................ 8 3.2 系统设计方案............................................ 8

3.2.1 系统硬件设计方案.................................. 8 3.2.2 系统软件设计方案.................................. 8 3.3.3 系统原理详述..................................... 10

4 电路程序设计及仿真 ................................ 12

4.1 抢答锁存模块设计....................................... 12

4.1.1 VHDL源程序 ...................................... 12 4.1.2 抢答锁存电路的模块............................... 13 4.2 仿真................................................... 14

总结 ................................................ 15 致谢 ................................................ 17 参考文献 ............................................ 18

郑州轻工业学院 课 程 设 计 任 务 书

题目 基于FPGA的电子抢答器的程序设计 专业班级 电子信息工程10-1班 学号 姓名 主要内容、基本要求、主要参考资料等:

主要内容:

抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。要求学生使用硬件描述语言(Verilog 或者 VHDL)设计基于FPGA的电子抢答器的源程序。实现如下功能:设计一个四路抢答器;在一路成功抢答有效后,其他三路均不能抢答,并且将抢答成功的一路用指示灯显示出来。

基本要求:

1、学会quartusII的使用,掌握FPGA 的程序设计方法。 2、掌握硬件描述语言语法。

4、程序设计完成后要求在quartusII中实现功能仿真。 主要参考资料:

1、褚振勇. FPGA设计及应用(第三版)[M].西安电子科技大学出版社.2012,4 2、陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版

社.2008,1

完 成 期 限: 2013.6.21—2013.6.25 指导教师签名: 课程负责人签名:

2013年 6月 18日

1 概述

1.1 设计背景

现场可编程门阵列(简称FPGA)是20世纪80年代中期出现的高密度可编程逻辑器件,采用SRAM开关元件的FPGA是易失性的,每次重新加电, FPGA都要重新装入配置数据。突出优点是可反复编程,系统上电时,给FPGA加载不同的配置数据,即可令其完成不同的硬件功能。这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。“在系统可编程”(简称ISP)是指对器件、电路或整个电子系统的逻辑功能可随时进行修改或重构的能力,支持ISP技术的可编程逻辑器件称为在系统可编程逻辑器件,它不需要专门的编程器,利用计算机接口和一根下载电缆就可以对器件编程了。本设计针对电子技术综合实验的要求,利用EDA技术中quartusII作为开发工具,设计了一款基于FPGA的智力竞赛抢答器。

1.2 抢答器现状

在进行智力竞赛抢答题比赛时,各参赛者考虑后都想抢先答题。如果没有合适的设备,有时难以分清他们的先后,使主持人感到为难。为了使比赛能顺利进行,需要有一个能判断抢答先后的设备,我们将它称为智力竞赛抢答器。在许多抢答竞赛、文体娱乐活动,为了准确、公正、直观地判断出第一抢答者,通常需要设置一台这样的抢答器,通过指示灯显示出第一抢答者。

1.3 本论文主要完成的工作

本课程设计基于VHDL语言,采用FPGA为控制核心,并结合动手实践完成,具有电路简单、操作方便、灵敏可靠等优点。设计四路抢答器使用VHDL硬件描述语言进行编程,分为七个模块:判断模块,锁存模块,转换模块,扫描模块,片选模块,定时报警模块和译码模块。编程完成后,使用QuartersII工具软件进行编译仿真验证。系统达到要求:在一路成功抢答有效后,其他三路均不

1

能抢答,并且将抢答成功的一路用指示灯显示出来。

1.4 设计心得

通过这次课程设计,帮助我们加深理解FPGA程序设计方法,学会quartusII软件的使用,了解简单多功能抢答器组成原理,掌握在quartusII中实现功能仿真的方法,相应地提高动手能力和排障能力,并且良好地巩固已学的理论知识,将硬件描述语言语法与实践相结合。通过分析多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。

2

G(3)<='1';LED(3)<='1';

ELSIF( S2='1')AND NOT(G(0)='1' OR G(1)='1' OR G(3)='1') THEN G(2)<='1';LED(2)<='1';

ELSIF( S1='1')AND NOT(G(0)='1' OR G(2)='1' OR G(3)='1') THEN G(1)<='1';LED(2)<='1';

ELSIF( S0='1')AND NOT(G(1)='1' OR G(2)='1' OR G(3)='1') THEN G(0)<='1';LED(3)<='1'; END IF;

STOP<=G(0) OR G(1) OR G(2) OR G(3); END IF; END IF; CASE G IS

WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS=>STATES<=\END CASE; END PROCESS;

END ARCHITECTURE ONE;

4.1.2 抢答锁存电路的模块

在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。在这个模块输入端有WARN输入(以时间控制系统的WARN输出信号为信号源)、一个和时间控制系统公用的CLEAR端、4人抢答输入信号端S0,S1,S2,S3和有一个时钟信号端CLK,这个时钟信号是个高频信号,用以扫描S0,S1,S2,S3是否有信号输入。输出端有对应于S0,S1,S2,S3编号的4个指示灯LED 和4线2进制输出端STATES (用于锁存当前的状态),还有一个STOP 端用于指示S0,S1,S2,S3按钮状态。

13

图5 抢答锁存电路的模块

4.2 仿真

图6 仿真图

由图中可看出在复位信号CLEAR从高电平降到低电平后,抢答器开始正常工作,此时抢答开始。在此之前S0抢答无效。而S2作为第一抢答者最先抢答,这时开始报警,数码管输出显示1,说明A最先抢答。

14

总结

一周的FPGA课程设计很快就过去了,其中真是有苦更有甜,苦的是我在第一次独自设计一个应用型设备时的不熟悉和不知所措,甜的是经过一周的时间我通过回顾课本知识、询问同学老师和上网学习收获到了很多专业方面的知识更加锻炼了我的动手能力和专业技能。

记得大二下学期第一次上EDA程序设计课的时候,我对硬件设计语言是那么的难以上手,通过杜老师一学期细致的讲解,配合实验课程让我对EDA相关知识、VHDL编程、quartusII软件、MAX_PLUSⅡ软件有了更深的理解和更熟练的掌握。

本次我的课程设计为四路竞赛抢答器,根据电路的特点,我采用层次化结构化设计,将此项设计任务分成部分模块,分别对各个模块进行编程,然后再将各模块合起来编译,这一步一步的加深了我们对于层次化设计的理解和对VHDL设计流程的熟悉。在设计的过程中,遇到问题我们尽量独立思考,查找资料,到自己不能解决的时候就和同小组同学研究讨论,或者向指导老师请教。这样的经历不仅提高了我们独立发现问题、分析问题、解决问题的能力,又很好地培养了交流合作的精神。

通过这次课程设计,进一步加深了我对EDA技术的了解,让我更加明确VHDL的设计流程,并产生了更加浓厚的兴趣。特别是当每一个模块程序调试成功时,内心的满足感真的无法形容。这次经历更让我懂得了理论与实际相结合是十分重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,使理论服务于实际,才能真正为社会服务。在设计的过程中我们不可避免的遇到各种问题,因为这毕竟第一次做的,难免会不尽善尽美。同时在设计的过程中发现了自己不少不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,以后一定加强基础知识的学习。在这次课程设计种我积累了很多宝贵的经验,这对于未来出身社会的我无疑是一笔巨大财富。没有谁是天生就知道那个该怎么做的,都是要靠自己慢慢去探索、学习、尝试的。我深刻知道用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降

15

低了开发成本。这些课程知识的学习我们电子信息工程的同学提供了莫大的帮助,我们理当认真学习这些语言和算法。

总体来说,这次有意义的课程设计让我们都收获颇丰。在学习了EDA技术一学期后我们接着跟随杜老师学习了单片机,在这个知识融会贯通的节骨眼上开展了基于FPGA的课程设计无疑帮助我们更好的理解软件设计的方法,培养了我们独立完成一个项目设计的能力,进一步加深了对EDA技术相关课程的理解,增强了以后专业学习的兴趣,为以后深入学习甚至是工作都积累了宝贵的经验,感谢杜老师和耿老师给我们提供这次设计的机会。

16

致谢

本次课程设计是在我的导师杜老师和耿老师悉心的指导和耐心的帮助之下才得以顺利完成的。这些专业基础知识正是我的EDA技术兼单片机任课老师杜海明老师和FPGA高级应用任课老师耿鑫老师在一节又一节富含激情而且充满了专业前沿知识的课堂中点点滴滴的传授给我们的。两位恩师那严谨的治学态度和渊博的专业知识时时刻刻鼓励着我不断前行,犹记得杜老师为了给我们做实验中午无法休息,周末来到学校加班,对待同学们像自己的孩子一样慈祥而关爱,也难忘耿老师对待学生一丝不苟,为我们补课做实验依然如日常教学一般认真。老师们诲人不倦的作风和踏实认真地品格无不深深的影响着我,受益无穷,我很荣幸能成为这样优秀的教师的学生,借此课程设计结束之际特向这些勤勤恳恳的专业课老师们表达我最深最诚挚的敬意,谢谢你们!

同时,我还要感谢我的同学们和所有给予这次课程设计帮助的老师们,遇到困难时我们一起讨论如何解决,调试成功时我们欢呼雀跃为了一点点成功激动不已,不积跬步无以成千里,相信通过这一点一滴的进步我们一定能够成为像各位老师一样富有专业技能为社会做出贡献的有为之士!

最后,再一次真诚的感谢各位老师和同学们,也谢谢这次答辩的老师们,感谢您百忙之中抽出时间为我们提出宝贵的意见和建议,谢谢你们!

17

参考文献

[1] 王萍.电子设计自动化EDA教程[M].成都:电子科技大学出版社,2000 [2] 黄继业,潘松.EDA技术实用教程[M].北京:科学出版社,2006 [3] 谢自美.电子线路测试(第三版)[M].北京:华中科技大学出版社,2003 [4] 董玉冰.Multsim9在电工电子技术中的应用[M].北京:清华大学出版社,2007

[5] 陈振官.数字电路及制作实例[M].北京:国防工业出版社,2008 [6] 褚振勇. FPGA设计及应用(第三版)[M].西安电子科技大学出版社.2012,4

[7] 陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社.2008,1

18

参考文献

[1] 王萍.电子设计自动化EDA教程[M].成都:电子科技大学出版社,2000 [2] 黄继业,潘松.EDA技术实用教程[M].北京:科学出版社,2006 [3] 谢自美.电子线路测试(第三版)[M].北京:华中科技大学出版社,2003 [4] 董玉冰.Multsim9在电工电子技术中的应用[M].北京:清华大学出版社,2007

[5] 陈振官.数字电路及制作实例[M].北京:国防工业出版社,2008 [6] 褚振勇. FPGA设计及应用(第三版)[M].西安电子科技大学出版社.2012,4

[7] 陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社.2008,1

18

本文来源:https://www.bwwdw.com/article/eo67.html

Top