您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > SPI Flash存储器配置FPGA
XAPP445(v1.4)2007年9月17日©2005-2007Xilinx,Inc.Allrightsreserved.XILINX,theXilinxlogo,andotherdesignatedbrandsincludedhereinaretrademarksofXilinx,Inc.Allothertrademarksarethepropertyoftheirrespectiveowners.’提要本应用指南讲述Spartan-3E系列中的串行外设接口(SPI)配置模式。SPI配置模式拓宽了SpartanTM-3E设计人员可以使用的配置解决方案。SPIFlash存储器件引脚少、封装外形小而且货源广泛。本指南讨论用SPIFlash存储器件配置Spartan-3EFPGA所需的连接,并且介绍SPI模式的配置流程。本指南还提供一种实用工具,用于在原型开发过程中对选定的STMicroelectronics和AtmelSPI器件进行在系统编程。简介Spartan-3E系列继续支持常用的串行和从并配置模式,这类模式直接连接XilinxPROM。对于具有JTAG测试功能或者需要FPGA配置和PROM编程共用一个JTAG接口的系统,使用XilinxPlatformFlashPROM系列是一种便利的解决方案。除了标准的串行和并行配置模式,Spartan-3EFPGA还包括两种新配置模式:串行外设接口(SPI)和字节宽度外设接口(BPI)。对于已经具有板上SPI或行业标准并行NORFlash存储器件的系统,好处是可以选择从同一存储器件配置FPGA。Xilinx不提供或支持SPI和并行NORFlash存储器件,但可以从第三方供应商购买这些器件。本应用指南主要介绍Spartan-3E系列的新型SPI配置接口。基于SPI的Flash存储器得以流行,是因为它们像XilinxPlatformFlashPROM一样可以在配置后方便地访问,从而提供对FPGA的随机存取和非易失性数据存储。各供应商使用的SPI协议稍有不同。本指南讨论SPI基本原理和供应商差异。另外,本指南还讨论在SPI模式下配置Spartan-3EFPGA所需的连接和SPI编程方法。有关SPI配置模式的进一步详情,请参阅DS312《Spartan-3EFPGA系列数据手册》。本应用指南涉及的软件编程实用工具称为XSPI。设计人员可以用此实用工具对选定的STMicroelectronics和AtmelSPIFlash存储器件进行在系统编程、擦除和验证操作。XSPI使用Xilinx并行或USB下载线和个人主机对SPI存储器件执行所需操作。在使用XSPI时,必须将SPI引脚引出到电路板接口并如图7所示连接到Xilinx并行下载线。XSPI是免费的实用工具,仅供原型开发之用,不适于生产编程。第三方供应商提供对商品存储器的生产编程支持。有关生产编程器的货源信息,请与SPI供应商联系。SPI基本原理串行外设接口(SPI)是一种四线同步串行数据总线。这种数据链路昀初是用作微控制器与外设之间的串行通讯接口。许多现代微控制器都包括内置的SPI接口,以用于支持与众多存储器、传感器、显示驱动器以及模数和数模转换器通讯。这种接口常见于嵌入式和消费市场,现在也可用来配置Spartan-3EFPGA。SPI系统通常由一个主器件和至少一个从器件组成。对于Spartan-3E配置,FPGA是SPI主器件,SPIFlashPROM是从器件。SPI接口使用表1所列四种信号在主从器件之间进行通讯。应用指南:Spartan-3EFPGAXAPP445(v1.4)2007年9月17日用SPIFlash存储器配置Spartan-3EFPGA作者:ArthurKhuRSPI基本原理XAPP445(v1.4)2007年9月17日虽然所支持的供应商特有命令可以变化,但通用SPI物理接口是标准的全双工传输。SPI主器件通过SCLK时钟信号控制所有时序。在选择信号SS_n转为低之后,主器件经MOSI引脚控制将数据由主器件同步输出到从器件。在同一时钟周期内,数据经MISO信号控制由从器件同步输出到主器件。数据在一个时钟沿上从各器件同步输出,在该周期内的下一个对沿(oppositeedge)上同步输入该器件。图1所示为主从器件的典型布局。在图2中,SPI主器件使用选择信号SS_n选择从器件。然后,主器件使用单向MOSI输出将串行命令发送到从器件。从器件收到串行命令后将数据返回到主器件的单向MISO输入。默认情况下,Spartan-3EFPGA有一个从器件选择信号,称为CSO_B。更多的SPI从器件需要自带选择信号,往往需要附加一个FPGAI/O引脚。MOSI、MISO和SCLK信号由公共SPI总线上的所有器件共享。表1:主从器件的通用SPI信号通用SPI信号信号描述SCLK“串行时钟”提供串行接口的时序。MOSI“主出从入”由主器件用来指定要执行的指令或者向从器件传送数据。MISO“主入从出”由主器件用来收集从器件传输的数据。SS_n“从器件选择”,低有效信号;当置为高时,此信号用来反选从器件并将MISO设置为高阻抗。X-RefTarget-Figure1图1:典型SPI主从器件的结构X-RefTarget-Figure2图2:SPI主器件与多个从器件的结构SCLKSS_nMOSIMISOX445_01_072406MasterDeviceSlaveDeviceMasterDeviceSlaveDevice0MOSIMISOSCLKSS_0SS_nSlaveDevicenX445_02_072406SPIFlash存储器XAPP445(v1.4)2007年9月17日SPIFlash存储器SPI物理接口是公共接口,但各SPIFlash供应商使用的信号命名约定略有不同。以下表2所列为SPIFlash存储器件与FPGASPI配置的信号相互对照。除了通用SPI引脚(MOSI、MISO、SCLK和SS_n),许多SPIFlash存储器供应商还采用其他SPI控制信号。FPGA在配置中不使用SPI供应商特有控制信号,但在编程和配置过程中必须适当保留这些控制信号。有关进一步详情,请见相应的SPIFlash存储器数据手册。除了已讨论的SPI控制信号差异,SPI命令也是供应商特有命令,不是通用命令。考虑到这种差异,Spartan-3EFPGA具有三个变量选择引脚,用于确定供应商的操作以及定义从SPIFlash存储器读取数据所需的特定命令序列。VS[2:0]引脚确定FPGA发出哪条SPIFlash命令来启动读操作以及在FPGA预期收到来自SPIFlash的有效数据之前需要插入的虚拟字节数。表3所示为SPIFlash存储器件所需的变量选择。表2:SPIFlash接口连接与引脚命名SPI信号SPIFlash引脚(1)Spartan-3E连接通用SPI信号MOSIDATA_IN(D/SI)MOSIMISODATA_OUT(Q/SO)DINSS_nSELECT(S/CS)CSO_BSCLKCLOCK(C/SCK)CCLK其他供应商特有SPI控制信号写保护WR_PROTECT(W/WP)FPGA配置不需要此信号,但必须将其保持为高才能对SPIFlash进行编程或擦除。配置后可选择连接到FPGA的用户I/O。保持HOLDFPGA配置不需要此信号,但必须将其保持为高才能对SPIFlash进行编程或擦除。配置后可选择连接到FPGA的用户I/O。复位RESETFPGA配置不需要此信号,但在FPGA配置和SPI擦除或编程过程中必须将其保持为高。配置后可选择连接到FPGA的用户I/O。请勿连接到FPGA的PROG_B,因为这样做会导致与SPI编程冲突。就绪/繁忙RDY/BUSY仅某些封装具有此信号。FPGA配置不需要此信号。配置后可选择连接到FPGA的用户I/O。注:1.此表所列为通用SPIFlash引脚名称与昀常见供应商引脚名称的对照。各供应商所用SPI控制信号的子集可能不同。有关具体引脚的信息,请参见供应商的数据手册。表3:Spartan-3E变量选择代码VS[2:0]SPIFlash命令(1)地址长度虚拟字节数(1)1:1:1FASTREAD(0x0B)24位1字节1:0:1READ(0x03)24位0字节1:1:0READARRAY(0xE8)24位4字节注:1.各变量之间的SPIFlash命令和虚拟字节数不同。有关支持的读命令,请参阅SPIFlash存储器数据手册。SPIFlash存储器XAPP445(v1.4)2007年9月17日商品SPIFlashPROM的密度从512Kb到128Mb不等。表4所示为配置一个Spartan-3EFPGA所需的昀小存储器密度。FPGA比特流压缩使用bitgen-g压缩选项,可以将设计压缩到较小的SPI器件中。对于存储多个FPGA配置比特流的菊花链应用或存储其他用户数据(如嵌入式MicroBlazeTMRISC处理器核的代码)的应用,可以使用较大的SPI存储器件。只有Stepping1及更新的Spartan-3E器件支持通过单SPIFlashPROM对多个Spartan-3EFPGA进行菊花链连接。表4:Spartan-3E典型配置的数据位要求器件配置数据位(每器件)所需昀小SPIFlash保留空间XC3S100E581,3441,024Kb(1Mb)456KbXC3S250E1,353,7282,048Kb(2Mb)726KbXC3S500E2,270,2084,096Kb(4Mb)1.83MbXC3S1200E3,837,1844,096Kb(4Mb)348KbXC3S1600E5,969,6968,192Kb(8Mb)2.31Mb从SPIFlash存储器配置Spartan-3EXAPP445(v1.4)2007年9月17日从SPIFlash存储器配置Spartan-3E如图3所示,在SPI串行Flash模式(M[2:0]=001)下,Spartan-3EFPGA从SPI串行Flash存储器启动自我配置。在这种模式下,FPGA用其内部晶振为所连接STMicroelectronicsSPIFlash器件的时钟输入提供CCLK输出。图3所示为支持0x03READ命令或0x0BFASTREAD命令的SPIFlashPROM的总体连接图。图4所示为AtmelDataFlash串行PROM的连接图,这些PROM也使用基于SPI的协议。AtmelDataFlash器件支持READARRAY(0xE8)命令。X-RefTarget-Figure3图3:STMicroelectronicsSPI与Spartan-3EFPGA之间的快读命令(0x0B)和读命令(0x03)接口TDITDOTMSTCKVCCINTVCCAUX+2.5VCSO_BVCCO_2INIT_BDINMOSIPROG_BDONEGND+1.2VDATA_INSELECTVCCDATA_OUTCLOCKGNDVCCO_0CCLK(4)VCCO_0Spartan-3E(1)FPGA+2.5VJTAGSPISTMicroelectronicsPROG_BRecommendopen-draindriverTDITMSTCKTDO+3.3V+3.3VHOLD(3)‘1’M2M1‘0’‘0’M0SPIMode‘1’VS2VS1‘1’VS0‘1’WR_PROTECT(3)+3.3V+2.5V?+3.3V+3.3V(JTAGoptionalbutrecommended)VariantSelectMemorySPI(2)FlashX445_03_0824074.7kΩ4.7kΩ4.7kΩ4.7kΩ4.7kΩ330Ω�����注:1.有关上电监视器考虑事项,请参阅《Spartan-3
本文标题:SPI Flash存储器配置FPGA
链接地址:https://www.777doc.com/doc-3373846 .html