电子抢答器课程设计论文.doc

上传人:仙人指路1688 文档编号:3989151 上传时间:2023-03-30 格式:DOC 页数:15 大小:107KB
返回 下载 相关 举报
电子抢答器课程设计论文.doc_第1页
第1页 / 共15页
电子抢答器课程设计论文.doc_第2页
第2页 / 共15页
电子抢答器课程设计论文.doc_第3页
第3页 / 共15页
电子抢答器课程设计论文.doc_第4页
第4页 / 共15页
电子抢答器课程设计论文.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《电子抢答器课程设计论文.doc》由会员分享,可在线阅读,更多相关《电子抢答器课程设计论文.doc(15页珍藏版)》请在三一办公上搜索。

1、1 引言现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。后者的核心就是EDA技术。1.1 关于 EDAEDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件

2、描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。目前有多种EDA工具支持采用VHDL进行电路综合、仿真以及实现。一些可编程器件生产商将使用VHDL进行电路设计所需的多种EDA工具集成为统一的开发平台提供给用户,进行针对本公司可编程器件产品的开发,从而使整个设计流程更加简捷和易于使用。目前比较常见的是Altera公司的QuartusII 和Xilinx 公司的ISE开发平台。1.2关于VHDLVHDL是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军

3、用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Description Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL

4、的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点 。与其他硬件描述语言相比,VHDL具有以下特点:(1)功能强大、设计灵活。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他

5、硬件描述语言虽不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。(2)支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。(3)强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外

6、,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。(4)独立于器件的设计、与工艺无关。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。(5)很强的移植能力,易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员

7、之间进行交流和共享,减少硬件电路设计。VHDL语言最直接的应用领域是可编程逻辑器件和专用集成电路(ASIC:Application Specific Integrated Circuits),其中可编程逻辑器件包括复杂可编程逻辑器件(CPLD:Complex Programmable Logic Devices )和现场可编程门阵列(FPGA:Field Programmable Gate Arrays )。可编程逻辑器件自七十年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD/FPGA属高密度可编程逻辑器件,目前集成度已高达200万门/片,它将掩膜ASIC集成度高的

8、优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发。2 功能简介本次设计的四组(人)参加的智力竞赛抢答计时器,它具有四路抢答输入,主持人按下复位键后,系统复位进入抢答状态,计时显示初始值;当某组首先按下抢答键时,该路抢答信号,竞赛抢答器能够设别最先抢答的信号,锁定该信号,同时扬声器响起,参赛小组的序号在数码管上显示;主持人对抢答结果进行确认,给出倒计时计数允许信号,开始回答问题,计时显示器从初始值30开始以秒为单位倒计时,计数至0时,停止计数,扬声器发出超时报警信号,以中止继续回答问题;当主持人给出倒计时计数禁止信号时,扬声器停止鸣叫;参赛者在规定时间内回答完

9、问题,主持人给出倒计时计数禁止信号,以免扬声器鸣叫,按下复位键,又可开始新一轮的抢答;总原理图如图2-1所示。图2-1 总原理图3 系统设计本次设计的抢答器系统由5部分模块组成,分别是:选手抢答模块、锁存模块、计数模块、声音模块、声音信号产生模块。3.1 选手抢答模块设计本模块主要完成两个功能,一是准确的判断出第一位抢答者,二是当选手抢答后送出声音使能信号,从而作为下个模块的声音的触发信号。其VHDL源程序如下:library ieee;use ieee.std_logic_1164.all;entity xuanshou isport(player:in std_logic_vector(3

10、 downto 0); clear:in std_logic; y1:buffer integer range 0 to 9; y2:out std_logic_vector(3 downto 0); ea:out std_logic);end;architecture bhv of xuanshou isbeginprocess(clear,player )beginif clear=1 then -复位信号有效则清零;y1=0;y2=0000;eay1=1;y2=0001;eay1=2;y2=0010;eay1=3;y2=0100;eay1=4;y2=1000;eaNULL;end cas

