QSPI(QUAD SPI)
- 简介
支持单条、两条、四条数据线连接QSPI FLASH。与SPI相比多了两个数据口,支持一个时钟周期内传输4个Bit的数据。支持交替字节阶段。 - 特性
2.1三种操作模式 间接模式:使用 QSPI 寄存器执行全部操作。此模式下,所有数据传输通过数据寄存器和FIFO(32位)。如果进行擦除或编程操作,则必须使用该模式。 状态轮询模式:周期性读取外部 FLASH 状态寄存器,而且标志位置 1 时会产生中断(如擦除或烧写完成,会产生中断)。 内存映射模式:外部 FLASH 映射到微控制器地址空间,从而系统将其视作内部存储器。可以用于阅读操作、可以从外部QSPI FLASH执行代码。该模式最大支持256MB。
2.2信号接口模式 2.2.1双闪存模式 通过QSPI的两个BANK分别接上两个flash,实现8线模式。要求使用同一个时钟信号,并可选择其中BANK的一个片选信号作为片选控制。
2.2.2 SDR模式-单倍数据速率模式 默认情况下,QSPI在SDR模式下工作。在该模式下,每个CLK的下降沿发生一次数据的转变(地址\交替字节\数据阶段)。
2.2.3 DDR模式-双倍数据速率模式 在该模式下,每个CLK的下降沿与上升沿都发生一次数据的转变(地址\交替字节\数据阶段)。指令阶段依旧通过CLK下降沿发送指令。
2.3 中断功能 发生超时、状态匹配、FIFO阈值、传输完成、传输失败时可以产生中断。
- QSPI命令序列
QSPI的命令序列包含以下几个阶段:指令阶段、地址阶段、交替字节阶段、空指令阶段和数据阶段。任一阶段都可以跳过,但必须包含指令、地址、交替字节或数据阶段之一。
3.1指令阶段 此阶段将命令(8位)发送到flash。可以通过1,2,4线发送,也可跳过。 3.2地址阶段 在此阶段,将地址发送到flash,从指定的地址中读取或写入数据。允许发送1,2,4个字节的地址。在间接模式和自动轮询模式下,用户可以直接将地址写入寄存器中。可以通过1,2,4线发送,也可跳过。 3.3交替字节阶段 QSPI 接口支持的一个额外阶段,具有更大的灵活性。它是通常用于控制操作模式。如连续发送一个字节的数据,使特定的存储器制造商的存储器处于工作模式。可以通过1,2,4线发送,也可跳过。 3.4空指令阶段 在高速时钟下运行时,此阶段可以确保有足够的“周转”时间从输出模式切换到输入模式。 3.5数据阶段 该阶段实现数据的接收与发送。
- QSPI特殊特性
4.1 SIOO(Send instruction only-once) 某些厂商会称为continuous-read mode、burst mode、performance-enhanced mode.该特性支持三种操作模式。当SIOO使能后,读操作只会发送一次指令,后面只会发送地址。 指令只会在开始读操作时发送一次。如果发生了一个新的读操作,只会发送地址。 该特性可以有效减少QSPI flash访问开销并促进性能。
4.2延迟数据采集 该特性用于因为PCB布线导致的信号延迟。该特性不支持DDR模式。
4.3超时计数器 该特性可以释放CS并把存储器至于一个较低的消耗状态以减少QSPI的功耗。在内存映射模式访问后,QSPI会把后续的字节数据存在FIFO中。当FIFO满了后,停止通信时钟,但保持CS为低的状态以保证闪存的选择。当FIFO中有空间后,不需要重新发送完整的指令也可以读取下一个字节。为了避免额外功耗,当通信时钟停止到足够长的时间,超时计数器就释放CS脚以此降低外部存储器的功耗。
4.4忙位和终止位 忙位:用于指示QSPI状态。 终止位:当一个应用程序正在运行时,任何正在进行的QSPI操作都可以通过设置寄存器中的ABORT位而中止。一旦中止操作完成,BUSY位和ABORT位将自动复位,FIFO被刷新。如果在正在进行的AXI/AHB突发操作中发生中止,QSPI在重置BUSY位和ABORT位之前允许正在进行的突发操作正常完成。
4.5四字节地址模式 处于这个模式下,最大闪存尺寸为4G。
欢迎大家关注我的公众号
|