CPLD开发系统设计 (2).doc

上传人:来看看 文档编号:3257871 上传时间:2019-08-06 格式:DOC 页数:42 大小:4.26MB
返回 下载 相关 举报
CPLD开发系统设计 (2).doc_第1页
第1页 / 共42页
CPLD开发系统设计 (2).doc_第2页
第2页 / 共42页
CPLD开发系统设计 (2).doc_第3页
第3页 / 共42页
CPLD开发系统设计 (2).doc_第4页
第4页 / 共42页
CPLD开发系统设计 (2).doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《CPLD开发系统设计 (2).doc》由会员分享,可在线阅读,更多相关《CPLD开发系统设计 (2).doc(42页珍藏版)》请在三一文库上搜索。

1、目 录引言3一CPLD结构原理简介3(一)EPLD系列芯片简介3(二)FLEX系列器件简介7二Altera CPLD器件的配置10(一)主动串行配置(AS)方式11(二)被动串行配置方式(PS)12(三)被动并行同步(PPS)配置方式12(四)被动并行异步(PPA)配置方式13三并口下载电缆ByteBlaster的原理及构成14(一)原理14(二)ByteBlaster构成15(三)软件设置16四单片机配置FLEX 10K器件17(一)配置原理18(二)配置电路设计设计19(三)单片机软件设计20(四)单片机与PC机串口通讯22总结26致谢词27附 录 英文文献27参 考 文 献38CPLD开

2、发系统设计 -CPLD器件配置与下载电路设计王庆伟摘 要本设计着重讨论由ALTERA公司的生产的CPLD器件中最常用的MAX7000S系列和FLEX系列芯片的配置与下载.介绍了并口下载电缆 BYTEBLASTER 构成原理及使用方法,利用下载电缆不但可以用来对FLEX系列器件进行配置重构,而且可以用来对MAX9000以及MAX7000S/MAX7000A等器件进行在线编程,因此给电路设计人员调试电路带来极大的方便。由于下载电缆不能脱机工作,而FLEX系列芯片是以可重新配置的CMOS SRAM单元为基础构成,在每次上电后要对芯片进行重新配置。那么在FLEX系列芯片的应用中,讨论实用有效的加载方式

3、尤为重要.由单片机和FLASH存储器组成的被动串行配置(PS)方式,从系统复杂度、可靠性和经济性等方面进行比较和分析, 它是一种简便、实用的脱机串行加载方案。关键词 CPLD FLEX BYTEBLASTER 单片机 FLASH PSThe design of CPLD development system -The design of CPLD machine piece installs with download the electric circuit AbstractThe install and download of the most in CPLD frequently use

4、d the series of MAX7000S and FLEX series chip that product from the company of ALTERA is what this design discussed .It Introduced that a combine electric cable for downloading named BYTEBLASTER constituting principle and operation methods, this downloading electric cable not only can be used to rei

5、nstall of the FLEX series machine piece, but also can be used to proceeds the on-line plait distance of MAX9000 and MAX7000S and MAX7000A etc. so it can give great convenience to the person who designing the electric circuit .Because downloading the electric cable cant work without the machine , and

6、 the FLEX series chip is based on the unit of CMOS SRAM which can be relocation ,remanding to proceed the relocation to the chip after every time ascend give or get an electric shock. So in application of FLEX series chip, It is particularly importance that discuss the practical and effectively way

7、for adding to carry the project . the method of install( PS) passive a line that saving machine in FLASH constitute and the single chip microcomputer combine to proceeded the comparison with analyze with economic etc. Considering the complicated degree, dependable in system , it is a kind of simple,

8、 effectively and without machine that add to carry the project method .Key words CPLD FLEX BYTEBLASTER SINGLE CHIP MICROCOMPUTER FLASH PS 引言随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的高密度现场可编程逻辑器件设计技术。高密度现场可编程逻辑器件(CPLD/FPGA)能够将大量逻辑功能集成于一个单片IC之中,对基于E2PROM(或Flash Memory)工艺的器件,配置数据

