欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

FlexSPI 的 SCLK 停止功能 手册1693页

程序员文章站 2021-12-30 07:18:57
27.5.12 SCLK 停止功能当编程数据没有准备好用于编程命令序列,或者(内部FIFO中)没有空间接收数据,无法读取命令序列时,FlexSPI将停止SCLK输出。可能有某些设备不支持SCLK在命令序列期间停止(芯片选择是有效的)。SCLK停止可以通过以下操作避免:对于由IP命令触发的flash读取永远不要触发数据大于IP RX FIFO大小的read命令。用于flash读取的内部异步FIFO不应该是满的。FlexSPI以64Bits每AHB时钟周期的方式弹出数据,并以s......

FlexSPI  的 SCLK 停止功能 手册1693页

27.5.12  SCLK 停止功能

当编程数据没有准备好用于编程命令序列,或者(内部FIFO中)没有空间接收数据,无法读取命令序列时,FlexSPI将停止SCLK输出。

可能有某些设备不支持SCLK在命令序列期间停止(芯片选择是有效的)。SCLK停止可以通过以下操作避免:

FlexSPI  的 SCLK 停止功能 手册1693页

对于由IP命令触发的flash读取

永远不要触发数据大于IP RX FIFO大小的read命令。

用于flash读取的内部异步FIFO不应该是满的。

FlexSPI以64Bits每AHB时钟周期的方式弹出数据,并以serial root clock 从FlexSPI接口接收数据。接收速度由闪存访问模式(单/双/四/八进制模式和单独/并行模式)决定。例如,在八进制模式和并行模式下,FlexSPI每个串行根时钟周期接收16位。如果AHB时钟频率高于串行根时钟的1/4,这个异步FIFO永远不会满。

FlexSPI  的 SCLK 停止功能 手册1693页

对于由IP命令触发的flash编程

永远不要触发数据大于IP TX FIFO大小的程序命令。

在触发IP命令之前,将所有的编程数据填充到IP TX FIFO中。

用于flash编程的内部异步FIFO绝不应该是空的。

FlexSPI以64bit每AHB时钟周期的方式获取编程数据到异步FIFO,并以串行根时钟传输数据到FlexSPI接口。传输速度由闪存访问模式(单/双/Ouad/八进制模式和单独/并行模式)决定。例如,八进制模式和并行模式。FlexSPI每串行根时钟周期传输16位。如果AHB时钟频率高于串行根时钟的1/4,这个异步FIFO从不为空。

FlexSPI  的 SCLK 停止功能 手册1693页

对于由AHB命令触发的flash读取/编程

用于flash读取/编程的内部异步FIFO不应该是满的/空的。

频率比率限制与IP命令触发的flash读取/编程时相同。

FlexSPI  的 SCLK 停止功能 手册1693页

注意:

FlexSPI不会在数据大于内部AHB RX缓冲区的情况下触发AHB读取命令。

FlexSPI不会触发数据大于内部AHB TX缓冲区大小的AHB编程命令。

在FlexSPI中触发AHB程序命令之前,所有的编程数据都应该被缓冲到AHB TX缓冲区中。(提前准备好数据,写入开始后不能改变)

本文地址:https://blog.csdn.net/catshit322/article/details/108185364

相关标签: RT1052和Spartan7