[其它]cpldfpga实验台设计_第1页
[其它]cpldfpga实验台设计_第2页
[其它]cpldfpga实验台设计_第3页
[其它]cpldfpga实验台设计_第4页
[其它]cpldfpga实验台设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本系统中主要运用了电路编辑、VHDL语言来设计,并配合ALTERA公司的MAXPLUSII软件进行仿真调试,该软件完全集成化,易学易用,它可以在多种平台上运行。在设计本系统时,将其分解为若干个子系统。子系统再分解为一个个功能独立的模块,这些模块经过设计、仿真、功能正确后,像拼积木似的根据需要进行不同的拼接,完成特定的功能。运用可编程逻辑器件,是不仅能在短时间里完成计划任务,而且能使系统的速度更快,体积更小,重量更轻,功耗更少,加密性能更可靠,满足现代电子发展的需要。本系统主要设计的是键盘扫描电路,数码显示电路,A/D、D/A控制器电路,然后运用可编程逻辑器件进行硬件验证。关键词VHDL模块仿真ABSTRACTTHISSYSTEMMAKEUSEOFPRIMARILYTHEELECTRICCIRCUITEDITS,THELANGUAGEOFVHDLTODESIGN,ANDMATCHWITHTHECOMPANYOFALTERAMAXPLUSIISOFTWAREPROCEEDSTOIMITATETOREALLYADJUSTTOTRY,THATSOFTWAREGATHERSCOMPLETELY,ISEASYTOBELEARNEDANDUSEDEASILY,ITCANRUNONVARIOUSPLATFORMWHILEDESIGNINGTHESYSTEM,ITISSEPTRATEDFROMSOMESUBSYSTEMTHESUBSYSTEMRESOLVESTOANAGAININDEPENDENTMOLDINFUNCTIONINEACHPIECE,THESEMOLDSESPIECETHROUGHDESIGN,IMITATETRUE,FUNCTIONRIGHTEMPRESS,RESEMBLEPUTTOGETHERTHEWOODENBLOCKSACCORDINGTONEEDTOBEPROCEEDEDTOPUTTOGETHERTOCONNECTDIFFERENTLY,COMPLETETHEPARTICULARFUNCTIONTHEPROGRAMMABLELOGICINAPPLICATIONAPPARATUSCANNOTONLYCOMPLETETOPLANTHEMISSIONWITHINSHORTTIME,BUTALSOCANMAKESYSTEMSPEEDISSOONER,THEPHYSICALVOLUMEISSMALLER,THEWEIGHTISLIGHTER,THEPOWERISLESS,ENCRYPTTHEFUNCTIONISMOREDEPENDABLEITSATISFYTHEDEMANDOFTHEMODERNELECTRONICSDEVELOPMENTTHISSYSTEMDESIGNSPRIMARILYISAKEYBOARDTOSCANTHEELECTRICCIRCUIT,NUMBERDISPLAY,A/D,D/ACONTROLLERCIRCUIT,THENWEMAKEUSEOFTHEPROGRAMMABLELOGICAPPARATUSWHICHPROCEEDINGTHEHARDWARETHEVERIFICATIONKEYWORDSVHDL,MODULE,REALLYIMITATE目录第一章绪论111引言1第二章VHDL语言的概述321VHDL语言的概述322VHDL语言特性323VHDL语言的基本结构4第三章EPM7128S芯片简介5第四章CPLD/FPGA实验平台设计741CPLD实验平台功能概述742CPLD实验平台功能模块及VHDL程序设计说明8421键盘显示VHDL程序设计8422A/D采样控制器设计及VHDL程序设计说明27423D/A接口电路与波形发生器设计30结论33致谢34主要参考文献35第一章绪论11引言随着技术的发展,电子信息类产品的开发研制出现了两个趋势开发的复杂程度加深和产品面世的时限紧迫。就是说,一方面开发人员需要将更多的功能、更高的性能和更丰富的技术含量集成于所开发的电子系统之中,另一方面要让产品尽早地进入市场。因此,增强系统功能、提高系统性能、缩短系统开发周期以及尽早推出产品并上市等对电子产品的开发提出了越来越高的要求。解决这个问题的方法就是在系统设计引入可编程逻辑器件,并采用EDA(电子设计自动化)的设计方式。以硬件描述语言表达设计意图、大规模可编程逻辑器件(CPLD/FPGA)作为硬件载体、计算机作为设计开发工具、EDA软件作为开发环境的现代电子设计方法日趋成熟。目前,掌握这种先进的电子设计技术的人才还十分匮乏,这就给高等院校提出了急切的要求,即一方面要深入进行高等院校的教育改革,更新教学内容,培养大批适应这种技术发展所需要的科技人才;另一方面,要大量更新现有的实验用电子仪器设备,引进各种先进的可编程逻辑器件开发实验装备,提高学生的综合素质,适应未来的要求。使用可编程逻辑器件不仅能短时间内完成设计任务,而且能使系统的速度更快,体积更小,重量更轻,功耗更小,加密性能可靠,满足现代电子发展需要。为适应电子技术发展的进步和国际竞争对人才的需求,提高我院电子技术教学的质量和水平,使学生对可编程逻辑器件的开发实验环境有深刻的感性认识,开发一套完整的CPLD/FPGA实验系统势在必行。基于上述考虑,我们认为为了让学生尽快掌握可编程逻辑器件的开发技术,关键在于能否给学生提供一个可编程器件的开发实验环境。改革传统的课程实验模式,而专门研制具有系统级综合能力的实验设备。本CPLD/FPGA实验平台包括体现CPLD/FPGA开发技术的基本方面,如核心CPLD/FPGA芯片,程序下载装置,CPLD/FPGA器件开发、调试、仿真所需要的软件平台,实现基本功能的其他器件和装置等。基本实现键盘扫描,屏幕显示,A/D转换和控制器设计以及D/A接口电路与波形发生器设计等实验模拟仿真目的就是用最简单、最直接的方法体现CPLD/FPGA技术开发的原理和方法。第二章VHDL语言的概述21VHDL语言的概述目前最通用的硬件描述语言有VHDL与VERILOG两种。1982年美国国防部的一个分支专案要求所有的数字电路必须用VHDL语言设计。1983年的IBM及TI等公司在此专案规定下,开始开发VHDL。随后IEEE也认可此成果为IEEE标准,1993年又修订为93年版的IEEE1076号标准10。后来将一种可配合集成工具的VHDL程序包,特别命名为IEEE10763,并成为1076号IEEE标准的一部分。最近,新标准包IEEE10764被开发出来,成为建立ASIC及FPGA的模型函数库。VHDL的设计层面可以划分为系统层、算法层、寄存器传输层、逻辑层以及电路层。另一支VHDL语言的主流是VERILOG,其建模能力可以涵盖所有范围1。22VHDL语言特性VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的12。VHDL语言可描述一个数字电路的输入、输出以及相互间的行为与功能。而其硬件关联性的语法与形式虽类似于一般程序语言,但是涵盖许多与硬件关联的语法构造。其特有的层次性由上而下的结构式语法结构适合大型设计项目的分包下去,各自独立运行。从抽象的层次而言,VHDL的语句分成以下4个大类3采用语言逻辑方式直接描述硬件电路的工作,表示一个设计的功能或算法,描述IC内部电路行为。在此结构定义中可以同时包含并行描述与顺序语句。2数据流从数据输入与输出的观点,大部分的并行语句都用于数据转换工作。3结构式允许设计者以树状形式调用内置电路组件。通常以引脚图方式调用并连接。从硬件的角度说,调用组件就像在组合与连接电路元器件一样。4寄存器传输式VHDL是一种类型化的语言,一种数据类型的数据内容不能指定给其他类型的数据,而且不同数据类型的数据需经过转换才能相互运算。每一种电路的VHDL码都是实体与结构的成对组合,先用实体来定义一个IC电路引脚规格及基本参数,然后在用结构定义IC内部电路的功能运做,即构成一个完整的电路模块6。23VHDL语言的基本结构一个完整的VHDL语言程序通常包括实体(ENTITY)、构造体(ARCHITECTURE)、配置(CONFIGURATION)、包集合(PACKAGE)和库(LIBRARY)5个部分。前4种是可分别编译的源设计单元。实体用于描述所设计电路系统的外部接口信号,系统的输入输出端口及属性都是在实体中定义的;构造体用于描述系统内部的结构和行为,系统要实现的功能都是在构造体内用语言进行描述的;配置用于从库中选取所需单元来组成系统设计的不同版本;包集合存放各种设计模块都能共享的数据类型、常数和子程序等;库存放已经编译的实体、构造体、包集合和配置。库可由用户生成或者是由ASIC芯片制造商提供,以便在设计中为大家所共享。这种功能可以通过特定的语句来实现8。在VHDL语言程序中,最重要的就是实体和构造体部分。它们是一个具体设计的核心。在构造体中,通过各种VHDL语句及合理的设计,接受外部输入信号,在构造体中各种信号协调工作,最后得到所需的输出,传送到输出端口和外部进行交流。第三章EPM7128S芯片简介本设计采用EPM7128S芯片,下面将对其进行简单介绍。ALTERA的EPM7128S系列CPLD是基于第二代MAX结构体系地高性能EEPROM结构的CPLD。完全符合IEEE11491JTAG边界扫描标准,具有5VISP的功能。具有最小5NS的引脚到引脚的逻辑时延,最高可1754MHZ的计数频率。引脚可配置为开漏输出。每个宏单元都有独立的可编程电源控制,最多可以节省50的功耗。宏单元内的寄存器具有单独的时钟和复位等信号。支持多种电压接口7。MAX7128S是一种复杂可编程逻辑器件,IC管脚参阅原理图,是84PINPLCC封装,另外还有其它类型的管脚和封装,选择性强,该IC具有以下主要性能以第二代多阵列矩阵(MAX)结构为基础,是一种高性能CMOSEEPROM器件;通过JTAG(JOINTTEXTACTIONGROUP联合测试组)接口可实现在线编程(ISP),本实验板提供JTAG接口;逻辑密度为2500个可用编程门电路,128个宏单元;68条可编程I/O口,TTL逻辑电平为5V或3V;引脚到引脚的逻辑延时为50NS,计数器工作频率可达到1515MHZ;有集电极开路选择,可编程宏单元触发器,具有专有的清除(CLEAR)、时钟(CLOCK)、输出使能(OE)控制;与不同电源电压的系统接口,VCCIO引脚用于输出缓冲器接到5V电源时,输出电平与5V电源兼容,VCCIO引脚用于输出缓冲器接到33V电源时,输出电平与33V电源兼容,VCCINT用于内部电路和输入缓冲器;包括一个可编程的程序加密位,全面保护专利设计,防止程序被复制和读出。在本设计中,电源接5V,系统输入/出端口信号接I/O引脚,CLK接1024KHZ频率,RESET接外部复位电路。图31EPM7128S芯片引脚图第四章CPLD/FPGA实验平台设计41CPLD实验平台功能概述本文设计的CPLD/FPGA实验平台为VHDL语言学习实验平台。分为外部硬件和软件两个方面。结构图如下图41CPLD/FPGA实验平台结构图外部硬件方面包括各个器件的实验板,本次设计的系统是根据现有的电路设计的。软件方面将引用模块化的概念,将各个功能模块分开成多个小的模块,在实现具体功能的时候运用元件转化成原理图方式实现。优点是可以增加程序的调试速度,同时也能够将工作细分这种概念在以后编写较大型的电路设计程序时,是非常重要且有用的,以提高编程速度。同时针对不同的程序可以适时修改一些参数适应不同的要求,以增加程序的灵活性2。42CPLD实验平台功能模块及VHDL程序设计说明421键盘显示VHDL程序设计一、键盘扫描电路模块设计键盘扫描的电路如附录流程图42分频器电路、键盘扫描计数器电路、键盘COLUMN和ROW按键检测电路、按键抖动消除电路、键盘编码电路等组成11。图42键盘扫描电路流程图下面分块介绍各电路VHDL程序实现及简单原理。1分频器电路模块如果外加信号频率为36864MHZ,由于键盘扫描不需要那么高的频率,所以现在设计严格分频电路将频率降低为1KHZ,因此可以利用如下程序来实现该电路。LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYSCAN_GENISGENERICOSC_FINTEGER3686OSC_BITINTEGER12PORTCLKINSTD_LOGICSCAN_FOUTSTD_LOGICENDSCAN_GENARCHITECTUREBEHAVIOROFSCAN_GENISBEGINSCAN_FREQPROCESSCLKVARIABLEQSCANSTD_LOGIC_VECTOROSC_BIT1DOWNTO0BEGINIFCLKEVENTANDCLK1THENIFQSCANOSC_F1THENFORIINOSC_BIT1DOWNTO0LOOPQSCANI0ENDLOOPELSEQSCANQSCAN1ENDIFENDIFIFQSCANOSC_F1THENSCAN_FOSC_F1则表示计数超过了3686次,输出SCAN_FBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODEBUTT_CODE3686,OSC_BIT12PORTMAPCLOCK,SCANFKEYCOUNTSCAN_COUNTPORTMAPCLOCK,SCANF,KEY_PRESSED,SCAN_CNTKEYSCANKEY_SCANPORTMAPCOL,SCAN_CNT,ROW,KEY_PRESSEDDEBOUNKEYDEBOUNCEPORTMAPKEY_PRESSED,CLOCK,SCANF,KEY_VALIDCODINGCODE_TRANPORTMAPSCAN_CNT,CLOCK,BUTT_CODESCAN_F7THENQDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNULLENDCASEENDPROCESSDDDDISPDATADEND程序设计说明对于此程序的硬件验证方法需要注意以下问题(1)外接信号输入由CLK提供,其周期不能小于DAC0832的转换周期。(2)注意,不用0832时,要将“D/A锁存”和“D/A直通”断开。(3)当信号输入CLK的频率选小时,可以观察数码管的显示数据,了解DAC0832的即时输入的转换数值。结论此次毕业设计全面锻炼了我自己的各方面的能力。虽然只有三个多月的时间,但是学到了许多在书本中学不到的知识,使我的综合能力有了很大的提高。只要归结为以下几点1掌握好规范的软件设计方法,对于VHDL语言,硬件资源要求,工作原理须明确清晰,否则受到指令功能,数目的限制,其间有些程序并不是一次编写完成的,在相互衔接组合中,经过多次反复提高。2掌握电子工程中常用的设计软件,如用开发软件完成编译、仿真工作。3充分锻炼了自己独立思考问题的能力。实际工作中,许多问题具有很大的自由性,在众多的方案面前,必须通过权衡利弊之后才能确定。4深切体会到面临知识不断更新的条件下,青年学生急需开拓视野,建立独立的思维框架,充分发挥自己的能力解决实际致谢为期三个多月的毕业设计就要结束了。在这三个月的设计过程中,得到了指导教师杨光和杨宏伟两位老师的热心指导,在此特向两位老师致以由衷的感谢本次毕业设计中,我进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是VHDL语言在电路描述和设计过程中的强大功能,以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论