9、在掉电后不会丢失,可以直接采用ByteBlaster并口下载电缆进行配置,但基于该架构的器件的集成度较低,一般在10万门以下;然而对基于SRAM工艺的器件,配置数据在器件掉电后会丢失,但基于该架构的器件的集成度相对较高,一般在1万门以上。 由于当前项目开发中所需使用的可编程逻辑器件的集成度要求越来越高,基于SRAM工艺的器件得到越来越广泛的使用,那么此时如何将配置数据成功地写入目标器件,并且保证其在掉电再上电后能够自动恢复配置数据,成为电子设计工程师能否正确使用基于SRAM工艺的器件必须掌握的一项技术。 针对基于SRAM工艺的器件的下载配置问题,本文介绍采用单片机(AT89C52)配合FLAS

10、H存储器,编程电压只需5V,实现CPLD/FPGA器件的被动串行(PS)模式的下载配置。一CPLD结构原理简介CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件) 是由用户编程实现所需逻辑功能的数字集成电路。目前,由Altera公司的生产的CPLD系列最具有代表性,分为EPLD(Electronic PLD,电可擦除可编程逻辑器件)和FLEX(Flexible Logic Element Matrix,灵活的逻辑单元阵列)系列产品。(一)EPLD系列芯片简介MAX 7000系列器件是高密度、高性能的CMOS EPLD,采用先进的CMOS EEPRO

11、M技术制造的。用户可编程的MAX7000结构可容纳各种各样独立的组合逻辑和时序逻辑函数。在设计和开发阶段,MAX7000器件可以快速而有效地重新编程,并保证可编程擦除100次。MAX7000包含32256个宏单元。每16个宏单元组成一个逻辑阵列块LAB,同时,每个宏单元有一个可编程的“与”阵和固定的“或”阵,以及一个具有独立可编程时钟、时钟使能、清除和置位功能的可配置触发器。为了能构成复杂的逻辑函数,每个宏单元可使用共享扩展乘积项和高速并联扩展乘积项,向每个宏单元提供多达32个乘积项。1芯片的内部结构1.1逻辑阵列块(LAB)MAX7000结构主要是由高性能的、灵活的逻辑阵列块(简称为逻辑阵列

12、块)以及它们之间的练线构成,如下图:图1.1 MAX7000结构方块图LAB由16个宏单元阵组成,多个LAB通过可编程连线(PIA)和全局总线连接在一起,全局总线由所有的专用输入、I/O引脚和宏单元馈给信号。每个LAB有如下输入信号:来自通用输入的PIA的36个信号。用于寄存器辅助功能的全局控制信号。从I/O引脚到寄存器的直接输入通道,用以实现MAX7000器件的快速建立时间。1.2 宏单元MAX7000宏单元能够独立的配置为时序逻辑和组合逻辑工作方式。宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。逻辑阵列用来实现组合逻辑它给每个宏单元提供5个乘积项。“乘积项选择矩阵”分配这

13、些乘机项作为到“或”门和“异或”门的主要输入,以实现组合函数;或者把这些乘积项作为宏单元触发器的辅助输入:清除、置位、时钟和时钟使能控制。每个宏单元的一个乘积项可以反相回送到逻辑阵列。这个“可共享”的乘积项能够连到同一个LAB中的任何其它乘积项上。根据设计的逻辑需要,MAXPLUS能自动优化乘积项分配。左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时

14、钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。图1.2宏单元MAX 7000系列的高密度器件是MAX 7000E,它们包括:EPM 7128E、EPM 7160E、EPM 7192E和、EPM 7256E。这些器件的名称都以E结尾,表示有几个增强的特性,即附加全局时钟、附加输出使能控制、增加连线资源、快速输入寄存器。作为寄存器功能,每个宏单元的触发器可以单独地编程为具有可编程时钟控制的D、T、JK或SR触发器工作方式。如果需要的话,可把寄存器旁路,以实现组合逻辑工作方式。触发器也支持异步清除和异步置位功能,乘积项选择矩阵分配乘积项来控制这些操作,显然乘积

