返回顶部
闪存的读取(Read)操作是闪存最基本的功能之一,一切操作的最终目的都是为了“读”出来。
闪存Read(本文统称:“读取”)操作需求清楚的知道三个问题:
读取ID 也是一样,读取的步骤为:读取ID命令(90h)+读取地址(到哪里读,不同的地址对应不同的内容)=读取
当闪存执行读取命令时,读取命令(90h)被写入命令寄存器,等待下一个有效的地址命令一起执行读取操作,不同的地址会返回不同的ID内容,以美光3D Nand Flash为例说明读取ID的过程和返回内容:
90h(读取命令)+00h(读取地址),返回:5 Bytes的ID号,包括厂商ID、Nand Flash的配置、及部分规格信息,如图:
90h(读取命令)+20h(读取地址),返回:6 Bytes的ONFI识别码,如图所示:
4Fh=“O”,4Eh=“N”,46h=“F”,49h=“I”。
90h(读取命令)+40h(读取地址),返回:5Bytes的JEDEC识别码。
4Ah=“J”,45h=“E”,44h=“D”,45h=“E”,43h=“C”
在NFA100下,读取厂商ID(90h+00h)可以直接使用GUI界面来获取。
或者通过脚本来获取,脚本代码如下(以90h+20h为例):
*************************
CMND00 0 90 0 0 //发送命令
SNDAD1 0 20 0 //发送地址
GETDAT 0 0004 0 1 //返回结果
*************************
生成脚本非常简单,使用NFA100 Script Edtor点几下鼠标即可生成脚本:
“Save Script Files as”即可将脚本保存,例如,起名为:90h+20h.SSL,然后在NFA100测试软件中,“Operations”-“Script”-“Browse”将脚本载入,执行即可。
返回结果如下:
那么,在NV-DDR2模式下,又会得到什么结果呢?
NFA100 Ver2.0 Beta6.5
Script Execution Result
Get Data (Line3) CH14 : 4F 4F 4E 4E 46 46 49 49
Get Data (Line3) CH15 : 4F 4F 4E 4E 46 46 49 49
这是因为在同步的模式下,一个clock取了两次,每个Byte都是重复的。