赞
踩
本文旨在通过讲解不同模式的原理图连接方式,进而配置用到引脚的含义(手册上相关引脚含义有四、五页,通过本文理解基本上能够记住所有引脚含义以及使用场景),熟悉xilinx 7系列配置流程,以及设计原理图时需要注意的一些事项,比如flash与FPGA的上电时序。
xilinx配置相关的引脚主要集中在bank0,bank14、bank15也存在一些辅助配置引脚,配置的模式主要由bank0上面的M[2:0]三个引脚的状态决定,总共存在7种不同的配置方式(因为M[2:0]=3’b011不存在),因为M[2:0]三个引脚内部由上拉电阻,所以默认是从串行配置模式(3’b111),配置模式如下表1所示。
配置模式 | M[2:0] | 总线位宽 | CCLK方向 |
---|---|---|---|
Master Serial | 000 | X1 | 输出 |
Master SPI | 001 | X1,X2,X4 | 输出 |
Master BPI | 010 | X8,X16 | 输出 |
Master SelectMAP | 100 | X8,X16 | 输出 |
JTAG(only) | 101 | X1 | 无效 |
Slave SelectMAP | 110 | X8,X16,X32 | 输入 |
Slave Serial | 111 | X1 | 输入 |
注意:如果M[2:0]为101,则该FPGA只支持JTAG进行配置。处于其余配置模式下时,依旧可以使用JTAG模式进行调试,并且优先级最高。
一般必然存在的JTAG调试模式,另外使用较多的是主SPI模式和从串行配置模式,后面主要讲解这几种配置,其余并行配置模式由于消耗引脚较多,一般不会使用,与这几种串行模式的区别仅在于数据引脚的区别,需要了解的可以自行查看ug470手册。xilinx.com/content/dam/xilinx/support/documents/user_guides/ug470_7Series_Config.pdf
不同模式只有一些用于传输数据的引脚不同,都会使用一些相同的控制信号,并且在不同模式下这些信号功能基本一致。
bank0电压范围选择引脚,该引脚用于确定bank0的供电电源的范围,如果该引脚接VCC,则bank0使用2.5V或者3.3V供电,如果接GND,则bank0供电电压小于等于1.8V。如下图所示,CFGBVS接高电平3.3V,则bank0的供电电压VCC_0_1和VCC_0_2均接3.3V。
这个引脚可以清除FPGA内部的所有配置信息,让FPGA回到配置状态,重新进行配置,低电平有效。但注意在上电时把PROGRAM_B 保持为低电平不会使 FPGA 配置保持复位状态,延迟配置的时间需要使用INIT_B信号配合完成,后续讲解上电配置时详细说明。PROGRAM_B 引脚外部需要通过4.7KΩ以上的电阻上拉至VCC。相关连接如图1所示原理图中该管脚外部通过4.7KΩ上拉电阻接到VCC,并且讲该信号引出,便于其他控制器可以控制ARM的配置。
FPGA 初始化引脚或配置错误信号,低电平有效。当 FPGA 处于配置复位状态或当 FPGA 正在初始化(清除)其配置存储器(PROGRAM_B信号为低电平)时或当 FPGA 检测到配置错误时,FPGA 会将该引脚驱动为低电平。在上电期间,可以通过讲该引脚拉低,来延迟上电配置程序的时间。当完成初始化后,该引脚被释放,外部上拉电阻讲该引脚拉高,当检测到该信号上升沿之后,FPGA会读取M[2:0]引脚状态,从而确定后续采用哪种配置方式进行配置。故该引脚外部也需要通过4.7KΩ的电阻上拉到VCC。
该信号高电平表示FPGA配置序列完成,默认情况下,该引脚为开漏输出,内部有一个大约10KΩ的上拉电阻,外部只需要通过一个330Ω的电阻上拉即可。
该引脚的状态决定在配置期间非专用配置IO的状态,如果该引脚接高电平,则这部分IO设置为高阻态,如果该引脚为低电平,则这部分引脚被上拉输出高电平。该引脚外部通过1KΩ电阻上拉到VCCO_14或者下拉到GND。注意该引脚不能悬空,连接如图2所示。
该引脚是FPGA内部易失性存储器的电池备用电源,用于存储AES解密器的密钥,如果不需要使用AES易失性密钥存储区域中的解密器密钥,那么将该引脚接地就行,该引脚不是I/O,不受VCCO_0的影响。了解该引脚功能即可,一般都用作接地处理。
不管采用何种配置方式,上述5个信号均具有相同功能,并且必须进行设置,不能悬空处理,接下来就可以看一下具体的上电配置流程,同样,不管是何种配置方式,上电配置流程均相同,配置模式只能影响接收发送数据的方式。
配置流程包含三个大步骤(复位,加载程序,初始化启动),分为8个小步骤,如图3所示:
这部分主要涉及到不同电源轨上电时序的要求,不同系列上电要求不一致,需要参考对应手册的上电时序。电源的种类如图4所示。
上图对应的电源种类一般位于电源bank上,原理图如图5所示,Vccint为内核电源,另外有给AES加密和BRAM供电的电源,还有bank0的供电电源,ban14和bank15辅助配置供电电源,最后还有各个IO bank供电引脚。
如图6所示,在期间上电时,program_b引脚拉低,FPGA的配置存储器按顺序清零,BRAM被重置为初始状态,触发器通过全局置位(GSR)重置被初始化。在此期间,除了少数配置引脚之外,其余IO通过全局三态将I/O置为高阻态,如果pudg_b为低电平,则这些IO内部上拉电阻使能,输出高电平。上电配置时,init_b信号在初始化期间被内部驱动输出低电平,经过Tpor时间后释放。
如果不是上电,其余情况的初始化如图7所示,将program_b引脚拉低,初始化配置存储器,持续时间由Tprogram决定。一直把program_b信号拉低是无法让FPGA停留在初始化过程的,想要停留在这个过程中只能通过把init_b信号保持为低电平来实现延迟初始化过程。如果init_b引脚外部保持低电平,则器件在初始化过程中等待,直到引脚释放,满足TpoR或TPL延迟。
这里需要注意一个上电顺序的点:
上电时,FPGA会自动开始其配置过程,当FPGA处于主机串行SPI配置模式时,FPGA将FCS_B置为低电平,选择SPI闪存,并向SPI闪存发送读取命令。在FPGA将FCS_B驱动为低电平并发送读取命令之前,SPI闪存必须处于唤醒状态并准备好接收命令。
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。