15、项驱动触发器的置位和复位信号是高电平有效,但在逻辑阵列中将信号反相可得到低电平有效的控制。此外,每个触发器的复位功能可以由低电平有效的、专用的全局复位引脚GCLKn信号来驱动。1.3扩展乘积项尽管大多数逻辑函数能够用每个宏单元中的5个乘积项实现,但某些逻辑函数更为复杂,需要附加乘积项。为提供所需的逻辑资源,可以利用另一个宏单元,但是MAX7000结构也允许利用共享和并联扩展乘积项(扩展项)作为附加的乘积项直接送到本LAB的任意宏单元中。利用扩展项可保证在实现逻辑综合时,用尽可能少的逻辑资源,实现尽可能快的工作速度。()共享扩展项。每个LAB有多达16个共享扩展项。共享扩展项就是由每个宏单元提供

16、一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列,便于集中使用。()并联扩展项。并联扩展项是一些宏单元中没有使用的乘积项,并且这些乘积项可分配到邻近的宏单元去实现快速复杂的逻辑函数并联扩展项允许多达20个乘积项直接馈送到宏单元的“或”逻辑,其中5个乘积项是由宏单元本身提供的,15个并联扩展项是由LAB中邻近宏单元提供的每个LAB中有两组宏单元,每组含有8个宏单元(例如,一组为1到8,另一组为9到16)在LAB中形成2个出借或借用并联扩展项的链一个宏单元可以从较小编号的宏单元中借用并联扩展项例如,宏单元8能够从宏单元7,或从宏单元7和6,或从宏单元7、6和5中借用并联扩展项。在有8个宏单元的

17、每个组中,最小编号的宏单元仅能出借并联扩展项;而最大编号的宏单元仅能借用并联扩展项。图5.6示出了扩展项是如何从邻近的宏单元中借用的。1.4可编程练线阵列(PIA)通过可编程连线阵列把各LAB相互连接构成所需的逻辑。这个全局总线是可编程的通道,它把器件中任何信号源连到其目的地。所有MAX7000的专用输入、I/O引脚和宠单元输出均馈送到PIA,PIA可把这些信号送到整个器件内的各个地方。EEPROM单元控制2输入“与门”的一个输入端,以选择驱动LAB的PIA信号。在掩膜或现场可编程门阵列(FPGA)中基于通道布线方案的布线延时是累加的、可变的,且是与路径有关的;而MAX7000的PIA有固定延

18、时。因此,PIA消除了信号之间的时间偏移,使得时间性能容易预测。1.5 I/O控制块I/O控制块允许每个I/O引脚单独地配置成输入输出或双向工作方式。所有I/O引脚都有一个三态缓冲器,它能由全局输出使能信号中的一个控制,或者把使能端直接连接到地(GND)或电源(VCC)上。2. 乘积项结构的逻辑实现原理 下面我们以一个简单的电路为例,具体说明PLD是如何利用以上结构实现逻辑的,电路如下图:图1.3假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D表示D的“非”)EPLD将以下面的方式来实现组合逻辑f:图1.4A,B,C,D由

19、EPLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。这样组合逻辑就实现了。 图1.3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样EPLD就完成了图1.4所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)图1.4的电路是一个

20、很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样CPLD就可以实现更复杂逻辑。这种基于乘积项的EPLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。(二)FLEX系列器件简介FLEX系列器件采用重复可构造的COMS SRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多可编程逻辑器件的优点,来完成普通门阵列的宏功能。本文以FLEX 10K器件为例展开介绍。每个FLEX 1

21、0K器件还包括一个嵌入式阵列和一个逻辑阵列,它能让设计人员轻松地开发出集成存贮器、数字信号处理器及特殊逻辑等强大功能于一身的芯片。FLEX 10K 的逻辑功能和互连关系是由COMS SRAM 单元配置的。系统加电时,通存贮在一个Altera提供的串行配置EPROM器件中的数据或由系统控制器提供的数据对FLEX10K器件进行配置。FLEX 10K主要由嵌入式阵列块、逻辑阵列块、FastTrack和I/O单元四部分组成。由图可以看出,一组LE组成了一个LAB,LAB是排列成行和列的,每一行也包含一个EAB。LAB和EAB是由快速通道连接的,IOE处于快速通道连线的行和列的两端。FLEX 10K器件

