nand flash学习笔记一

阅读更多

Nandflash

 

原理图上有data0-data78个引角

容量为256M*8bit,所以地址位应该有28,原理图上只有data0-data7,所以需要发出多次地址信号

1命令、地址、数据复用

2地址多次发出

 

Nandflash与内存不同,不能直接读写,要先发出命令,再发出地址,再读写数据

CLE为高电平data0-data7传输的是命令

ALE为高电平data0-data7传输的是地址

CLEALE两者都为低电平时,data0-data7传输的为数据

nWE=0,为低电平时,表示写

Nandflash读取信息

 

查看K9F2G08U0A数据手册:

Function1stCycle2ndCycleAcceptableCommandduringBusy

Read00h30h

 

 

nand flash学习笔记一_第1张图片

查看6410芯片手册

nand flash学习笔记一_第2张图片

 

 

1初始化nandflash控制器:时间参数/使能片选引角

Nandflash/s3c6410

nCEnCS2_NAND(Xm0CSn2/GPO0)

2命令/地址/读数据

发送命令:把命令写到NFCMMD寄存器

发送地址:把地址写到NFADDR寄存器

发送数据:把数据写到NFDATA寄存器

读数据:NFDATA寄存器

 

 

Openjtag操作nandflash

1id

(1)初始化:

查看芯片手册

MEM_SYS_CFG0x7E00_F120R/WConfigurememorysubsystem0x0000_0080

 

Xm0CSn[2]

----1-SROMCCS2

----0-OneNANDCCS0

----0-NFCONCS0

设置MEM_SYS_CFG=0,让Xm0CSn[2]用作nandflash的片选信号

Mdw0x7E00F120

//memmorywriteword

Mww0x7E00F1200

 

查看芯片手册

NFCONF0x70200000R/WNANDFlashConfigurationregister0xX000100X

设置时间参数

Mww0x702000000x8000777e

(2)发送使能信号

查看芯片手册

NFCONT0x70200004R/WNANDFlashcontrolregister0x000100C6

 

SoftLock[16]SoftLockconfiguration

0:Disablelock1:Enablelock

 

Reg_nCE0[1]NANDFlashMemoryXm0CSn2signalcontrol

0:ForceXm0CSn2tolow(Enablechipselect)

1:ForceXm0CSn2toHigh(Disablechipselect)

Note:ThisvalueisonlyvalidwhileMODEbitis1

 

MODE[0]NANDFlashcontrolleroperatingmode

0:NANDFlashControllerDisable(Dontwork)

1:NANDFlashControllerEnable

 

NFCONT(0x70200004)[0]=1/*使能nandflash控制器*/

NFCONT(0x70200004)[1]=0/*xm0csn[2]输出0*/

NFCONT(0x70200004)[16]=0/*softlock*/

 

mdw0x70200004/*0x100c6*/

mww0x702000040xc5
(3)发送读id命令

查看芯片手册:

NFCMMD0x70200008R/WNANDFlashcommandsetregister0x00

查看K9F2G08U0A数据手册:

ReadID90h-

//复位

Mwb0x702000080xff

//0x90写到NFCMMD(0x70200008)

Mwb0x702000080x90

(4)发出地址0

NFADDR0x7020000CR/WNANDFlashaddresssetregister0x0000XX00

//把把0写到NFADDR()

Mwb0x7020000C0

(5)读数据

NFDATA0x70200010R/WNANDFlashdataregister0xXXXX

Mdb0x70200010

 

2读数据

(1).初始化

mww0x7E00F1200/*xm0csn[2]配置为nandflash的片选信号*/

mww0x702000000x8000777e/*设置时间参数*/

(2)发出片选信号

mww0x702000040xc5

(3)发出复位信号

mwb0x702000080xff

(4)发出读命令

mwb0x702000080

(5)发出地址

mwb0x7020000C0

mwb0x7020000C0

mwb0x7020000C0

mwb0x7020000C0

mwb0x7020000C0

(6)发出0x30命令

mwb0x702000080x30

(7)读数据

mdb0x70200010

 



 

 

你可能感兴趣的:(nand flash学习笔记一)