|

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是在FDCB里使能串行NOR Flash的QPI/OPI模式。
2 [. r5 j& k* \# G3 K我们知道 Flash 读时序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡讲过《串行NOR Flash的Continuous read模式》,Continuous read 模式是为了在适当的情况下精简掉连续读访问里的后续 CMD 子序列,它可以进一步提高 Flash 访问性能,这已经是极限了吗?其实没有,还差最后一招,那就是痞子衡今天要讲的 QPI/OPI 模式。
( O1 O) d2 H! T一、什么是QPI/OPI模式?截至到目前为止,不管是四线 Flash 还是 八线 Flash,痞子衡讲的所有 Flash 传输时序中的 CMD 子序列都是以 1 线形式发送的(即只通过 IO0 来发送),我想你肯定也曾经觉得奇怪过,为何其他子序列都有 1/2/4/8 线模式可选,偏偏这个 CMD 子序列总是 1 线模式?其实这也不能怨 CMD,毕竟所有的 Flash 传输时序都从 CMD 子序列开始的,后续子序列的 Pad 模式都是靠 CMD 命令码来区分的,为了保证 CMD 值能被正确获取,只能牺牲 CMD 序列的灵活性,就固定以 1 线形式发送,这也就是所谓的 SPI 模式。3 a5 h# Q; s% Q3 p ]
为了不让 CMD 子序列太委屈,Flash 厂商也为了它单独做了设计,四线 Flash 可以切换到 4 线模式来发送 CMD 子序列(即 QPI 模式),八线 Flash 可以切换到 8 线模式来发送 CMD 子序列(即 OPI 模式),默认上电是 SPI 模式,然后在 SPI 模式下做指定设置可以切换到 QPI/OPI 模式,在 QPI/OPI 模式下做指定设置或者复位也能再回到 SPI 模式。
: k6 X0 o* x; Z W1.1 四线Flash的QPI模式下面是一款典型的四线 Flash(芯成 IS25WP128) 在 QPI 模式下的 Fast Read Quad I/O 传输时序,此时 CMD 子序列仅在 2 个 CLK 内就完成了传输,因为 IO[3:0] 均参与了 CMD 发送,效率是 SPI 模式下的 4 倍。后面的子序列与 SPI 模式下一模一样。 |
|