22、还提供了6个专用输入引脚,这些引脚用来驱动触发器的控制端,以确保控制信号高速、低偏移(1.2ns)地有效分配。这些信号使用了专用的布线支路,以便具有比快速通道更短的延迟和更小的偏移。专用输入中的4个输入引脚可用来驱动全局信号,这4个全局信号也能由内部逻辑驱动,它为时钟分配或产生用以清除器件内部多个寄存器的异步清除信号提供了一个理想的方法。2.1 FLEX 10K的 EABFELX 10K中的嵌入式阵列是由一系列用于实现逻辑功能和具有存贮功能的EAB组成的。EAB(嵌入式阵列块)的概念源于门阵列的嵌入式功能,为了使复杂的功能在尽可能小的硅片上得以实现,需把定制的硅片放在门阵列基片之上。Alter

23、a公司首先把这一技术应用于FLAX 10K器件系列。当要实现有关存贮器功能时,每一个EAB提供2048位用来构造RAM、ROM、FIFO、或双口RAM等功能。嵌入式阵列就是由一系列的EAB构成的。(1)EAB的结构每个FLEX10KEAB含有2048bit的RAM,其数据线的最大宽度为8bit、地址线最大宽度为11bit,它与可编程门阵列(FPGA)中的分布式RAM不同,FLEX10KEAB的设计功能保证可预测的并且易于使用的定时关系。(2)用EAB实现RAM功能EABRAM的大小是很灵活的。也就是说,用户并不局限于毛一种RAM配置,如以1 bit为单位的2048个存贮字。图1.31.7给出了

24、可变大小的一种图形表示。数据总线和地址总线的宽度随着RAM的大小变化。图1.7EAB存储结构(3)用EAB实现FIFO功能FIFO缓冲器广泛应用于通信、打印机、微处理器等设备中,这些突发性的数据速率往往大于它们所能接受或处理的速率。通常这些系统需要一个缓冲器对高速数据进行存贮,直到较慢的处理进程准备好。数据进入FIFO缓存的平均速率需小于或等于数据输出速率。(4)EAB与逻辑单元EAB不只用于存贮功能,由于嵌入式阵列可以被看做是一个大的LUT,所以对于实现高扇入函数很理想,而低复杂性和随机性的设计可在逻辑单元LE中得以实现。FLEX 10K器件包括EAB和逻辑单元。逻辑单元包括组合逻辑和寄存器

25、,能实现相对简单的功能。相比之下,嵌入式阵列是用简单的单级逻辑实现函数的,因此具有更高的器件效率和更好的性能。许多复杂的功能都能在一个EAB中实现,这样占用的器件的面积会更小,并且比逻辑单元的实现的延时更短、速度更快。(5)查找表LUT逻辑功能通过配置在只读模式下对EAB编程,可生成一个大的LUT。用LUT查找表结果比用算法计算要快得多。(6)动态重配置在任何时刻都可以重写EAB的内容,而不用重新配置整个器件,因此EAB的逻辑功能可在器件的其他部分工作时改变。要实现动态重配置,外部数据源必须把新的配置数据写入EAB数据源可以从ROM、RAM或CPU端口读入。动态重配置还有更多的创新应用。2.2

26、 逻辑单元LE逻辑单元(LE)是FLEX10K结构中的最小单元,它很紧凑,能有效地实现逻辑功能。每个LE含有一个4输入的LUT、一个带有同步使能的的可编程触发器、一个进位链和一个级联链。每个LE都能驱动局域互连和快速通道互连。LUT是一种函数发生器,它能快速计算4个变量的任意函数。LE中的可编程逻辑触发器可设置D、T、JK或SR触发器。该触发器的时钟(Clock)、清除(Clear)和置位(Preset)控制信号可由专用的输入引脚、通用I/O引脚或任何内部逻辑驱动。对于纯组合逻辑,可将该触发器旁路,LUT的输出可直接接到LE的输出。LE有两个驱动互连输出,一个是驱动局部互连输出,另一个是驱动行

