SPI FLASH配置7系列的FPGA相关问题(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42229533/article/details/90767625

1.配置流程:

FLASH对FPGA的配置一般有两种方式。一种是上电即自配置,第二种是上电后软件下达配置命令后进行配置。

对于第二种,其实就是软启动的时序。下图是软启动下,表现SPI X1 FLASH配置FPGA的一般时序过程。

 

 

 

 

对于第一种,也是大多数人关心的上电自配置的流程一般为:上电后,FPGA首先初始化(INIT_B可以显示该状态),初始化没问题后自动启动它的配置流程。在主从的SPI配置模式下,FPGA有效FCS_B选中FLASH并且下发读命令。这个时候SPI FLASH 必须已经初始化完成。这是一个不容忽视的因素,笔者一个项目就因为FLASH启动慢于FPGA。导致上电后无法启动FPGA,但是软启动却是可以。解决好这个问题官方文档给了两个方法,亲测有效:


2.重要的几个信号

PROGRAM_B:重新配置。该信号低有效,当出现一个低脉冲时,则重新开始配置流程。这个信号可以引出到开关,用于调试时的程序加载。具体电路如下图。这个信号只能用于上电后的重配置。言外之意,在上电之前就让他保持低电平再拉高,以达到延迟配置的功能是不行的。上电时想要达到配置延迟只能用INIT_B。

 

 

INIT_B:FPGA的配置初始化信号。这是个双端口。当该信号为低的时候,代表配置流程处在复位状态,或者配置发送了错误,或者在清除(初始化)配置信息。在QSPI FLASH配置时序中,它一般在紧跟PROGRAM_B这个信号后面。当然,它有一个最大的功能就是能够在上电后延迟FPGA配置进程,保证FLASH设备准备好后FPGA再对其发出读写指令,满足SPI FLASH的配置时序。

PUDC_B:上电后,以及在FPGA配置过程中IO脚的状态。当他为低的时候,IO上拉电阻有效。反之无效。手册中提示,配置过程中该脚一定不能悬空。虽然没说如果悬空会有什么后果,但实际验证发现,在有的型号片子(K7325T)上,并不会影响FLASH对FPGA的配置,不知道在其他片子上(包括同型号不同封装的片子)是否会有影响。猜测,如果悬空会造成配置过程中IO的不定态,如果外接了其他设备,会对引脚有破坏作用。

 

 

(本文档参考官方文档7Series_Config

猜你喜欢

转载自blog.csdn.net/weixin_42229533/article/details/90767625
SPI