11、e;end if;end process;end;仿真波形如图3-1-1所示。其中player3,player2,player1,player0分别代表四个参赛选手,组别为4、3、2、1组。按下clear键,系统清零且置ea为高电平,否则,系统自动识别第一位抢答者 player3,并且将ea置低,其后的抢答无效。输出显示第一位抢答者的组别4并且使选手前指示灯亮。此模块生成的元件图如图3-1-2所示。图3-1-1选手抢答模块仿真图图3-1-2 选手抢答元件3.2 锁存模块设计锁存模块是对第一位抢答者的信号进行锁存,其后的信号无效。其中alm0为触发选手抢答报警的声音信号。整个模块VHDL源程序如

12、下:library ieee;use ieee.std_logic_1164.all;entity suocunqi isport(d:in integer range 0 to 9; clear,ea:in std_logic; q: out integer range 0 to 9; clk:in std_logic; alm0:out std_logic); end; architecture bhv of suocunqi is begin process(clear,ea,clk) variable temp:integer range 0 to 20:=0; begin if cl

13、ear=1then q=0;alm0=0;temp:=0; elsif ea=0then -ea为零时锁定选手号,再次选中则无效 q=d; if clkevent and clk=1thentemp:=temp+1;if temp=2 then alm0=0; temp:=temp-1; else alm0=1; end if; end if; end if; end process; end;仿真图及生成元件图分别如图3-2-1、图3-2-2所示图3-2-1锁存模块仿真图3-2-2 锁存元件图3.3计数模块设计比赛中要求第一抢答者在规定时间内回答问题,系统开始30秒倒计时,倒计时完毕发出响声