27、和列的快速通道的互连输出,这两个输出可以单独控制。FLEX10K结构还提供了两条高速数据通道,即进位链和级联链,它们连接着相邻的LE,但不占用局部的互连通路。图1.8为 FLEX 10 LE的方块图2.3 逻辑阵列块LAB 逻辑阵列是由一系列的逻辑阵列块(LAB)构成的。每一个LAB包含8个LE和一些连接线,每个LE含有一个4输入的查找表(LUT)、一个可编程触发器、进位链和级联链,LE的结构能有效地实现各种逻辑。LAB构成了FLEX10K的“粗粒度”结构,它可以有效地布线。它不仅能提高利用率,还能提高性能。每个LAB提供4个可供所有8个LE使用的与可编程反向的控制信号。其中的两个信号可以用作

28、时钟,另外两个用作清除/置位控制。LAB时钟能够由专用时钟的输入引脚、全局信号、I/O信号或借助LAB局部互连的任何内部信号直接驱动。2.4 Fast Track连接FLEX 10K器件内部信号的互连和器件引脚之间的信号互连是由快速通道(Fast Track)连线提供的,它是贯通器件长、宽的快速连续通道。在FLEX10K中,LE和器件的I/O引脚之间的连接是通过快速通道(Fast Track)连接实现的。Fast Track是遍布整个FLEX10K器件长、宽的一系列水平和垂直的连续式布线通道,遍布整个的“行连线带”和“列连线带”组成的。每行的LAB有一个专用的“行连线带”,“行连线带”可以驱动

29、I/O引脚或馈送到器件中其它LAB。“列连线带”分布于两行之间,也能驱动I/O引脚。2.5 I/O单元(IOE)FELX 10K器件的I/O引脚是由一些I/O单元(IOE)驱动的。IOE位于快速通道的行和列的末端,每一个IOE有一个双向I/O缓冲器和一个既可做输入寄存器也可做输出寄存器的触发器。它既可以用在需要快速建立时间的外部数据的输入寄存器上,也可以作为要求快速的“时钟输出”性能的数据输出寄存器。在某种情况下,用LE作为输入寄存器在建立时间方面更快。IOE引脚可以作为输入/输出或双向引脚。二Altera CPLD器件的配置Altera CPLD器件的配置方式主要分为两大类:主动配置方式和被

30、动方式。主动配置方式由CPLD器件引导配置操作过程,它控制着外部存储器和初始化过程;而被动配置方式由外部计算机或控制器控制配置过程。根据数据线的多少又可以将CPLD器件配置方式分为并行配置和串行配置两类。经过不同组合就得到四种配置方式:主动串行配置(AS)被动串行(PS)被动并行同步(PPS)被动并行异步(PPA)我们没有必要对每一种配置方式都进行讲述,而是详细地来讲讲我们实验室中经常使用的方式:被动串行配置方式(PS)。以FLEX10K器件为例,我们首先对PS方式中使用到的引脚有个了解,它的主要配置引脚如下: MSEL1、MSEL0的状态如下:00:AS或PS10:PPS11:PPA nST

31、ATUS:双向漏极开路;命令状态下器件的状态输出。加电后,FLEX10K立即驱动该引脚到低电位,然后在100ms内释放掉它,nSTATUS必须经过1.0k电阻上拉到Vcc,如果配置中发生错误,FLEX10K将其拉低。 nCONFIG:输入;配置控制输入。低电位使FLEX10K器件复位,在由低到高的跳变过程中启动配置。 CONF_DONE:双向漏极开路;状态输出。在配置期间,FLEX10K将其驱动为低。所有配置数据无误差接收后,FLEX10K将其置为三态,由于有上拉电阻,所以将变为高电平,表示配置成功。输入高电位引导器件执行初始化过程并进入用户状态。 CONF_DONE必须经过1.0k电阻上拉到

