NAND FLASH MT29F4G08

1 简介

我们通过stm32f429的fmc接口实现对MT29F4G08的访问,实现读写数据功能

  • NAND FLASH信号线
    在这里插入图片描述
    在这里插入图片描述

  • NAND FLASH 框图
    在这里插入图片描述

  • NAND FLASH 存储阵列
    在这里插入图片描述
    以上可以得知:(MT29F4G08)
    每个这样的芯片有两个plane
    每个plane有2048个block,一个包含偶数块,一个包含奇数块
    每个block有64个pege
    每个page有2K+64字节
    所以这个芯片的总容量为512M
    page有两个区
    数据存储区:一般用于存放用户数据
    备份区:存放ECC校验值,实现坏块管理和磨损均衡

  • 阵列寻址
    在这里插入图片描述
    访问存储单元需要通过三个地址告诉芯片是哪个位置,
    CAx:column address也就是列地址,就是一个page内的地址,MT29F4G08page大小为2112Bytes, 需要12根地址线表示,所以CA0~CA11
    PAx:page address 页地址,每个block有64个页,可以用6个地址线表示
    BAx:block address块地址,此芯片总共有4096个块,可以用12个地址线表示
    寻址需要五个周期数据:
    1~2 周期表示发送列地址,3 ~ 5周期表示块和页地址,可以用过一个参数被传递

2 命令定义

  • 命令定义
    在这里插入图片描述
    在这里插入图片描述
  1. 0x90 读取设备ID,非常重要,首先读取ID验证读写操作是否有问题
    在这里插入图片描述

  2. READ PAGE
    这个指令用于读取一个page,不能直接跨页读取
    在这里插入图片描述
    首先发送一个字节命令00h,然后发送五个字节要读取内容的地址,然后发送30h等待

  3. WRITE PAGE.在这里插入图片描述
    首先发送08h表示写数据命令,然后发送五个字节的地址,告诉芯片要写哪个位置,等待tADL时间后,可以连续读出数据内容,不能跨页,然后发送10h,表示加载到存储位置,最后发送70h读取状态,等待芯片状态为READY后,一次写操作完成。

  4. ERASE BLOCK
    NAND FLASH最小的擦除单位是一个block
    在这里插入图片描述
    首先发送60h,然后发送三个字节地址表示要擦除哪一个块,然后发送DOh,等待READY后,一次擦除块操作完成。

  • ECC 校验
    ECC,英文全称为: Error checking and Correction,是一种对传输数据的错误检测和修正的
    算法。 STM32 的 FMC 模块就支持硬件 ECC 计算,使用的就是汉明码,

3. STM32 FMC接口

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIOT技术栈

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值