以下著作着手于FPGA征询院爱情电影网qvod,作家FPGA征询院,原文不竭:https://mp.weixin.qq.com/s/roZh4ImPmNHgjtfWW3dGpA
小引:本文态状了一种浮浅高效确立FPGA的才能,该才能应用微处理器从串行外围接口(SPI)闪存确立FPGA建立。这种才能减少了硬件组件、板空间和资本。
1. 先容
产物中包含分立的镶嵌式微处理器和FPGA是常见的,带FPGA的典型镶嵌式微处理器系统如图1所示。这些类型的系统包括两个典型的子系统,子系统具有沉着的SPI Flash确立芯片。
图1:带FPGA的典型镶嵌式微处理器系统确立才能
XAPP583中态状了应用微处理器确立FPGA的推选才能。这种才能是将用户固件以及确立位文献存储在连络到微处理器的Flash建立上。微处理器通过SPI接口读取比特文献,然后通过从串行或从SelectMAP接口将比特流发送到FPGA。这摒除了对FPGA确立的荒芜PROM的需要。框图如图2所示。
图2:XAPP583文档确立镶嵌式微处理器系统才能
本文态状的才能进一步简化了确立决策。它应用了FPGA的从串行确立引脚与轨范SPI总线信号之间的兼容性。图3展示了微处理器、Flash和FPGA之间的连络。
图3:本文档确立镶嵌式微处理器系统才能
如图3所示,连络到微处理器的Flash存储用户固件和FPGA比特文献。关联词,微处理器并不班师通过FPGA确立端口来确立FPGA。相悖,FPGA从串行DIN和CCLK引脚连络到Flash和微处理器之间的SPI总线。通过这种才能进行确立是可能的,因为从串行接口和确立序列与SPI条约一致。操作和实施防御信息部分更防御地评释注解了兼容性。
此才能不错使用两个连络。您只需要连络以下引脚即可将确立位流传输到盘算FPGA:
•FPGA CCLK引脚连络到SPI总线SCLK引脚爱情电影网qvod。
•FPGA DIN引脚连络到SPI总线MISO引脚。
还不错包括用于确立适度或监控的附加信号。以下FPGA引脚应连络到微处理器GPIO引脚以启费力能:
•PROGRAM_B:重置FPGA确立序列。
•INIT_B:查验确立出手化或作假情景。
•DONE:监控确立收效。
与图1中所示的带有镶嵌式微处理器和Flash的传统系统比拟,此措置决策提供了多种上风:
•减少了组件数目:系统只需要一个Flash;
•更少的微处理器GPIO和更少的代码空间:与其他基于镶嵌式微处理器简直立措置决策比拟,不错改善确立时刻。
•基于微处理器的FPGA确立适度和监控功能:跨越了土产货FPGA确建功能。
•系统内PROM更新:此措置决策复古在微处理器上使用轨范Flash编程库来更新存储的比特流。
2. 操作和实施细节
本节先容FPGA从串行确立接口和时序,以及使用Zynq-7000 AP SoC处理子系统确立FPGA的才能。
2.1 FPGA从串行确立时势
从串行时势(FPGA确立时势之一)由于其浮浅性而高效。底下列出了它的一些要津属性。本应用评释中态状简直立才能应用了这些属性。
2.2 简化确立才能
犀利人妻若是系统通电后只需要确立一次FPGA,那么确立才能不错很浮浅,只需连络以下引脚即可:
•FPGA CCLK引脚连络到SPI总线SCLK引脚。
•FPGA DIN引脚连络到SPI总线MISO引脚。
在Zynq-7000 AP SoC出手确立之前,FPGA应准备好接纳确立数据。换句话说,FPGA应该也曾完成了从出手通电出手简直立空间的擦除阶段。
图4:FPGA确立时序图
接下来,Zynq-7000 AP SoC向SPI Flash发送单个读取敕令,并从SPI Flash读取悉数这个词比特流。在SPI Flash串行读取操作时刻,比特流也通过SPI总线MISO信号串行传输到FPGA DIN引脚。SPI Flash在SCLK/CCLK的下落沿上输出每个串行数据位。FPGA在SCLK/CCLK的下一个高潮沿拿获串行数据位。在从SPI Flash读取悉数这个词比特流时,FPGA被灵验地确立。
FPGA确立接口的三个特质使FPGA DIN和CCLK引脚简略班师连络到用于FPGA确立的SPI总线:
•SPI总线串行数据(MISO)和时钟(SCLK)信号分别与FPGA从串行数据(DIN)和时钟引脚兼容。
•FPGA确立接口在比特流读取操作之前忽略悉数SPI总线行径。因为FPGA丢弃悉数传入数据,直到它接纳到灵验的32位同步字,是以灵验地忽略了悉数SPI总线行径。
•确立操作完成后,FPGA确立接口忽略悉数SPI总线行径。由于FPGA在确立完成后罢手监测其DIN输入,因此FPGA灵验地忽略了位流读取操作后的悉数SPI总线行径。
图5评释了SPI总线和FPGA确立事务的关系。
图5:SPI与FPGA之间时序关系
2.3 带有附加控件简直立才能
另一种增强确立操作和才略的才能是使用Zynq-7000 AP SoC来适度FPGA确立引脚。举例,Zynq-7000 AP SoC不错使用其GPIO引脚驱动FPGA PROGRAM_B引脚来取销FPGA确立Flash并再行启动确立。这允许基于系统操作条款来再行确立用户遐想。它不错为某些用户遐想提供雄壮的上风,这些用户遐想受益于操作过程中的功能变化。
此外,Zynq-7000 AP SoC不错通过将其GPIO引脚连络到FPGA DONE和INIT_B引脚来监测FPGA确立准备情况和恶果。INIT_B是一个确立作假或就绪信号。DONE信号是一个确立完成训诫器。这些情景信号为Zynq-7000 AP SoC提供信息,以作念出灵验决策,确保可靠确立。
举例,从确立故障中复原的一种流行决策称为确立回退。若是Flash中的盘算位文献损坏,则用户遐想不进行确立,FPGA也不起作用。在这种情况下,固件通过查验INIT_B和DONE信号来检测情况。然后,它通过使用Flash中的已知雅致(golden)位文献再行确立FPGA来缓解问题。这使FPGA达到已知的功能情景,以幸免恶运性的系统故障。
2.4 SPI总线SCLK最大频率
SPI总线上的数据在相悖的时钟边沿上被启动和拿获。SCLK频率的铁心成分是最小SCLK/CCLK低时刻。如图5所示,它由从SCLK的下落沿到CCLK的高潮沿的SPI Flash MISO输出数据灵验时刻和FPGA DIN输入竖立时刻之和决定。
图6:SPI总线到FPGA时序
以劣等式臆想SPI总线复古FPGA确立的最大SCLK频率:
其中:
•TV=SPI Flash SCLK到MISO数据输出灵验时刻。
•TDCCK=FPGA DIN输入竖立到CCLK竖立时刻。
•SCLKLow duty cycle %, minimum=时钟周期内SCLK低的最小百分比。
为了获取更准确的臆想,SCLK/CCLK和MISO/DIN信号的PCB走判辨径和相应传播延长的适用重量应纳入上述方程式。
此外,SCLK信号(FPGA CCLK引脚)的信号完满性至关弥留。为了终了最大可能的时钟频率,请使用最好实践来遐想并将此时钟信号从Zynq-7000 AP SoC路由到SPI Flash和FPGA端点。3.参考遐想
本文提供了一个示范参考遐想。它使用Zynq®-7000全可编程SoC(AP SoC)和盘算板上的FPGA终判辨图2所示的措置决策。您不错从Xilinx®网站下载本应用评释的参考遐想文献。表1露出了参考遐想矩阵。
3.1 硬件遐想
硬件遐想基于Zynq-7000 AP SoC 7Z045 CLG484器件。AP SoC Quad SPI适度器连络到复古SPI x1、x2或x4宽度的多I/O存储器建立。尽管Zynq Quad SPI适度器也不错复古x1、x2、x4和x8宽度,但此参考遐想适用于使用单比特总线宽度的传统SPI条约。下图露出了Zynq-7000 AP SoC、SPI PROM和Kintex-7 FPGA之间的硬件连络。
图7:示例硬件旨趣图
参考硬件遐想在Vivado®design Suite技俩中提供。AP SoC内的系统框图如图8所示。
图8:Vivado终了框图
3.1 固件经过
参考遐想应用存储在SPI Flash中的更新的(最新遐想改良版)比特流和Golden(已知雅致的)比特流来终了尝试和回退确立决策。Zynq-7000 AP SoC固件领先尝试加载最新的预期比特流。然后,若是确立弗收效,固件将再行启动确立并加载黄金比特流。此过程称为回退确立。固件经过图如图9所示。
图9:固件加载经过图
固件确立算法的防御信息:
(1)将Zynq-7000AP SoC Quad SPI接口确立寄存器出手化为I/O时势。
•履行诸如竖立时钟分频器、芯片采选时势和启用适度器等任务。
(2)取销FPGA确立内存。
•断言PROGRAM_B的时刻段至少比TPROGRAM长,然后取消断言。
(3)恭候INIT_B开释。
•轮询INIT_B引脚,以确保FPGA已完成房屋清洁阶段。
(4)竖立Quad SPI适度器传输功能。
•演示使用轮询数据传输函数XQspiPs_PolledTransfer()。功能原型为:int XQspiPs_PolledTransfer(XQspiP*InstancePtr,u8*SendBufTr,u8*RecvBufPtr,unsigned ByteCount);
•InstancePtr是指向Quad SPI实例的指针
•SendBufPtr和RecvBufPtr分别是发送和接纳缓冲区指针。此功能要求发送和接纳缓冲器的字节数与将再行确立FPGA的比特流的长度相易。
•ByteCount是要传输的字节数。
•发送缓冲区的第一个字包含敕令和地址,如表2所示。第一个字节包含用于Quad SPI存储器建立的敕令。在这种情况下,它将发送读取字节敕令(0x03)。只需要一个敕令即可完成悉数这个词操作。盘算比特流的24比特肇端地址被离别为三个字节。缓冲区其余部分的实践是未界说的,因为这是一个读取操作。
表2:Quad SPI写入缓冲区界说
(5)呼唤轮询传输功能
•调用该函数后,Quad SPI适度器将发送缓冲区的实践发送到Quad SPI存储器。同期,它读取的字节数与比特流的大小相易。由于FPGA的DIN和CCLK引脚连络到SPI适度器的MISO和SCK信号,当检测到SYNC字时,FPGA(竖立为从串行确立时势)将出手确立。FPGA是在比特流被王人备读取时确立的。
(6)查验作假
•确立FPGA后,若是INIT_B和DONE被断言,则这暗示收效读取拆伙。
•然而,若是INIT_B和/或DONE引脚保捏低位,固件将加载已知的雅致确立(即Golden比特流)并再行确立FPGA。这被称为确立回退。
4.论断
本文先容的FPGA确立措置决策裁汰了包含微处理器、SPI Flash和FPGA的典型系统的硬件和固件要求。它应用了FPGA串行确立时势和SPI存储器之间的兼容性。
本文转载自FPGA征询院公众号,如波及作品实践、版权和其它问题爱情电影网qvod,请连络责任主说念主员,咱们将在第一时刻和您对接删除处理!