大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家先容的是同一厂商不同系列Flash型号下Dummy Cycle设置方法的差异。

 

上一篇文章 《在i.MXRT启动头FDCB里调整Flash工作频率也需同步设Dummy Cycle》, 痞子衡是以i.MXRT1170-EVK上板载Flash型号IS25WP128为例来先容Dummy Cycle设置的。最近痞子衡在支撑一个i.MXRT1020客户的问题,需要用到i.MXRT1020-EVK,这个板载Flash是IS25LP064A,跟IS25WP128一样是来自同一Flash厂商ISSI的QSPI NOR产品,痞子衡想当然地认为之前的经验可以直接用在这颗Flash上,于是把FDCB原封不动地拷贝过来直接使用,但是发现i.MXRT1020竟然启动不了,这是怎么回事?

 

一、同一厂商不同系列Flash型号Dummy Cycle设置差异

ISSI(芯成半导体)是一个比较老牌的存储器厂商,规模上不算顶级,但旗下Flash产品线众多,品类很齐全。其中串行NOR产品涵盖QuadSPI NOR、Octal Flash、Twin Quad NOR、HyperFlash等。

 

ISSI Flash种类:https://www.issi.com/US/product-flash.shtml

 

恩智浦官方EVK板上选用的是IS25xP系列,属于最常用的QuadSPI NOR大类。这个系列主要分两大类:1.8V供电的IS25WP系列、3.3V供电的IS25LP系列。

 

 

前面大家对IS25WP系列Flash的Dummy Cycle设置很了解了,那么IS25LP系列Flash是不是一样的设计呢?大家查看IS25LP064A数据手册来确认一下。

 

大家找到如下Read Dummy Cycle与最大工作频率的对应表,从表里可以看到当IS25LP064A工作在Fast Read Quad I/O模式时,默认的6个Dummy Cycle适用的最大工作频率是104MHz(这点上与IS25WP系列是一致的),不过与IS25WP系列不同的是IS25LP064A上Dummy Cycle仅有四档(2bit设置,对应4/6/8/10四种值),而IS25WP系列Dummy Cycle有十五档(4bit设置,对应1-15取值),所以Dummy Cycle设计在IS25LP064A上其实是精简版。

 

二、如何更改Flash里的Dummy Cycle?

意识到IS25LP与IS25WP在Dummy Cycle设计上的差异,改起来就容易了。大家继续看Flash数据手册,IS25LP064A内部有个8bit的Read Register,其bit4-bit3是Dummy Cycles设置(精简设计一),寄存器类型里标明仅易失性一种属性(精简设计二)。

 

在IS25LP064A的指令集表里,可以看到专门写Read Register的指令,即SRP指令,注意指令值就是唯一的0xC0(精简设计三)。

 

分析到这里,额外的小工程修改Dummy Cycle是不可能了,只能老老实实在i.MXRT每次启动时直接借助FDCB启动头里的设置用SRP指令更改Flash的Dummy Cycle,即如下所示:


至此,同一厂商不同系列Flash型号下Dummy Cycle设置方法的差异痞子衡便先容完毕了,掌声在哪里~~~