nand flash的读操作详解(3)

TRC 这个参数有点简单。看他的范围 是 一个 RE周期 的时间,那么就跟前面的 tWC 应该是一样的。那它应该代表的就是 RE信号的一个周期时间(读信号的一个周期)

TREA 呢? 看标号看不出所以然,那么我们就看他的起始和结束时间 从时序图能看到,这个指的是从 RE有效(变低) 到数据出现之间的时间。

那么tREA 可想而知就应该是 读信号有效到数据被读之间的时间

后面的都是这个同样的分析方法

比如最后的那个 tRHZ 是从 RE 无效(高电平)到数据线变成高阻态 之间的时间(数据线画在中间表示的是高阻态)

看下手册中的解释 也基本就是这个意思

nand flash的读操作详解

到这里 对于时序图怎么看,相信大家都应该能理解了。甚至可能连手册都不用看,就知道他是什么意思了。因为我们能从 时间的起始地址来推测时间标号的意思

上面这些分析,都是很底层的操作,如果我们使用 s3c2440 这种高级的处理器 这些时序操作我们根本不需要去实现,顶多也就往几个寄存器中

设置一下上面说的一些时间 然后,CPU 中的 nand flash控制器会自动完成上面所的所有操作。但是还需要了解的原因是,如果你碰到一个没有

nand flash 控制器的处理器 怎么办,那你只能亲自实现这些 具体的 写命令,写地址。等等 单元操作。

然后才能将这些单元操作组合成 读数据,写数据等操作(上面说过 比如读操作 他并不是一个简单的命令而是一系列操作,你要片选使能,然后发命令(读命令),

然后发地址(要读的数据的地址),需要的话还需发一个命令,然后需要等待操作完成,然后读书数据)

说完了 这些具体的单元操作,那么我们再来看看一个 读操作 具体需要哪些步骤。也就是我们需要真正必须掌握的时序操作

对于我这款 nand flash 读操作时序如下

nand flash的读操作详解

我们要注意的主要是 最下面一行 即 I/Ox 信号线的状态,他指示了 读操作需要哪些,单元步骤。

1 首先 我们看到 有一个 0x00 是什么?数据?地址?命令?  ALE/CLE线啊,这两根线不是决定了现在的数据的类型嘛

       顺着往上看,我们知道0x00是在 CLE有效期间的数据那么它就是一个命令

2 然后是 address(5Cycle) 即五个地址序列(这款nand flash 指定读数据的地址时要发送五个地址序列),往上看,是在ALE有效期间的数据,那么应该就是地址了

(对于这五个地址,前面两个是列地址,后面三个是行地址。在nand flash的物理结构中 行地址对应的某一页,列地址就对应这一页中的某一列)

3 接着又是 0x30,此时 CLE有效,那么就是命令了(也就是说这款nand flash的读操作需要两个命令)。

但是之后数据并未立刻出来,我们看到在到 DATA Output即数据输出之前还有一段时间,为什么有这段时间?

往上看 R/nB 这个数据线上说明了原因,这段时间内它是低电平 即指示现在 处于 忙碌状态,还未准备好数据输出。为什么会这样?

因为你 写了 一个命令,写了要读数据的地址,又写了一个命令。 你总要给 cpu一些时间去处理这些命令吧,

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6788998dd6384ef098cf282b902e3ff3.html