版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
、PAGEII摘要本文介绍了一种采用EDA技术,在QuartusII工具软件环境下用VHDL语言编写的数码显示8路抢答器的电路组成、设计思路及功能。抢答器同时供8名选手或8个代表队比赛,分别用8个按钮[1]~[8]表示。设置一个系统清除和抢答控制开关,该开关由主持人控制。抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。系统主芯片采用EP2C35F484C8,由基本时钟发生电路模块,复位电路模块,键盘防抖动模块,键盘扫描模块,数码管驱动模块,报警频率选择模块组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,从而完成抢答器功能。关键词:抢答器;硬件描述语言;可编程逻辑门阵列;AbstractThisarticleintroducesanEDAtechnologytoolsinQuartusIIenvironmentusingVHDLlanguagedigitaldisplay8answeringdevicecircuitdesignideasandfeatures.
Respondersametimeforeightplayersoreightteamcompetition,witheightbuttons,respectively[1]~[8]said.Settingclearandanswerinasystemcontrolswitch,theswitchcontrolbythemoderator.Responderhasalatchanddisplay,theplayerpressthebutton,latchthecorrespondingnumber,speakeraudibleprompts,andseven-segmentdigitaltubedisplayinplayernumbers.Playersanswerintheimplementationoftheprioritylatch,firstanswerinplayernumbershasbeenmaintainedtohostthesystemcleared.
SystemmainchipEP2C35F484C8,fromthebasicclockcircuitmodule,resetthecircuitmodule,keyboardjuddermodule,thekeyboardscanmodule,adigitalcontroldrivemodule,alarmfrequencyselectionmodule.Thecompilationandsimulationprocessisdesigned,intheprogrammablelogicdevicetodownloadverification,thuscompletingtheResponderfeature.Keywords:Responder;VeryHardwareDescriptionLanguage;FPGA;目录TOC\o"1-3"\u摘要 IAbstract II1绪论 11.1选题背景 11.1.1EDA技术的发展 11.1.2课题研究的必要性 21.2课题研究的内容 22系统方案设计 32.1FPGA简介 32.1.1FPGA基本结构 42.1.2FPGA系统设计流程 52.1.3FPGA开发编程原理 72.1.4FPGA配置模式 72.2FPGA的应用 82.2.1电路设计中FPGA的应用 82.2.2产品设计 82.2.3系统及应用 82.3抢答器总体设计方案 92.3.1抢答器的定义 92.3.2本文设计的抢答器的构成 92.3.3抢答器的工作原理 103系统硬件设计与实现 123.1基本时钟发生模块 123.2键盘防抖动模块 133.2.1键盘的作用 133.2.2键盘系统设计 133.2.3键盘防抖动模块工作方式 143.4键盘扫描模块 153.5数码管驱动模块 163.6报警频率选择模块 174抢答器的程序设计与实现 184.1基本时钟发生程序设计 184.2键盘防抖动程序设计 184.3键盘扫描程序设计 194.4数码管驱动程序设计 194.5报警频率选择程序设计 20结论 22致谢 23参考文献 24附录一 25附录二 34附录三 45PAGE231绪论1.1选题背景现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronicdesignautomatic,EDA)技术。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所设置的功能。因此,键信息输入是与软件结构密切相关的过程。根据键盘的结构不同,采用不同的编码方法。但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。1.1.1EDA技术的发展EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。1.1.2课题研究的必要性在科技爆炸式发展的今天,高新技术层出不穷。数字抢答器作为日常工作学习娱乐当中都能用到的设备,其反映速度尤为重要。FPGA作为新技术具有如下优点:1,FPGA运行速度快。
2,FPGA管脚多,容易实现大规模系统。
3,FPGA内部程序并行运行,有处理更复杂功能的能力。4,FPGA有大量软核,可以方便进行二次开发。在进行智力竞赛时,每个参赛队员考虑后都希望抢答成功,如果没有合适的设备,主持人就会很难分辨出哪组队员抢答成功,为了使比赛顺利进行,设计了一款基于FPGA的抢答器。所以学习FPGA利用FPGA进行高精度数字抢答器的设计十分必要。1.2课题研究的内容本课题研究的抢答器要求同时供8名选手或8个代表队比赛,选手按动按钮,,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。当主持人未按下开关开始抢答前,参赛选手按下开关无效。本设计第一章内容为绪论,简单介绍论文背景以及设计的意义。第二章为方案介绍,介绍了本设计实现的主要技术以及方案的确定。第三章为硬件部分介绍,主要实现各个功能模块的分析以及工作流程分析。第四章为软件部分设计,介绍VHDL语言编程的相关模块实体,并通过流程图的形式,给出工作过程。2系统方案设计2.1FPGA简介FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,与之相应的CPLD是复杂可编程逻辑器件(ComplexProgrammableLogicDevice)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLA/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。2.1.1FPGA基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB--ConfigurableLogicBlock)、输入/输出模块(IOB--I/OBlock)和互连资源(IR—InterconnectResource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。1.CLB是FPGA的主要组成部分。图2-1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G’、F’和H’。G有4个输入变量G1、G2、G3和G4;F也有4个输入变量F1、F2、F3和F4。这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G’和F’,而另一个输入信号是来自信号变换电路的输出H1。这个函数发生器能实现3输入变量的各种组合函数。这3个函数发生器结合起来,可实现多达9变量的逻辑函数。CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。另一方面,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。2.输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲器的输出分成两路:一路可以直接送到MUX,另一路经延时几纳秒(或者不延时)CLCLB器件编程文件=8\*GB3⑧仿真综合库VHDL代码或图形方式输入=2\*GB3②ASIC实现适配报告=8\*GB3⑧适配后时序仿真适配后仿真模型=8\*GB3⑧CPLD/FPGA实现适配器=7\*GB3⑦适配前时序仿真=6\*GB3⑥综合器=5\*GB3⑤代码级功能仿真=4\*GB3④CLBCLBCLBCLBBCLBCLBCLBCLBCLBCLBCLBCLBBCLBCLBCLB可编程开关矩输入输出模块互连资源图2-1CLB基本结构送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通Vcc、地线或者不接通,用以改善输出波形和负载能力。3.可编程互连资源IR。可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。2.1.2FPGA系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOPDOWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图2-2所示。系统划分系统划分=1\*GB3①编译器=3\*GB3③代码级功能仿真=4\*GB3④综合器=5\*GB3⑤适配前时序仿真=6\*GB3⑥适配器=7\*GB3⑦CPLD/FPGA实现适配后仿真模型=8\*GB3⑧适配后时序仿真适配报告=8\*GB3⑧ASIC实现VHDL代码或图形方式输入=2\*GB3②仿真综合库器件编程文=8\*GB3⑧图2-2FPGA设计流程流程说明:1.工程师按照“自顶向下”的设计方法进行系统划分。2.输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。3.将以上的设计输入编译成标准的VHDL文件。4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。7.利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8.在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。2.1.3FPGA开发编程原理硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。CPLD/FPGA软件设计可分为两大块:编程语言和编程工具。编程语言主要有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGAExpress、Modelsim、SynposysSVS等)。具体的设计输入方式有以下几种:1.HDL语言方式。HDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。2.图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。有的软件3种输入方法都支持,如Active-HDL。MAX+plusII图形输入方式只支持电路原理图描述和波形描述两种。电路原理图方式描述比较直观和高效,对综合软件的要求不高。一般大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片利用率很高,但是但项目很大的时候,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。这种输入方式最后所能达到的工作速度和芯片利用率也是主要取决于综合软件。2.1.4FPGA配置模式FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nmFPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65nmFPGA器件。设计软件供应商Magma推出的综合工具BlastFPGA能帮助建立优化的布局,加快时序的收敛。最近FPGA的配置方式已经多元化!2.2FPGA的应用FPGA的应用可分为三个层面:电路设计,产品设计,系统设计2.2.1电路设计中FPGA的应用连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石.事实上在电路设计中应用FPGA的难度还是比较大的这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用IP的设计将成为一个热门行业!搞电路设计的前提是必须要具备一定的硬件知识.在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗.2.2.2产品设计把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建"首发团队"的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能做到的!产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇2.2.3系统及应用系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用XilinxV-4,V-5系列的FPGA,实现内嵌POWERPCCPU,然后再配合各种外围功能,实现一个基本环境,在这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口(如图象接口)了这对于快速构成FPGA大型系统来讲是很有帮助的。2.3抢答器总体设计方案2.3.1抢答器的定义什么是智能抢答器?抢答器由单片机以及外围电路组成,由于采用电子技术,使得外围电路非常简单,但是功能并不比一般的抢答器少。智能抢答器具备抢答、答题、必答、共答风险题、倒计时、电子记分等功能。一键式快速简易的操作方式,声音、声音加全语音、音乐的四种声音自由选择的内存声音,竞赛中机器自动发音裁决某支代表队抢答成功或多支代表队犯规。全自动、任意、半自动、可连续计时抢答的四套抢答模式,覆盖了中央电视台幸运52、SK状元榜、三星智力快车等节目,以及全国各省市电视台采用的竞赛抢答模式。电脑型智能按钮会自动发出抢答指令亮(白光),抢答成功亮(绿灯),抢答犯规亮(红灯)属国内独创(专利产品)已于今年全新上市。目前该套机型在业内最先进、最具稳定性、功能强大,安装简易(线一连即可)操作简单(一键式)。模型如图2-3和图2-4。图2-3抢答器按钮图2-4抢答器显示屏抢答器和计分器的可分为:数字显示抢答器,知识竞赛抢答器,计分器,电子抢答器,计时抢答器,智力竞赛抢答器,数字抢答器,多路抢答器等。智能抢答器的应用随着电子技术的发展,现在的抢答器功能越来越强,可靠性和准确性也越来越高。以前的抢答器大部分都是基于数字电路组成的。制作过程复杂,而且准确性与可靠性不高,成品面积大,安装,维护困难。由于近年来单片机发展迅速,逐渐出现用单片机制作抢答器,制作过程简单,而且安装,维护简单。2.3.2本文设计的抢答器的构成
本文以FPGA为基础设计的电子抢答器,根据设计功能要求,设计文件主要包括:基本时钟发生电路模块,复位电路模块,键盘防抖动模块,键盘扫描模块,数码管驱动模块,报警频率选择模块等;抢答器结构简图如图2-5所示:键盘键盘复位电路模块23465781数码管驱动模块键盘扫描模块报警频率选择模块键盘防抖动模块基本时钟发生电路模块图2-5抢答器结构简图2.3.3抢答器的工作原理基本时钟电路发生模块需要连接到各个模块,为各个模块提供扫描频率,复位电路也需要连接到各个模块,复位电路模块主要包含一个主持人按钮,每次抢答结束后只有主持人按下复位按钮之后方可抢答。抢答器设置有1-8一共8个按钮,按钮连接有键盘防抖动模块,防止由于键盘抖动产生的,连续多次不稳定信号。键盘产生的第一个信号送入键盘扫描模块,进行锁存,此时其它按键的信号不再有效。键盘扫描模块锁存的信号经过数码管驱动和报警频率选择模块将会在在i七段数码液晶显示器上显示和在报警器中发出不同频率的声响。这样就实现了抢答的功能。总图(见附录三)说明: my_pll是一个锁相环电路,它能够实现转换信号频率实现时钟发生器的设计他的输入端为clk_25Hz输出端为clk_50Hz,器输出端分别连接到其他模块的clk端。reset_n是一个低电平有效的复位模块,分别连接到各个模块的clr端口。key_in[7…0]是8个抢答器按钮,将它接到防抖动模块经过防抖动处理输出key_out[7…0],key_out[7…0]直接连接到了keyboard_judge模块,在此模块选择并锁存第一个抢答的信号,讲暑促的结果送至数码管驱动模块alarm,数码管驱动模块经过译码输出7段译码给输出端led[6…0],此外还将数据送至报警频率选择模块sound的输入端,sound模块经过pwm调制讲不通组别的选手按键以不同的频率声音输出给输出端sounder。3系统硬件设计与实现3.1基本时钟发生模块基本时钟发生模块用到的是锁相环(phase-lockedloop)简称pll模块。该模块为无线电发射中使频率较为稳定的一种方法,主要有VCO(压控振荡器)和PLLIC,压控振荡器给出一个信号,一部分作为输出,另一部分通过分频与PLLIC所产生的本振信号作相位比较,为了保持频率不变,就要求相位差不发生改变,如果有相位差的变化,则PLLIC的电压输出端的电压发生变化,去控制VCO,直到相位差恢复!达到锁频的目的!!能使受控振荡器的频率和相位均与输入信号保持确定关系的闭环电子电路。锁相环由鉴相器、环路滤波器和压控振荡器组成。鉴相器用来鉴别输入信号Ui与输出信号Uo之间的相位差,并输出误差电压Ud。Ud中的噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器(VCO)的控制电压Uc。Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi,当二者相等时,环路被锁定,称为入锁。维持锁定的直流控制电压由鉴相器提供,因此鉴相器的两个输入信号间留有一定的相位差。PLL:phaseLockedLoop相同步回路,锁相回路,用来统一整合时脉讯号,使内存能正确的存取资料。直接数字频率合成(DDS—DigitalDirectFrequencySynthesis)技术是一种新的频率合成方法,是频率合成技术的一次革命,JOSEPHTIERNEY等3人于1971年提出了直接数字频率合成的思想,但由于受当时微电子技术和数字信号处理技术的限制,DDS技术没有受到足够重视,随着电子工程领域的实际需要以及数字集成电路和微电子技术的发展,DDS技术日益显露出它的优越性。DDS是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于ROM的地址线位数,幅度量化噪声取决于ROM的数据位字长和D/A转换器位数。DDS有如下优点:⑴频率分辨率高,输出频点多,可达个频点(N为相位累加器位数);⑵频率切换速度快,可达us量级;⑶频率切换时相位连续;⑷可以输出宽带正交信号;⑸输出相位噪声低,对参考频率源的相位噪声有改善作用;⑹可以产生任意波形;⑺全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等。这些DDS芯片的时钟频率从几十兆赫兹到几百兆赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器。PLL:PhaseLockedLogic相同步逻辑锁相环的用途是在收、发通信双方建立载波同步或位同步。因为它的工作过程是一个自动频率(相位)调整的闭合环路,所以叫环。锁相环分模拟锁相环和数字锁相环两种。本抢答器设计的锁相环电路如图3-1图3-1基本时钟发生模块3.2键盘防抖动模块3.2.1键盘的作用键盘是人与微机系统打交道的主要设备。关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中。矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。3.2.2键盘系统设计首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。非编码键盘的键输入程序应完成的基本任务1.监测有无键按下;键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否。2.判断是哪个键按下。3.完成键处理任务。从电路或软件的角度应解决的问题1.消除抖动影响。键盘按键所用开关为机械弹性开关,利用了机械触点的合、断作用。由于机械触点的的弹性作用,一个按键开关在闭合和断开的瞬间均有一连串的抖动,波形如下:图3-2按键触点的机械抖动抖动时间的长短由按键的机械特性决定,一般为5-10ms,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为多次按键操作,从而引起误处理。为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。按键的消抖,通常有软件,硬件两种消除方法。硬件消抖:只适用于键的数目较少的情况。软件消抖:如果按键较多,硬件消抖将无法胜任,常采用软件消抖。通常采用软件延时的方法:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。(这种消除抖动影响的软件措施是切实可行的。)2.采取串键保护措施。串键:是指同时有一个以上的键按下,串键会引起CPU错误响应。通常采取的策略:单键按下有效,多键同时按下无效。3.处理连击。连击:是一次按键产生多次击键的效果。要有对按键释放的处理,为了消除连击,使得一次按键只产生一次键功能的执行(不管一次按键持续的时间多长,仅采样一个数据)。否则的话,键功能程序的执行次数将是不可预知,由按键时间决定。连击是可以利用的。连击对于用计数法设计的多功能键特别有效。3.2.3键盘防抖动模块工作方式 键盘防抖动模块的输入端有clk、clr、8个抢答按钮key_in[7...0]输出端为8个输出信号key_out[7…0]。本模块用于当有按键按下时,采用软件消抖的办法去除按键抖动。模块的实现方法是先判断是否有按键按下,如有按键按下则延时一段时间,待抖动过去之后再读行线状态,如果仍有低电平行线,则确定有按键按下,然后产生一个有按键按下的信号。该模块有一个时钟输入端口,输入时钟信号是分频出来的1KHZ的时钟;有一个输入端口与行线相连,用于输入行线状态;一个输出端口,用于输出有按键按下的信号。该模块的逻辑框图如图4-3。图3-3键盘防抖动模块3.4键盘扫描模块键盘扫描模块是实现抢答器抢答功能的核心元件了,通过键盘扫描模块来鉴别抢答的先后,并且锁存输出,其流程如图3-4开始开始初始化锁存第1组第2组第3组第8组否是是否否是是图3-4键盘扫描模块工作流程键盘扫描模块的输入端由clk、clr、key_in[7…0]组成,输出端为key_out[7…0],结构图如图3-5所示:图3-5键盘扫描模块3.5数码管驱动模块在数字系统中常见的数码显示器通常有:发光二极管数码管(LED数码管)和液晶显示数码管(LCD数码管)两种。发光二极管数码管是用发光二极管构成显示数码的笔划来显示数字,由于发二极管会发光,故LED数码管适用于各种场合。液晶显示数码管是利用液晶材料在交变电压的作用下晶体材料会吸收光线,而没有交变电场作用下有笔划不会听吸光,这样就可以来显示数码,但由于液晶材料须有光时才能使用,故不能用于无外界光的场合(现在便携式电脑的液晶显示器是用背光灯的作用下可以在夜间使用),但液晶显示器有一个最大的优点就是耗电相当节省,所以广泛使用于小型计算器等小型设备的数码显示。数码管驱动模.块就是将输入的16进制代码以7段译码的方式输出。可以使用一个一个7位向量来分别表示七段译码器中的七段。如表3-1:表3-116进制数与7段译码对应表16进制数七位译码X"01"0110000X"02"1011011X"03"1001111X"04"1100110X"05"1101101X"06"1111101X"07"0000111X"08"1111111数码管驱动模块的输入部分主要包括clr、clk、key_in[7…0],输出部分主要包括连接到报警频率选择的输入端的信号sound[7…0]和7段数码管显示信号data_out[6…0]。如图3-6:图3-6数码管驱动模块3.6报警频率选择模块报警频率选择模块的功能是通过PWM调制来调节脉宽从而改变声音的频率。脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点.由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。报警频率模块主要包括输入端clr、clk、sound[7…0],输出alarm主要是接一个发声设备。如图3-7:图3-7报警频率选择模块
4抢答器的程序设计与实现4.1基本时钟发生程序设计LIBRARYieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYmy_pllIS PORT ( inclk0 :INSTD_LOGIC:='0'; c0 :OUTSTD_LOGIC );ENDmy_pll;上述程序描述了基本时钟发生程序模块的实体部分libraryieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;是本程序的头文件,ENTITY定义了本程序的实体,实体名是my_pll,PORT为端口说明语句,inclk0和c0是端口名,端口名后跟着端口模式和数据类型,in代表输入,out代表输出,最后以END结尾。基本时钟发生的波形仿真如图5-1,频率由之前的25Hz变为了50Hz。图4-1基本时钟发生的波形仿真图4.2键盘防抖动程序设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityqudouisport( clk:instd_logic; clr:instd_logic; key_in:instd_logic_vector(7downto0); key_out:outstd_logic_vector(7downto0) );endqudou;上述程序描述了键盘防抖动程序模块的实体部分分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的头文件,entity定义了本程序的实体,实体名是qudou,port为端口说明语句clk、clr、key_in和key_out是端口名,端口名后跟着端口模式和数据类型,in代表输入out代表输出,最后以END结尾。4.3键盘扫描程序设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitykeyboard_judgeisport( clk:instd_logic; clr:instd_logic; key_in:instd_logic_vector(7downto0); key_out:outstd_logic_vector(7downto0) );endkeyboard_judge;上述程序描述了键盘防抖动程序模块的实体部分分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的头文件,entity定义了本程序的实体,实体名是keyboard_judge,port为端口说明语句clk、clr、key_in和key_out是端口名,端口名后跟着端口模式和数据类型,in代表输入out代表输出,最后以end结尾。程序仿真图如图4-2图4-2键盘扫描仿真波形图4.4数码管驱动程序设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityalarmisport( clr:instd_logic; clk:instd_logic; key_in:instd_logic_vector(7downto0); sound:outstd_logic_vector(7downto0); data_out:outstd_logic_vector(6downto0));endalarm;上述程序描述了键盘防抖动程序模块的实体部分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的头文件,entity定义了本程序的实体,实体名是alarm,port为端口说明语句clk、clr、key_in、sound和data_out是端口名,端口名后跟着端口模式和数据类型,in代表输入out代表输出,最后以end结尾。数码管驱动程序的仿真图,如图5-3图5-3数码管驱动程序的仿真图4.5报警频率选择程序设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitysoundisport( clr:instd_logic; clk:instd_logic; sound:instd_logic_vector(7downto0); alarm:outstd_logic);endsound;上述程序描述了键盘防抖动程序模块的实体部分分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的头文件,entity定义了本程序的实体,实体名是去抖,port为端口说明语句clk、clr、sound和alarm是端口名,端口名后跟着端口模式和数据类型,in代表输入out代表输出,最后以end结尾。报警频率选择模块仿真如图5-4,从图中得出不同的号码对应的频率不同。图5-4警频率选择模块仿真图
结论将程序进行编译仿真后进行分析仿真图可证明本设计所用的基于FPGA的在QuartersII软件平台上实现的高精度数字抢答器是完全可行的。这次毕业设计我设计了基于FPGA的一个高精度数字抢答器,采用了EDA技术、数字电子、模拟电子等相关技术在QuartusII软件平台上,用VHDL语言编写实现其功能,经过仿真验证符合抢答器的基本功能要求。此次毕业设计把在学校四年所学知识连成一串。理论联系实践,体现出大学生动手能力。通过查资料和搜集有关的文献,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。把握重点、攻克难关,学到用到、活学活用。在设计过程中由于时间仓促有很多地方难免存在不足之处,在软件设计中有些功能还尚未开发出来。但在以后的工作中,我们会严格要求自己,追求完美。恳请老师批评指正。任何设计的控制系统都要经过实验和时间的考验方能得到完善,我们做毕业设计也是一样,这毕业设计是对我们所学专业知识的考验,更是对我们应用专业知识解决实际生产问题能力的考验。通过毕业设计,我更加坚信只有拥有一定的毅力,认真的学习态度,丰富的日常积累,正确处理问题的能力,才能在以后的工作及生活中经得住考验。
致谢感谢我的母校对我四年来的大力栽培。经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。在这里首先要感谢我的导师姜凯老师。姜老师平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,电路图设计等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是姜老师仍然细心地纠正图纸中的错误。除了敬佩俞老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。在此,我谨向姜凯老师表示崇高的敬意和衷心的感谢!此外,在论文设计过程中,还受到多问老师的指导和帮助,他们无私奉献、兢兢业业、教书育人的态度深深打动了我,在此我也向在本论文设计过程中曾给予我帮助和的老师们说声谢谢!与此同时,还要感谢同学们的帮助,在论文资料收集和实习期间,不管遇到什么困难,同学们都积极给予帮助,为我解决了不少问题,从而完善了论文的内容;尤其要感谢我的舍友们在我外出实习时给与我的极大的帮助。本毕业设计在设计过程中,还得到不少朋友和网友的大力支持和帮助,亦在此表示诚挚的谢意!由于本人学识有限,加之时间仓促,文中不免有错误和待改进之处,真诚欢迎各位师长、同学提出宝贵意见。最后,我要向在百忙之中抽时间对本文进行审阅、评议和参加本人论文答辩的各位老师表示衷心的感谢!参考文献[1]张占锋,基于FPGA智力竞赛抢答器的设计.大众科技,2008年第12期.[2]廖日坤,CPLD/FPGA嵌入式应用开发技术白金手册,中国电力出版社,2003,212-218。[3]王开军,姜宇柏,面向CPLD/FPGA的VHDL设计,机械工业出版社,2006,28-65。[4]赵保经,中国集成电路大全,国防工业出版社,1985。[5]高吉祥,电子技术基础实验与课程设计,电子工业出版社,2002。[6]吕思忠,数子电路实验与课程设计,哈尔滨工业大学出版社,2001。[7]谢自美,电子线路设计、实验、测试,华中理工大学出版社,2003。[8]赵志杰,集成电路应用识图方法,机械工业出版社,2003,35-40。[9]张庆双,电子元器件的选用与检测,机械工业出版社,2003。[10]谭会生,张昌凡,EDA技术及应用,西安电子科技大学出版社,2002。[11]李可,数字钟电路及应用[M],北京:电子工业出版社,1996。[12]康华先,电子技术基础(数字部分)第四版[M].北京:高等教育出版社,2000.213-224。[13]集成电路手册分编委会编,中外集成电路简明速查手册,TTL、CMOS电路[M],北京:电子工业出版社,1997。[14]康华光,电子技术基础,高等教育出版社,2002[15]宋春荣,通用集成电路速查手册,山东科学技术出版社,1995。[16]阎石,数字电子技术基础(第四版)[M],北京:高等教育出版社,1998。[17]高曙光.可编程逻辑器件原理、开发与应用[M].西安:西安电子科技大学出版社,2002.[18]刘宝琴.Ahera可编程逻辑器件及其应用[M].北京:清华大学出版社,1995.[19]阎石.数字电子技术基础[M].北京:高等教育出版社,1999.[20]章忠全.电子技术基础实验与课程设计[M].中国电力出版社,1999.[21]韩芝侠.一款工作可靠的智力竞赛抢答器电路的设计与分析[J].现代电子技术,2005,28(20):29-31.[22]KawasakiHiroaki,SakuradaHiroshi,NarushimaShinichi,etalDouble-facedvacuumfluorescentdisplay[P].USPatent:5463276,1995附录一(中英文翻译)英文资料:Field-programmablegatearray"FPGA"redirectshere.ItisnottobeconfusedwithFlip-chippingridarray.Afield-programmablegatearray(FPGA)isanintegratedcircuitdesignedtobeconfiguredbythecustomerordesigneraftermanufacturing—hence"field-programmable".TheFPGAconfigurationisgenerallyspecifiedusingahardwaredescriptionlanguage(HDL),similartothatusedforanapplication-specificintegratedcircuit(ASIC)(circuitdiagramswerepreviouslyusedtospecifytheconfiguration,astheywereforASICs,butthisisincreasinglyrare).FPGAscanbeusedtoimplementanylogicalfunctionthatanASICcouldperform.Theabilitytoupdatethefunctionalityaftershipping,partialre-configurationoftheportionofthedesignandthelownon-recurringengineeringcostsrelativetoanASICdesign(notwithstandingthegenerallyhigherunitcost),offeradvantagesformanyapplications.FPGAscontainprogrammablelogiccomponentscalled"logicblocks",andahierarchyofreconfigurableinterconnectsthatallowtheblockstobe"wiredtogether"—somewhatlikeaone-chipprogrammablebreadboard.Logicblockscanbeconfiguredtoperformcomplexcombinationalfunctions,ormerelysimplelogicgateslikeANDandXOR.InmostFPGAs,thelogicblocksalsoincludememoryelements,whichmaybesimpleflip-flopsormorecompleteblocksofmemory.HistoryTheFPGAindustrysproutedfromprogrammableread-onlymemory(PROM)andprogrammablelogicdevices(PLDs).PROMsandPLDsbothhadtheoptionofbeingprogrammedinbatchesinafactoryorinthefield(fieldprogrammable),howeverprogrammablelogicwashard-wiredbetweenlogicgates.Inthelate1980stheNavalSurfaceWarfareDepartmentfundedanexperimentproposedbySteveCasselmantodevelopacomputerthatwouldimplement600,000reprogrammablegates.Casselmanwassuccessfulandapatentrelatedtothesystemissuedin1992.Someoftheindustry’sfoundationalconceptsandtechnologiesforprogrammablelogicarrays,gates,andlogicblocksarefoundedinpatentsawardedtoDavidW.PageandLuVerneR.Petersonin1985.XilinxCo-Founders,RossFreemanandBernardVonderschmitt,inventedthefirstcommerciallyviablefieldprogrammablegatearrayin1985–theXC2064.TheXC2064hadprogrammablegatesandprogrammableinterconnectsbetweengates,thebeginningsofanewtechnologyandmarket.TheXC2064boastedamere64configurablelogicblocks(CLBs),withtwo3-inputlookuptables(LUTs).Morethan20yearslater,FreemanwasenteredintotheNationalInventor'sHallofFameforhisinvention.Xilinxcontinuedunchallengedandquicklygrowingfrom1985tothemid-1990s,whencompetitorssproutedup,erodingsignificantmarket-share.By1993,Actelwasservingabout18percentofthemarket.The1990swereanexplosiveperiodoftimeforFPGAs,bothinsophisticationandthevolumeofproduction.Intheearly1990s,FPGAswereprimarilyusedintelecommunicationsandnetworking.Bytheendofthedecade,FPGAsfoundtheirwayintoconsumer,automotive,andindustrialapplications.FPGAsgotaglimpseoffamein1997,whenAdrianThompson,aresearcherworkingattheUniversityofSussex,England,mergedgeneticalgorithmtechnologyandFPGAstocreateasoundrecognitiondevice.Thomson’salgorithmconfiguredanarrayof10x10cellsinaXilinxFPGAchiptodiscriminatebetweentwotones,utilisinganaloguefeaturesofthedigitalchip.TheapplicationofgeneticalgorithmstotheconfigurationofdeviceslikeFPGA'sisnowreferredtoasEvolvablehardware.ModerndevelopmentsArecenttrendhasbeentotakethecoarse-grainedarchitecturalapproachastepfurtherbycombiningthelogicblocksandinterconnectsoftraditionalFPGAswithembeddedmicroprocessorsandrelatedperipheralstoformacomplete"systemonaprogrammablechip".ThisworkmirrorsthearchitecturebyRonPerlofandHanaPotashofBurroughsAdvancedSystemsGroupwhichcombinedareconfigurableCPUarchitectureonasinglechipcalledtheSB24.Thatworkwasdonein1982.ExamplesofsuchhybridtechnologiescanbefoundintheXilinxVirtex-IIPROandVirtex-4devices,whichincludeoneormorePowerPCprocessorsembeddedwithintheFPGA'slogicfabric.TheAtmelFPSLICisanothersuchdevice,whichusesanAVRprocessorincombinationwithAtmel'sprogrammablelogicarchitecture.TheActelSmartFusiondevicesincorporateanARM_architectureCortex-M3hardprocessorcore(withupto512kBofflashand64kBofRAM)andanalogperipheralssuchasamulti-channelADCandDACstotheirflash-basedFPGAfabric.Analternateapproachtousinghard-macroprocessorsistomakeuseofsoftprocessorcoresthatareimplementedwithintheFPGAlogic.Aspreviouslymentioned,manymodernFPGAshavetheabilitytobereprogrammedat"runtime,"andthisisleadingtotheideaofreconfigurablecomputingorreconfigurablesystems—CPUsthatreconfigurethemselvestosuitthetaskathand.TheMitrionVirtualProcessorfromMitrionicsisanexampleofareconfigurablesoftprocessor,implementedonFPGAs.However,itdoesnotsupportdynamicreconfigurationatruntime,butinsteadadaptsitselftoaspecificprogram.Additionally,new,non-FPGAarchitecturesarebeginningtoemerge.Software-configurablemicroprocessorssuchastheStretchS5000adoptahybridapproachbyprovidinganarrayofprocessorcoresandFPGA-likeprogrammablecoresonthesamechip.ApplicationsApplicationsofFPGAsincludedigitalsignalprocessing,software-definedradio,aerospaceanddefensesystems,ASICprototyping,medicalimaging,computervision,speechrecognition,cryptography,bioinformatics,computerhardwareemulation,radioastronomy,metaldetectionandagrowingrangeofotherareas.FPGAsoriginallybeganascompetitorstoCPL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年铣铁铸件搬迁改造项目可行性研究报告
- 2024-2030年通信基站行业市场发展分析及发展趋势前景预测报告
- 2024-2030年移动支付搬迁改造项目可行性研究报告
- 2024-2030年电火花机床搬迁改造项目可行性研究报告
- 2024-2030年污水处理设备公司技术改造及扩产项目可行性研究报告
- 我要变大绘本课程设计
- 智能温控风扇课程设计
- 大型体操馆建设施工管理承包合同
- 2024年标准商品互换合同模板版
- 婚庆公司出纳劳动合同样本
- 工业制造企业战略规划
- 驾驶证学法减分(学法免分)试题和答案(50题完整版)1650
- 期末测试卷(试题)-2024-2025学年人教PEP版(2024)英语三年级上册
- 2024重庆空港贵宾服务有限公司招聘笔试冲刺题(带答案解析)
- 催化材料智慧树知到答案章节测试2023年南开大学
- 曼昆《经济学原理》(微观经济学分册)第8版 全部答案
- 静脉留置针穿刺冲封管及拔管图解流程参考模板
- ~数字逻辑试卷及答案
- 机械设备危险源辨识
- 爱的教育比体罚教育更有效(辩论).doc
- 普通医院体检表
评论
0/150
提交评论