14、,若能在规定时间内完成,由主持人按使能开关停止倒计时,不发出响声。整个计数模块的源程序及仿真图和元件图如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishuqi isport(stop,clk,rst,en:in std_logic; m:out std_logic; high,low:out std_logic_vector(3 downto 0);end;architecture bhv of jishuqi issignal hh:std_logic_vector(3

15、 downto 0);signal ll:std_logic_vector(3 downto 0);begin process(clk,rst,en,hh,ll)beginif rst=1 then ll=0000;hh=0011;m=0;elsif clkevent and clk=1 then if en=1 then ll=ll-1; if ll=0000 then ll=1001;hh=hh-1; if hh=0000 and ll=0000 then m=1; -计时到则触发声音信号 hh=0000; ll=0000; if stop=1 then -停止计时 ll=ll;hh=hh

16、; end if; end if; end if; end if;end if;high=ll;low=hh;end process;end;仿真图:图3-3-1计数模块仿真图图3-3-2 计数元件图3.4 声音报警模块设计当锁存器锁存第一位抢答选手时,触发短时间报警,显示抢答完成,并且当计时完成时也产生报警信号。这部分的设计程序如下:library ieee;use ieee.std_logic_1164.all;entity shengyin isport(high:in integer range 0 to 9; low:in integer range 0 to 9; stop,m:i

17、n std_logic; clear:in std_logic; alm:out std_logic ); end; architecture bhv of shengyin is begin process(high,low,stop,clear) begin if clear=1then alm=0; elsif stop=1then alm=0; elsif high=0 and low=0 then alm=1; elsif m=1then alm=1; else alm=0; end if; end process; end; 其仿真波形如图3-4-1所示。图3-4-1声音报警模块仿

18、真图元件图如图3-4-2所示图3-4-2 声音报警元件图3.5 声音信号产生模块设计由于声音频率与抢答器频率不同,因此本模块使用单独的时间信号,当报警信号为高电平时,此模块向试验箱上扬声器输入声音信号使其产生报警音,反之则不输出。其VHDL程序如下:library ieee;use ieee.std_logic_1164.all;entity fenpin is port(a,c:in std_logic; -c为声音信号的时钟 s:out std_logic);end;architecture bhv of fenpin isbegin process(a)beginif a=1thens=

19、c;elses=0;end if;end process;end;仿真图及元件图如图3-5-1、图3-5-2所示:图3-5-1 声音信号产生模块仿真图图3-5-2 声音模块生成元件图3.6 顶层文件设计将各个模块生成的器件进行原理图连接或是按下面程序进行综合;并设置为顶层文件,其仿真图如图3-6-1所示。整个系统设计完成,下载到实验箱运行成功。library ieee;use ieee.std_logic_1164.all;待添加的隐藏文字内容1entity qiangdaqi isport(player:in std_logic_vector(3 downto 0); clear,clk,c

20、lock,rst,stop:in std_logic; q:out integer range 0 to 9; y:out std_logic_vector(3 downto 0); alm:out std_logic; high:out integer range 0 to 9; low:out integer range 0 to 9 ); end ; architecture bhv of qiangdaqi is component xuanshou is port(player:in std_logic_vector(3 downto 0); clear:in std_logic;

21、y1:out integer range 0 to 9; y2:out std_logic_vector(3 downto 0); ea:out std_logic);end component; component suocunqi isport(d:in integer range 0 to 9; clear,ea:in std_logic; q: out integer range 0 to 9; clk:in std_logic; alm0:out std_logic); end component ; component jishuqi isport(clk,clear,rst,st

22、op:in std_logic; high:out integer range 0 to 9; low:out integer range 0 to 9);end component ; component shengyin isport(high:in integer range 0 to 9; low:in integer range 0 to 9; stop,m:in std_logic; clear:in std_logic; alm:out std_logic ); end component;component fenpin isport(a,c:in std_logic; s:o

23、ut std_logic);end component; signal x1:integer range 0 to 9; signal x2,x3,x6:std_logic; signal x4:integer range 0 to 9; signal x5:integer range 0 to 9; begin -进行元件例化 u1:xuanshou port map(player,clear,x1,y,x2); u2:suocunqi port map(x1,clear,x2,q,clk,x3); u3:jishuqi port map(clk,clear,rst,stop,x4,x5);

24、 u4:shengyin port map(x4,x5,stop,x3,clear,x6);u5:fenpin port map(x6,clock,alm); high=x4; low=x5; end;图3-6-1总器件仿真图4 设计总结经过了一段时间的努力我终于完成了四路抢答器的设计,从方案的选择,再到设计与实现。在这个过程中我学习到了很多在课本上不能学习到的知识,对一个产品也有了一个新的认识,以前我都很简单的认为一个产品很容易就做出来了,现在我知道了每一个产品都需要。通过这次的课程设计我学到了主要有如下几点:1提前做好准备工作在开始动手之前,我们要把各器件的功能弄清楚,以及如何拓展,只有把

25、这些真正的搞懂之后才能顺利完成设计。2.耐心分析,解决问题设计与实现的过程中我们会遇到一些困难这是很正常的事,但是不能一遇到问题就慌了,要耐心的分析问题并解决,这次课程设计的时候我就遇到了这样的情况。3.团队合作,不懂请教。这次课程设计培养了团队合作,有些时候我们也需要别人的帮助,比如说当我们把元器件连接错的时候,自己一个人很难找到错误,就需要别人帮忙,无形中培养了团队合作的精神。有的时候可能遇到一些问题自己不能解决,这时我们应该虚心像同学请教,只能这样才能更好的解决问题。课程设计虽然结束了,但是我们还有很多的事情要做,对仍然不熟悉或不了解的知识点我们要尽快的去学习了解,对课程设计中出现的问题

26、我们还要去认真的分析研究。还有我们还需要去增强自己的动手能力,去不断的锻炼,只有这样该课程设计才能发挥最大的作用。本次实习最主要的收获是:使我们对VHDL语言编程和QuartusII的使用有了更深层次的感性和理性认识;培养和锻炼我们的实际动手设计的能力。使我们的理论知识与实践充分地结合,作到不仅具有专业知识,而且还具有较强的实践动手能力,能分析问题和解决问题的高素质人才,为以后的顺利就业作好准备。5参考文献1.Voknei A.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.52.潘松,黄继业.EDA技术实用教程(第二版).科学出版社,2005.23.焦素敏.EDA应用技术.清华大学出版社,2002.44.高吉祥,电子技术基础实验与课程设计.电子工业出版社5.曾繁态,等.EDA工程概论.北京:清华大学出版社,2003

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号