可编程逻辑器件CPLD_第1页
可编程逻辑器件CPLD_第2页
可编程逻辑器件CPLD_第3页
可编程逻辑器件CPLD_第4页
可编程逻辑器件CPLD_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第27章可编程逻辑器件CPLD可编程逻辑器件是单片机之外另一种常用的逻辑控制单元。它是一种半定制专用集成电路(ASIC),其功能可由设计者根据自己的需要来加以定义。目前普遍使用的有CPLD和FPGA两种,其以工作速度快、集成度高、功耗低、适应性强等优点,受到广大电子设计人员的普遍欢迎。CPLD/FPGA和单片机一样,都是可重复擦写的器件,不过这两者是按照不同的原理而设计的。其性能各有优劣,有些功能两者都可以实现,但有些功能用单片机或CPLD/FPGA实现比较方便。因此,对于复杂的系统,很多时候需要两者配合使用,发挥各自的优势。本章主要以广泛使用的Altera的EPM7128SLC84-15芯片为例进行介绍,包括程序下载以及如何实现使用CPLD来扩展单片机I/O接口。27.1可编程逻辑器件概述可编程逻辑器件(ProgrammableLogicDevice)简称PLD,是一种用户可配置的逻辑器件。其以成本低、使用灵活,设计周期短和可靠性高等优点,近年来得到快速的发展,目前成为专用集成电路(ASIC—ApplicationSpecificIntegratedCircuit)的一个重要分支。27.1.1可编程逻辑器件的发展可编程逻辑器件从产生到现在经历了不到40年的发展,其结构、工艺、集成度、速度和性能等都得到不断改进和提高,现在已经形成很丰富完善的产品体系。20世纪70年代,出现了最早的可编程逻辑器件PROM,以及可编程逻辑阵列(ProgrammableLogicArray,简称为PLA)和可编程阵列逻辑(ProgrammableArrayLogic,简称为PAL)。20世纪80年代,进入实质性的发展阶段。Altera推出了新型的可编程逻辑器件(ErasableProgrammableLogicDevice,简称为EPLD)。同时,Xilinx推出了现场可编程逻辑器件(FieldProgrammableGateArray,简称为FPGA)。紧接着,Lattice又推出了复杂可编程逻辑器件(ComplexPLD,简称为CPLD)。20世纪90年代以后,随着集成电路制造工艺的发展,CPLD和FPGA的集成度越来越高,规模越来越大,设计方式越来越灵活,设计软件也逐步完善。27.1.2CPLD的结构及其逻辑实现可编程逻辑器件PLD结构上是由与阵列和或阵列构成,原理是基于所有的逻辑电路都可以用“积之和”的布尔方程来表示。其中,两级逻辑阵列的一个阵列或全部阵列可以通过编程来实现不同的组合,从而达到要求的逻辑功能。目前应用最为广泛的是CPLD和FPGA,这两者在结构上是完全不同的。这里首先介绍CPLD的结构及其逻辑实现。1.CPLD的内部结构2.CPLD的逻辑实现27.1.3FPGA的结构及其逻辑实现FPGA具有与CPLD完全不同的内部结构,其内部是类似于门阵列的结构,可编程的逻辑单元位于芯片的中央,并排成阵列,四周采用可编程的I/O焊盘连接。逻辑单元之间使用可编程的互连资源,用来实现逻辑单元以及I/O引脚之间的联通,从而实现复杂的逻辑功能。FPGA一般都含有成千上万的逻辑门单元,还有许多触发器。FPGA的逻辑单元可以分为两种:粗粒结构和细粒结构。粗粒结构的FPGA,其逻辑单元较大,一般含有两个以上的查询表和触发器,比较适合高性能方面的应用。细粒结构的则逻辑单元相对较小,功能逻辑模块和触发器都相对较少。与CPLD相比,FPGA的容量通常大于CPLD,而且FPGA的逻辑单元扇入小,触发器数量比CPLD要多,布局和布线的延时是不确定的,但一般是可知的。27.2硬件描述语言简述硬件描述语言(HardwareDescriptionLanguage)简称为HDL,是一种能够以形式化方式描述电子系统的硬件行为、结构和数据流的语言。硬件描述语言借鉴了其它高级语言的功能特性,对数字电路的结构和行为进行了高度抽象化、规范化的形式描述,并对设计进行不同层次的仿真和优化。硬件描述语言是伴随着大规模集成电路的发展而形成的,至今已有40多年的历史,主要用来解决大规模复杂集成电路的设计问题。特别是CPLD和FPGA广泛普及后,硬件描述语言在广大电子工程师中得到广泛应用。很多EDA厂商和科研机构都开发了自己的电路硬件描述语言,比较有名的有Altera公司的AHDL语言,DataI/O公司的ABEL-HDL语言,Xilinx公司的VerilogHDL语言。由于这些硬件描述语言之间不能通用,限制了CPLD和FPGA的广泛使用。此时迫切需要建立一个统一的标准。27.2.1硬件描述语言VHDL概述VHDL(VHSICHardwareDescriptionLanguage)语言是一种硬件描述语言,20世纪80年代初,由美国国防部在其超高速集成电路计划(VHSIC)中提出。后来,该语言逐步得到推广,应用越来越广泛。1987年12月,电气和电子工程师协会IEEE正式将VHDL语言作为国际标准,编号为IEEEStdl076-1987,即VHDL’87。1993年,又对该版本进行的进一步的修改,新的版本号为IEEEStdl076-1993,即VHDL’93。1995年,VerilogHDL语言也被正式定为国际标准,编号为VerilogHDL1364-1995。这里主要介绍VHDL语言。27.2.2VHDL程序结构一个完整的VHDL程序通常包括实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)和库(Library)5个部分。其中实体和构造体是必须的,其它几个是可选项。VHDL语言程序的基本结构,如图所示。27.3Altera常用CPLD芯片介绍Altera公司的MAX7000系列是使用比较广泛的CPLD,这里介绍其中的芯片EPM7128SLC84-15,这是基于乘积项结构的可编程逻辑器件,其中有128个宏单元,8个逻辑阵列块。该芯片有64个引脚可以用作通用输入输出引脚,对外扩展能力强大。引脚到引脚之间的延时快达5ns,计数器频率高达175.4MHz。1.引脚分配2.VHDL程序下载27.4使用CPLD扩展51单片机I/O接口可编程逻辑器件CPLD/FPGA的主要优点是内部逻辑资源丰富,输入输出接口多,非常适合于逻辑电路以及有一定时序要求的电路。这里以上面介绍的Altera公司的CPLD芯片EPM7128SLC84-15为例,讲解CPLD的程序设计,以及如何扩展单片机的接口。27.4.1CPLD扩展单片机I/O接口原理8051系列单片机的I/O端口比较少,当系统外扩存储器,或者使用串口及外部中断资源后,剩余可用的I/O端口便更少了。为此,经常需要进行单片机I/O接口的扩展。前面介绍过,可以使用外部RAM地址空间以及串口的模式0来实现扩展的I/O端口。这里介绍使用可编程逻辑器件CPLD丰富的I/O引脚资源,来扩展单片机I/O接口。使用CPLD扩展单片机I/O接口的示意图,如图所示,其中扩展了4个输出接口。也可以采用同样的方法扩展输入接口。整个系统涉及到单片机的程序设计、CPLD的程序设计等,下面分别进行介绍。27.4.2电路图这里采用层次式电路设计,层次式电路的母图,如图所示。在母原理图中,定义了两部分的接口,单片机和CPLD之间的接口通过P1端口和P3.0、P3.1引脚连接,P1端口输出并行数据,P3.0和P3.1用于选择输出的扩展并行口。27.5单片机程序设计这里采用Atmel公司的AT89S52单片机,使用KeilC51语言编写单片机程序。27.5.1项目建立整个操作在KeilμVison3编译环境中进行,具体操作步骤如下:27.5.2主程序AT89S52主程序的流程图,如图所示。程序代码示例如下:27.6VHDL程序设计Altera提供了优秀的CPLD和FPGA编译仿真软件,如MAX+PLUSII和QuartusII,可以仿真和编译ALtera公司的所有产品。这里采用Altera公司最新的QuartusII软件进行VHDL程序设计。27.6.1项目建立首先,在QuartusII软件中建立VHDL设计项目,操作步骤如下:27.6.2程序设计前面在QuartusII软件中完成了整个工程项目的建立,这里添加设计源文件并采用VHDL语言进行程序设计。操作步骤如下:27.7程序仿真Altera公司最新的QuartusII软件提供了良好的编译仿真操作。在进行仿真之前需要首先分配CPLD引脚,并确保VHDL程序编译成功。27.7.1设计CPLD引脚VHDL程序是独立于器件的,其只描述了各个输入输出端口以及内部的逻辑关系。VHDL程序的运行,还需要将每个输入输出端口映射到芯片的具体引脚。Altera公司的QuartusII软件提供了简单方便的芯片引脚配置功能,支持Altera公司的所有CPLD和FPGA芯片。这里参照前面的电路图,对本设计中的EPM7128SLC84-15进行引脚分配,具体操作步骤如下:27.7.2仿真操作Altera公司的QuartusII软件能够对VHDL程序以及芯片进行精确的仿真,包括信号的延时、时序等。当完成引脚分配以及程序编译后,便可以开始程序的仿真,下面具体介绍操作步骤。27.8程序下载在QuartusII软件中,可以利用前面介绍的下载电路,来将程序下载到CPLD芯片中执行。程序下载的过程如下。27.9小结本章首先介绍了

温馨提示

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

评论

0/150

提交评论