资源描述
单击以编辑母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,中国矿大 信电学院,6.1 CPLD/FPGA器件的配置,把CPLD/FPGA设计代码送入芯片的过程(或做法)称为对CPLD/FPGA器件的配置,也称为下载。,经过配置的CPLD芯片,就成为具有用户需要功能的专用数字电路或数字系统。,器件编程下载的分类:,对CPLD/FPGA芯片进行编程配置的方式有多种。,1、按使用计算机的通讯接口划分,,有:,(1)串口下载(BitBlaster或MasterBlaster)、,(2)并口下载(ByteBlaster)、,(3)USB接口下载(MasterBlaster或APU)等方式。,2、若按使用的CPLD/FPGA器件划分,,有:,1)CPLD编程(适用于片内编程元件为EPROM、E2PROM和闪存的器件);,2)FPGA下载,(适用于片内编程元件为SDRAM的器件),3、按CPLD/FPGA器件在编程下载过程中的状态划分,,有,1)主动配置方式。,在这种配置方式下,由CPLD器件引导配置操作的过程并控制着外部存贮器和初始化过程;,2)被动配置方式。,在这种配置方式下,由外部CPU或控制器(如单片机)控制配置的过程。,FLEXl0K/EP1K系列器件有五种配置方式:,CPLD/FPGA器件的工作状态,CPLD/FPGA器件按照正常使用和下载的不同过程其工作状态分为三种:,1、用户状态(User mode),即电路中CPLD器件正常工作时的状态;,2、配置状态(Configuration mode),指将编程数据装入CPLD/FPGA器件的过程,也可称 之为下载状态;,3、初始化状态(Initialization),此时CPLD/FPGA器件内部的各类寄存器复位,,让IO引脚为使器件正常工作作好准备。,ALTERA的编程文件,ALTERA 公司的开发系统MAX+PLUS可以生成多种格式的编程数据文件。对于不同系列器件,所能生成的编程/配置文件类型有所不同,但大致可有下面几种类型:,SRAM Object格式(.sof):,SOF格式文件用于FLEX器件的Bit Blaster或Byteblaster被动配置方式。,MAX+PLUS II编译综合工具会在编译综合过程中自动为FLEX系列器件生成SOF数据格式文件,其它数据格式均可由该种格式转化而成。,Programming Object格式(.pof):,POF格式文件用于对MAX系列器件编程配置,也可以用于对采用EPROM配置方式的FLEX器件进行配置。POF文件也是由MAX+PLUS II软件在编译综合过程中自动产生。,十六进制格式(.hex):,HEX格式文件是使用第三方编程硬件对并行EPROM编程的数据文件,从而可以将并行EPROM作为数据源,用微处理器对FLEX器件进行被动串行同步(PS)配置或被动串行异步(PSA)配置。,ASCII码文本格式(.ttf):,TTF格式文件适用于被动串行同步(PS)配置和被动串行异步(PSA)配置类型,它在配置数据之间以逗号分隔。,MAX系列非易失性器件的下载配置,对于编程元件为E,2,PROM或闪存的CPLD器件(如MAX系列器件等),只需简单的利用专门的编程下载电缆(名为ByteBlaster或BitBlaster,很容易由用户自制)将编程配置数据下载到芯片中去即可。,一、JTAG接口与使用的引脚,ALTERA公司现在生产的CPLD器件一般都有“JTAG”接口。,JTAG(Joint Test Action Group):联合测试行动组。,该行动组制定了一种VLSI器件的测试标准,称为IEEEll94.11990边界扫描测试标准(简称为BST,Boundary Scan Testing),解决了VLSI器件密度增高及I/O引脚数量增加带来的对电路板及器件测试困难的问题。为此使用的接口(和引脚)称为JTAG接口。,ALTERA器件的JTAG都具有第二功能,即除了能作为边界测试功能外还可以利用JTAG接口进行器件编程,编程时序同样遵循1149.1协议,ByteBlaster 10针示意图,Byteblaster下载线的接口电路,ByteBlaster不但可以用来对MAX9000以及MAX7000SMAX 7000A等器件进行编程配置,而且可以用来对FLEX系列器件进行配置重构。,ByteBlaster有两种配置模式:,1),边界扫描模式(JTAG)配置,一对具有边界扫描电路的器件进行配置重构或在线编程。可用来对具有,JTAG接口的,MAX系列器件及FLEX/ACEX系列器件进行编程配置。,2),被动串行模式(PS)配置,一用来对支持PS下载配置模式的FLEX/ACEX系列器件进行配置。如FLEX10K/ACEX1K、FLEX 8000和FLEX 6000等系列器件,可采用,PS模式,进行配置。,JTAG接口,JTAG接口使用TDI、TDO、TCK、TMS四个管脚。,其中:,TDI:串行数据输入端,,TDO:串行数据输出端,,TCLK:串行时钟,,TMS:JTAG状态机模式控制端。,TDI、TDO、TMS的数据在TCLK时钟的配合下,将数据串行移位到CPLD内部JTAG移位寄存器中。,用Byteblaster下载线进行下载配置,FLEX/ACEX系列FPGA的下载配置,用Byteblaster下载线进行被动串行(PS)配置的方法:,进行被动串行(PS)配置时使用的芯片引脚是:,DCLK:配置时钟。适用于AS,PS和PPS模式,输入引脚,为外部数据源提供时钟。,CONFIG_DONE:配置完成,nSTATUS:配置状态,DATA0:配置数据。适用于AS和PS模式,数据输入,Byteblaster下载线一端接在PC机的并口,另一端接在FPGA芯片的上述配置引脚上,在MAXPLUS开发系统的支持下,就把配置数据写入到FPGA芯片中。,FLEX/ACEX系列FPGA的下载配置,但是对于编程元件为SRAM的FPGA器件(如FLEX6000、FLEX8000、FLEX10K、ACEX1K、APEX20K系列等),虽然也能像MAX系列器件那样利用简单的专门下载电缆来对FPGA器件进行编程配置,但由于这类器件具有编程数据易失性的特性,所以存在一个对于芯片进行外部配置的问题。,一般是将编程配置数据永久性的存储在外部的闪存或E,2,PROM中,供FPGA器件每次在系统通电时调入这些编程配置数据。否则用户就需要在每次系统通电时都需要利用PC机进行对FPGA器件进行的编程写入的操作。,主动串行配置(AS)或EPC1配置方式,主动串行配置方式(AS,Active-Serial Configuration)一直由FLEX10K控制着配置过程,由Altera提供的串行PROM存储芯片EPC1向FLEX10K器件输入串行位流的配置数据。,此时nCONFIG引脚为Vcc。在加电过程中,,FLEX10K,检测到nCONFIG由低到高的跳变时,就开始准备配置,FLEX10K将CONF_DONE拉低,驱动EPC1的nCS为低,而nSTATUS引脚释放并由上拉电阻拉至高电平以使能EPC1。因此,EPC1就用其内部振荡器的时钟将数据串行地从输送到FLEX10K(DATA0).,一般使用通用编程器先将配置数据写入到EPC1中。如下图所示:,被动串行配置(PS)方式,在被动串行配置(PS)方式中,从PC机的串口发出编程数据,由BitBlaster下载电缆或接口微处理器产生一个由低到高的跳变送到nCONFIG引脚,然后微处理器或编程硬件将配置数据送到DATA0引脚,该数据被琐存,直至CONF_DONE变为高电平。它先将每字节的最低位LSB送到FPGA器件。,CONE_DONE变为高电平后,DCLK必须有多余的10个周期来初始化该器件,器件的初始化是由下载电缆自动执行的,如下图所示。,在PS方式中没有握手信号,所以,配置时钟的工作频率必须要低于10MHz。,用微处理器来进行PS 方式配置 的示例,利用微处理器进行多器件配制电路,在多器件PS方式中,第一片FLEX10K的nCEO引脚级联到下一片FLEX10K的nCE引脚。在一个时钟周期之内,第二个FLEX10K器件开始配置,因此,对于微处理器来说,要转移的数据是透明的,如下图所示。,用微处理器对FPGA进行PPS方式配置。,在PPS方式配置(被动并行同步配置)方式中,,从PC机的并口发出编程数据,,nCONFIG引脚被智能主机(如单片机)所控制。,下图给出了利用MCU+SEEPROM来进行FPGA的PPS方式配置。,使用的芯片引脚:,MSEL1MSEL0,配置方式选择。,00:AS或PS,10:PPS,11:PPA,nSTATUS:配置状态,,CONFIG_DONE:配置完成,nCONFIG:配置控制信号输入;低电平使器件复位,在由低到高的跳变过程中启动配置过程。,nCE:器件的使能输入。配置过程中,nCE必须始终为低。,DCLK:配置时钟。适用于AS,PS和PPS模式,输入引脚,为外部数据源提供时钟。,DATA0:配置数据。适用于AS和PS模式,数据输入。,被动并行异步(PPA)配置方式,在PPA方式下,,从PC机的串口发出编程数据,,nCONFIG一般由单片机控制。,为了启动配置过程,单片机将nCONFIG置为高电平,然后再把控制信号nCS和CS送到FLEX 10K器件的nCS和CS端。,之后单片机将8bit的配置数据放在FLEX10K器件的数据端,并且给nWS一个负脉冲。,在nWS的上升沿,FLEX10K器件将该字节配置数据锁存,然后,FLEX10K器件输出RDYnBSY为低,表明它正在处理该字节信息,此时单片机可以完成其他的系统操作。配置过程可以通过nCS或CS引脚予以暂停。,下图示意了PPA配置方式,其中有一个地址解码器控制着nCS和CS引脚。该电路允许单片机通过处理特殊地址来选择地址FLEX10K器件,以求简化配置过程。,被动并行异步(PPA)配置方式,FLEX10K器件可以在其内部将每一个字节的配置数据串行化。当FLEX10K器件准备接收下一个配置数据时,就使RDYnBSY变高,而单片机检测该高电平信号后,再决定是否送出下一个字节的配置数据。,同样,nRS信号决定了RDYnBSY信号出现在DATA7上。当nRS为低时,不允许数据输出到数据总线上,因为那样可能会在DATA7上引起竞争。如果nRS信号不用,它就必须为高电平。,PPA方式同样可以用来配置多个FLEX10K器件。,同样,在用单片机来进行,PPA配置时,需要对,单片机,进行恰当的编程,使之不仅能从PC机串口接收串行数据,也能将收到的串行数据实时的写入到FLASH存储器中去。,谢谢观看,/,欢迎下载,BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH,
展开阅读全文