FlexSPI应用于FPGA器件的一些要点 手册1719页

27.6.6 FPGA器件的应用使用

FPGA器件应该用AHB命令访问。所有对FPGA的AHB访问将对SW驱动程序透明(没有SW干预,不需要软件干预)。

可能对FPGA器件有一些特殊的要求。 

 1. 在A1/A2/B1/B2上,设备类型可能不同

     对于这种情况,清除MCR2[SAMEDEVICEEN]位,并分别为最多4个外部设备配置FLSHxCRO和FLSHxCRI寄存器。

 

2. 设备需要不同的等待周期进行编程。

可以为这四个外部设备分别设置AHB写等待周期数(通过寄存器字段FLSHxCR2[AWRWAIT)。软件可以将LUT中的序列配置为不同的虚拟指令(操作数决定虚拟周期)。请注意,FlexSPI将占用AHB总线直到这个等待时间做好准备,所以当这个等待时间很长时,AHB总线的性能可能会变得非常低。

 3.读取设备需要不同的等待周期。

可以分别为这四个外部设备设置AHB读取序列索引和序列号(通过寄存器字段FLSHxCR2[ARDSEQID]和FLSHxCR2[ARDSEQNUM])。软件可以将LUT中的序列配置为不同的虚拟指令(操作数决定虚拟周期)。

4. 设备可能对读取指令时钟周期数敏感

如果它的内部存储器实现类似先进先出,设备将对读取指令时钟周期数敏感。在这种情况下,软件可以通过DATSZ指令将数据大小信息发送到外部设备。FPGA设备应解码数据大小信息,并确定应弹出多少数据字节。

       

5. 片选信号有效到设备反应有效需要间隔时间

这可以通过寄存器字段FLSHxCR1[CSINTERVAL]设置来处理。

6.外部器件可能需要用SCLK作为内部PLL的参考时钟

在这种情况下,SCLK应该是自由运行的并且时钟频率应该是稳定的。这可以通过设置MCR0[SCKFREERUNEN]和只使用SDR序列来实现。

猜你喜欢

转载自blog.csdn.net/catshit322/article/details/108181405
今日推荐