韦东山一期视频学习笔记Nandflash

137次阅读

共计 841 个字符,预计需要花费 3 分钟才能阅读完成。

硬件原理分析

引脚功能

CLE高电平 ALE 低电平时传输命令
CLE 低电平 ALE 高电平时传输地址
ALECLE低电平时传输数据
CLE 片选信号低电平有效,因为 LDATA 信号是多芯片共用的
RnB 状态引脚,高电平表示空闲,低电平表示正忙
WE 引脚上升沿锁存写入数据
RE 下降沿后延迟 tREA 读出数据

可以看到 WE 上升沿通知 nand 写入数据,RE 下降沿后延迟 tREA 输出数据

直接操作和 nand 控制器操作对比

命令列表

使用 uboot 体验 nand 操作

uboot 安装参考上一篇文章韦东山一期视频学习笔记 -Norflash
#### 读 ID

1. 选中芯片
NFCONT(0X4E000004)bit1 置 1 选中芯片,md.l 4E000004 1 读出寄存器值(因为是 32bit 寄存器)

可以看到芯片没有选中,mw.l 4E000004 1使能 nand flash

2. 发出命令 0x90
NFCMMD(0X4E000008)写入 0x90,mw.b 4E000008 90b写入 1 字节)

3. 发出地址 0x00
NFADDR(0X4E00000C)写入 0x00,mw.b 4E00000C 00b写入 1 字节)

4. 读数据
读取NFDATA(0X4E000010)uboot 命令md.b 4E000010 1

5. 读 Device Code
读取NFDATA(0X4E000010)uboot 命令md.b 4E000010 1

可以看到读出的数据和芯片手册一致

6. 退出读 ID 状态 Reset
mw.b 4E000008 ff

读 0 地址内容

使用 uboot 命令 nand dump 0 可以查看 nand 内数据

读操作时序

发出以下命令进行读 0 地址测试

mw.l 4E000004 1 // 使能 nand flash
mw.b 4E000008 00 // 发出命令
mw.b 4E00000C 00 // 发出地址
mw.b 4E00000C 00 // 发出地址
mw.b 4E00000C 00 // 发出地址
mw.b 4E00000C 00 // 发出地址
md.b 4E000010 1 // 读数据

可以看出运行结果和 uboot 命令直接读取 nand flash 结果一致

正文完
 0