32、Vcc,而且可以将外电路驱动为低以延时FLEX10K初始化过程。 DCLK:输入;为外部数据源提供时钟。 nCE:输入;FLEX10K器件使能输入,nCE为低时使能配置过程,而且为单片配 置时,nCE必须始终为低。 nCEO:输出(专用于多片器件);FLEX10K配置完成后,输出为低。在多片级联配置时,驱动下一片的nCE端。DATA0:输入;数据输入,在DATA0引脚上的一位配置数据。(一)主动串行配置(AS)方式主动串行配置(AS)是由Altera公司提供的EPC1向FLEX10K器件输入串行的配置数据。主动配置方式,是在系统上电后由FLEX10K器件控制的配置过程。如图所示:nCONFIG

33、引脚为Vcc,在加电的过程中,FLEX10K检测的Nconfig由低到高的跳变时,就开始准备配置。FLEX 10K将CONF_DONE 拉低,驱动EPC1的nCS为低,而nSTATUS引脚释放并由上拉电阻至高电平以使能EPC1,因此,EPC1就用其内部的振荡器是时钟将数据串行的从EPC1(DATA)输送到FLEX10K,在配置过程中,如果发生错误,FELX10K将nSTATUS拉低,复位EPC1和FLEX10K器件图2.1 主动串行配置原理图。(二)被动串行配置方式(PS)在被动串行配置(PS)方式中,由ByteBlaster、FLEX下载电缆或微处理器产生一个由低到高的跳变送到nCONFIG

34、引脚,然后微处理器或编程硬件将配置数据送到DATA0引脚,该数据锁存至CONF_DONE变为高电位,它是先将每字节的最低位LSB送到FLEX10K器件。CONF_DONE变为高电位后,DCLK必须多余的10个周期来初始化该器件,器件的初始化是由下载电缆自动执行的。在PS方式中没有握手信号,所以配置时钟的工作频率必须低于10MHz。 图2.2处理器进行PS方式配置。(三)被动并行同步(PPS)配置方式在被动并行同步配置方式中,nCONFIG引脚被智能主机控制,如微处理器单片机等,为了启动配置,nCONFIG引脚有一个由低到高的跳变过程,而且微处理器将一个8bit的配置数据送到FLEX10K器件的

35、输入端,该智能主机对FLEX10K提供时钟,在该时钟的第一个上升沿,一个字节的配置数据被锁存FLEX10K器件,在随后的8个下降沿时钟将这些数据串行化,在第九个上升沿,下一个字节的配置数据锁存同样被串行送进FLEX10K器件。如果在配置过程中发生错误,nSTATUS引脚输出为低,智能主机敏感检测这一低信号,并且重配或输出这一错误信号,一旦FLEX10K器件配置成功,CONF_DONE引脚被FLEX10K器件释放,以表明配置结束。图2.3 PPS配置图(四)被动并行异步(PPA)配置方式同样,在被动并行异步(PPA)配置方式,nCONFIG也是由智能主机控制,为了启动配置过程,智能主机驱动其变为

36、高,然后主机将nCS和CS送到FLEX10K器件。智能主机将8bit的配置数据放在FLEX10K器件的数据端,并且给nWS一个负脉冲,在nWS的上升沿,FELX10K器件将该字节配置数据锁存,然后,FLEX10K器件输出RDYnBSY在为低,表明它正在处理字节信息,此时智能主机可以完成其它一系列功能,配置过程可以通过nCS或CS引脚暂停,图示意PPA配置方式,其中有一个地址解码器控制着引脚,该解码器电路允许智能主机通过处理特殊地址来选择FLEX10K器件,以求简化配置过程。FLEX10K器件可以在其内部将每一个字节的配置数据串行化,当FLEX10K期间准备接收下一个配置数据时,就使RDYnBS

37、Y变高,而智能主机敏感检测该高电平信号,决定是否送出下个字节的配置数据。同样,nRS信号决定了RDYnBSY信号出现在上,当nRS为低时,不允许数据输出到数据总线上,因为那样可能在DATA7上引起竞争,如果信号不用,它就必须接为高电平。图2.4 PPA 配置原理图三并口下载电缆ByteBlaster的原理及构成(一)原理ByteBlaster并口下载电缆是与标准PC并口(即LPT口)相连的硬件接口,从MAX+PLUS II、QUARTUS II开发环境下下载数据。由于软件设计方面的改变可以通过它直接下载至芯片,因此,可以在较短的时间内开发出系统的原形。ByteBlaster有两种配置模式: 被

38、动串行模式(PS)常用来配置重构ACEX1K,APEX20K,FLEX10K,FLEX6000等系列器件。 边界扫描模式(JTAG)具有边界扫描电路的配置重构或在线编程。边界扫描是一种测试方法,通常在电路已经安装在印刷电路板上之后,用来检测电路的正确性。边界扫描测试方法的基本原理:把电路内的输入/输出单元连接成一个很长的移位寄存器。为了控制电路中移位器存器,电路中还应包含有一个状态机和一个指令寄存器。绝大多数的FPGA/PLD的芯片中总是包含有边界扫描。IEEE的标准规定:电路应包含以下4个必选的输入/输出引脚和1个可选引脚:u 测试数据输入(test data in,TDI)引脚,用于接收测

39、试数据与测试指令;u 测试数据输出(test data out,TDO)引脚,用于测试数据的输出;u 测试模式选择(test mode select,TMS)引脚,在上升沿有效的逻辑测试控制信号;u 测试时钟(test clock,TCK)引脚,时钟上升沿按串行方式对测试命令、数据及控制信号进入行一位操作,下降沿用于输出信号移位操作;u 测试复位(test reset ,TRST)引脚;(可选的引脚)为了实现边界扫描,电路中应当包含移位寄存器和TAP控制器之外,还应当有一个指令寄存器.指令寄存器的内容决定边界扫描完成哪一种测试,根据IEEE的标准,必须包含以下3种指令:1.旁路(bypass)

40、指令:旁路指令使得电路把移入的值(来自TDI)经过旁路寄存器直接送到边界扫描的输出TDO。如果有多个电路连接在一起形成边界扫描,使用旁路指令可避免对整个移位寄存器进行移位。2.采样/预加载(sample/preload)指令:输入值被采样,然后移位输出端用于测试3.外部测试(extest)指令:已知的值被移入并通过边界扫描移位寄存器,移入的值将会到达输入/输出端。通过这种方法,可以检测电路和印刷电路板之间是否连接关系。IEEE标准还定义了一些可选择的指令,如果使用边界扫描,必须向电路中加入相应的逻辑,这件事并不很难,因为已经有工具存在,它可以自动实现整个过程,与实现边界扫描有关的问题是:选用哪

41、一种工具以及所设计的电路类型。在系统编程的优点是已于进行样机研制电路板的调试,也易于现场升级与维护。的可测试性对在板编程是一个极好的补充。在编程之前可以进行PCB板的连接检查,确保没有短路,以避免在系统编程时损害器件。边界扫描以其简单、灵活、可靠的特点为集成电路芯片测试开辟了新天地,成为测试加载集成电路的新工具。(二)ByteBlaster构成下载电缆有以下几个部分:1与PC机并口连接的25针插座头。2. 与PCB板插座相接的10针插座头。3. 以下是25针到10针的变换电路注:(1)100、(2)2.2k 表1:ByteBlaster 引脚名称(三)软件设置当一个设计完成,在设计目录下可以找

42、到编程文件*.pof,需要下载到芯片,要经以下设置:首先,选择MAX+plus II-Programmer,再选择Options-Hardware SetupByteBlaster,OK!然后,可以看到myfirst.pof出现在Programmer窗口中,最后,确认硬件正确无误,目标板电源打开,按下Program开始对目标板的EPLD编程。四、操作系统设置在W98操作系统下不需做任何设置,而在Win2000XP平台上安装使用ByteBlaster下载电缆需以下设置:1、 在控制面板中选择“添加/删除硬件”2、 选择“添加/排除设备故障”,下一步3、 选择“添加新设备”,下一步4、 选择“否,

43、从列表中选择硬件”5、选择“声音、视频和游戏控制器”,下一步6、选择“从磁盘安装”,下一步7、在MaxPlus2-Drivers-Win2000下选择inf文件,8、在如下对话框中选择“Altera ByteBlaster”,按下“下一步”开始安装,安装完毕,需要重新启动电脑才能使新设备生效。四单片机配置FLEX 10K器件在实际应用中,产品是否便于现场升级,是否便于灵活使用成为产品能否进入市场的关键因素。在这种背景下,Altera公司的基于SRAM LUT结构的器件得到了广泛的应用。虽然这些器件应用广泛,但由于其内部采用SRAM工艺,它的配置数据存储在SRAM中。由于SRAM的易失性,每次系

44、统上电时,必须重新配置数据,即ICR(In-Circuit Reconfigurability),只有在数据配置正确的情况下系统才能正常工作。在线配置方式一般有两类:一是通过下载电缆由计算机直接对其进行配置,二是通过配置芯片对其进行配置。通过PC机对FPGA进行在系统重配置,虽然在调试时非常方便,但在应用现场是很不现实的。上电后,自动加载配置对FLEX 系列器件应用来说是必需的。Altera公司提供的配置芯片有一次可编程型和可擦除编程型两种:一次可编程型芯片只能写入一次,不适合开发阶段反复调试、修改及产品的方便升级;可擦除编程型价格昂贵,且容量有限,对容量较大的可编程逻辑器件,需要多片配置芯片

45、组成菊花链形进行配置,增加系统设计的难度。 为了降低成本,目前在开发阶段多用可擦除型配置芯片;最终产品用不可擦写的配置芯片,但一次简单的代码更换就需要更换一次器件,这在产品升级时很不实用。至今还没有低成本的配置芯片出现,而采用的这套配置方案充分考虑了在FLEX 系列器件实际使用中,对设计的保密性和设计的可升级的要求,不但可以实现代替价格昂贵的不可擦写和可擦写配置芯片,而且可以实现多任务电路结构重配置。该方案有PC机控制程序、单片机和外部存储器组成,只要通过替换外部存储器,就可实现对不同容量的多种配置芯片的代替。PC机是用来将配置数据写入存储器的,在写好数据后该配置系统不再需要PC机的控制,在单

46、片机的控制下实现ICR或多任务电路结构重配置。多任务电路结构重配置即将多个配置文件分区存储到外部存储器中,然后由单片机接收不同的命令,以选择读取不同存储器区的数据下载到FLEX 系列器件,实现在线配置成多种不同的工作模式。在前文介绍完基于SRAM的可重配置FLEX10K的内部结构和配置方式后,接下来讨论这种实用的配置方法。 为了进一步降低产品的成本和升级成本,并从系统复杂度、可靠性和经济性等方面进行了比较和分析。通过对多种串行配置的比较,可以考虑利用单片机和FLASH存储器组成的被动串行(PS)配置方式配置数据,其原理是由单片机模拟配置时序对FLEX系列器件进行配置。 本文将讲解如何利用单片机

47、(89C52)和FLASH ROM(W29C020C)模拟被动串行(PS)配置时序配置EP1K30器件。单片机(MCU)配置CPLD的优点u 降低硬件成本省去了CPLD专用EPROM的成本,而几乎不增加其他成本。以ALTERA的10K系列为例,板上至少要配一片以上的EPC1,每片EPC1的价格要几十元,通用存储器也会比FPGA专用EPROM便宜。u 可多次编程CPLD专用EPROM几乎都是一次编程,一旦更换CPLD版本,旧版本的并不便宜的EPROM只能丢弃。如果使用本设计对CPLD配置,选用可擦除的通用存储器保存CPLD的编程数据,更换CPLD版本,无须付出任何硬件代价。这也是降低硬件成本的一个方面。u 实现真正现场可编程,只有使用CPU对CPLD编程才能体现这一特点。如果设计周全的话,板上的CPLD可以做到在线升级。u 减少生产工序-省去了对CPLD专用EPROM烧结的工序,对提高生产率,降低生产成本等均有好处。(一)配置原理首先在开发软件MAX+PLUS II的ASSIGN菜单下选择将要采用的基于SRAM的器件名称。经过编译、优化、逻辑综合、仿真等步骤达到设计要求后,软件会自动产生一个编程文件(扩展名为.SOF文件

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1