datasheet芯片数据手册—新手入门学习(二)【8-18】

ops/2024/9/20 1:29:20/ 标签: 学习, 单片机, 嵌入式硬件, 硬件工程

参考芯片手册已经上传,可自行下载

因为芯片参考手册内容比较多,故再一次介绍本文内容主要讲解章节。

目录

8、内容介绍

命令真值表

9、Command Definitions

10、READ Operations 

(1)页面读取操作

(2)随机读取

11、BLOCK ERASE Operation

(1)块擦除

12、One-Time Programmable (OTP) Area

(1)OTP数据程序

13、RESET Operation

(1)重置

14、WRITE PROTECT Operation

(1)写保护操作

1、删除启用

2、删除禁用

3、程序启用 

4、程序禁用 

15、Error Management

16、Electrical Characteristics

(1)绝对最大额定参数

(2)推荐的操作条件

17、Timing Diagrams

(1)命令锁存周期

(2)地址锁存周期

(3)输入数据锁存周期


datasheet芯片数据手册—新手入门学习(一)【1-7】

8、内容介绍

本文主要介绍下方红色标题内容

  1. Features(特性或特点):一般概述了产品的主要优势和技术规格。

  2. Part Numbering Information (部件编号信息):这一部分通常包含如何识别不同NAND闪存部件的信息,包括它们的型号、版本和任何特定的标识符。

  3. General Description (一般描述):这里会提供NAND闪存的概述,可能包括它的用途、主要特点和优势。

  4. Architecture (架构):详细介绍NAND闪存的内部结构,包括它的组织方式和如何管理数据。

  5. Addressing (寻址):解释如何对NAND闪存中的数据进行寻址,即如何指定和访问存储在闪存中的特定数据。

  6. Memory Mapping (内存映射):描述如何将NAND闪存映射到系统的内存地址空间中,允许像访问RAM一样的访问方式。

  7. Array Organization (数组组织):介绍NAND闪存中数据的物理布局,包括块、页和平面的组织方式。

  8. Bus Operation (总线操作):涉及NAND闪存与系统总线之间的通信协议和时序要求。

  9. Command Definitions (命令定义):列出NAND闪存支持的所有命令,以及每个命令的功能和用法。

  10. Error Management (错误管理):介绍NAND闪存在操作过程中如何处理错误,可能包括纠错码(ECC)和其他机制。

  11. Electrical Characteristics (电气特性):提供NAND闪存的电气参数,如电压、电流、耐压等。

  12. Timing Diagrams (时序图):展示NAND闪存在不同操作下的时序要求,对于确保系统兼容性至关重要。

  13. Package Dimensions (封装尺寸):描述NAND闪存的物理封装类型和尺寸,这对于物理设计和安装非常重要。

命令真值表

9、Command Definitions

命令定义

此图一种存储器或类似设备的命令集及其相应的操作参数。表格列出了不同的命令代码、数据有效性、命令地址周期、命令周期中的状态以及可能的备注。下面是对表格内容的逐项解释:

  1. Command: 命令,这是存储器芯片接收的指令代码,以十六进制形式表示。
  2. Command Cycle 1: 第一个命令周期,这通常是指命令被发送到存储器后,存储器开始执行该命令的第一个阶段。
  3. Number of Address Cycles: 地址周期数量,这表示执行命令时需要的地址设置的周期数。
  4. Data Cycles Required1: 第一个数据周期所需的数据量,这表示在第一个数据周期中需要传输的数据量。
  5. Command Cycle 2: 第二个命令周期,如果命令需要多个阶段来完成,这将是第二个阶段。
  6. Valid During Busy: 在忙碌期间有效,这表示在存储器忙于执行前一个命令时,是否可以发送新的命令。
  7. Notes: 注释,提供了关于命令的额外信息或特殊说明

下面是表格中列出的命令及其详细解释:

  • PAGE READ: 页读取命令,命令代码为 00h,需要5个数据,地址周期为30h,没有备注。
  • PAGE READ CACHE MODE: 缓存模式下的页读取命令,命令代码为 31h,需要2个地址周期,没有备注。
  • PAGE READ CACHE MODE LAST: 缓存模式下的最后一页读取命令,命令代码为 3Fh,需要2个地址周期,没有备注。
  • READ for INTERNAL DATA MOVE: 用于内部数据移动的读取命令,命令代码为 00h,需要5个数据,地址周期为35h,需要3个命令周期。
  • RANDOM DATA READ: 随机数据读取命令,命令代码为 05h,需要2个数据,地址周期为 EOh(可能是一个错误,因为EOh不是一个有效的十六进制数),需要4个命令周期。
  • READID: 读取ID命令,命令代码为 90h,只需要1个数据,没有地址周期,没有备注。
  • READ STATUS: 读取状态命令,命令代码为 70h,没有数据和地址周期,设备在命令执行期间处于忙碌状态。
  • PROGRAM PAGE: 页编程命令,命令代码为 80h,需要5个数据,地址周期为10h,需要5个命令周期。
  • PROGRAM PAGE CACHE MODE: 缓存模式下的页编程命令,命令代码为 80h,需要5个数据,地址周期为15h,没有备注。
  • PROGRAM for INTERNAL DATA MOVE: 用于内部数据移动的编程命令,命令代码为 85h,需要5个数据,地址周期为10h,需要3个命令周期。
  • RANDOM DATA INPUT: 随机数据输入命令,命令代码为 85h,需要2个数据,设备在命令执行期间处于忙碌状态,没有地址周期。
  • BLOCKERASE: 块擦除命令,命令代码为 60h,需要3个地址周期,地址周期为 DOh,需要5个命令周期。
  • RESET: 复位命令,命令代码为 FFh,没有数据和地址周期,设备在命令执行期间处于忙碌状态。
  • OTP DATA PROGRAM: OTP(一次性可编程)数据编程命令,命令代码为 A0h,需要5个数据,地址周期为10h,需要5个命令周期。
  • OTP DATA PROTECT: OTP数据保护命令,命令代码为 A5h,需要5个数据,地址周期为10h,没有备注。
  • OTP DATA READ: OTP数据读取命令,命令代码为 AFh,需要5个数据,地址周期为30h,没有备注。

Two-Plane Command Set 

10、READ Operations 

读操作

(1)页面读取操作

在开机时,设备默认为读取模式。在操作中进入读取模式,需要先向命令寄存器写入00h命令,然后写入5个地址周期,最后以30h命令结束。

为了确定从NAND Flash阵列到数据寄存器的数据传输进度(tR),可以监测R/B#信号,或者,作为替代,发出一个读取状态(70h)命令。如果使用读取状态命令来监测数据传输,用户必须重新发出读取(00h)命令以从数据寄存器接收数据输出。有关示例,请参见第72页的图65和第73页的图66。重新发出读取命令后,脉冲RE#线将导致从初始列地址开始输出数据。

串行页读序列输出完整页的数据。写入30h后,页数据被转移到数据寄存器,R/B#在转移期间变低。当转移到数据寄存器完成时,R/B#恢复高电平。此时,可以从设备读取数据。从初始列地址开始,到页的末尾,通过以最大tRC速率重复脉冲RE#来读取数据。

(2)随机读取

随机数据读取命令允许用户指定一个新的列地址,以便可以读取单个或多个地址的数据。在正常的页读取(00h-30h)序列之后启用随机读取模式。在初始页读取之后,通过写入05h-E0h命令序列以及新的列地址(2周期)可以输出随机数据。

在页内可以无限制地发出随机数据读取命令。只能读取当前页上的数据。脉冲RE#引脚将顺序输出数据。

11、BLOCK ERASE Operation

块擦除操作

(1)块擦除

擦除是在块级别进行的。例如,MT29F4G08AAA设备有4096个擦除块,每个块组织为64页,每页2112字节(2048+64字节)。每个块是132K字节(128K+4K字节)。块擦除命令每次操作一个块。需要三个周期的地址BA[18:6]和PA[5:0]。虽然加载了页地址PA[5:0],但对于块擦除操作来说,它们是“无关紧要”的,并且被忽略。有关地址的详细信息,请参见第13页的表3。

实际的命令序列是一个两步过程。首先,将擦除设置(60h)命令写入命令寄存器。然后,向设备写入三个周期的地址。接下来,将擦除确认(D0h)命令写入命令寄存器。在WE#的上升沿,R/B#变低,控制逻辑自动控制定时和擦除验证操作。在整个tBERS擦除时间内,R/B#保持低电平。可以使用读取状态(70h)命令来检查块擦除操作的状态。当位6=1时,擦除操作完成。位0表示通过/失败条件,其中0=通过。

12、One-Time Programmable (OTP) Area

一次性可编程区域

这款美光NAND Flash设备提供了一个受保护的一次性可编程NAND Flash存储区。设备上有十个完整页(每页2112字节)的OTP数据可用,并且整个范围保证是好的。OTP区域只能通过OTP命令访问。客户可以按照他们希望的任何方式使用OTP区域;典型的用途包括编程序列号或其他数据以永久存储。

在美光NAND Flash设备中,OTP区域离开工厂时处于未写入状态(所有位都是“1”)。编程或部分页编程允许用户仅在OTP区域内编程“0”位。OTP区域不能被擦除,即使它没有受到保护。保护OTP区域只是防止对OTP区域进行进一步编程。虽然OTP区域被称为“一次性可编程”,但美光提供了一种独特的方式来编程和验证数据——在永久保护它并防止未来更改之前。

OTP编程和保护通过两个独立的操作完成。首先,使用OTP数据编程(A0h-10h)命令,OTP页在一个操作中完全编程,或最多进行四次部分页编程序列。以类似的方式,可以在OTP区域内的其他页上进行编程。其次,使用OTP数据保护(A5h-10h)命令,OTP区域被永久保护,防止进一步编程。无论是否受到保护,始终可以使用OTP数据读取(AFh-30h)命令读取OTP区域内的页。

为了确定设备在OTP操作期间是否忙碌,可以监测R/B#或使用读取状态(70h)命令。在OTP操作期间及其后,禁止使用双平面/多芯片读取状态(78h)命令。

(1)OTP数据程序

OTP数据编程(A0h-10h)命令用于将数据写入OTP区域内的页。可以一次性编程整个页,或者一个页可以被部分编程最多四次。OTP页没有擦除操作。

OTP数据编程允许编程到OTP页的一个偏移量,使用两字节的列地址(CA[11:0])。该命令与随机数据输入(85h)命令不兼容。如果OTP区域已被保护,OTP数据编程命令将不会执行。

要使用OTP数据编程命令,发出A0h命令。发出5个地址周期:前2个地址周期是列地址,剩余3个周期选择范围从02h-00h-00h到0Bh-00h-00h内的页。接下来,写入1到2112字节的数据。数据输入完成后,发出10h命令。内部控制逻辑自动执行适当的编程算法,并控制编程和验证所需的必要时序。程序验证仅检测未成功写入“0”的“1”。

在阵列编程时间(tPROG)期间,R/B#变低。读取状态(70h)命令是OTP数据编程操作期间唯一有效的命令。状态寄存器的位5将反映R/B#的状态。如果位7是“0”,则表示OTP区域已被保护;否则,它将是“1”。

当设备准备好时,读取状态寄存器的位0以确定操作是否通过或失败。

每个OTP页最多可以编程四次。

13、RESET Operation

重置操作

(1)重置

重置命令用于将存储器设备置于已知状态,并中止正在进行的命令序列。

在设备处于忙状态时,可以中止读取、编程和擦除命令。正在编程的内存位置或正在擦除的块的内容不再有效。数据可能被部分擦除或编程,并且无效。命令寄存器被清除,并准备好接受下一个命令。数据寄存器和缓存寄存器的内容被标记为无效。

当WP#为高电平时,状态寄存器包含值E0h;否则,它被写入值60h。在将重置命令写入命令寄存器后,R/B#变低tRST。

上电后,必须对所有CE#发出重置命令。设备将忙最多1ms。在初始重置命令和OTP操作期间及其后,禁止使用双平面/多芯片读取状态(78h)命令。

14、WRITE PROTECT Operation

写保护操作

(1)写保护操作

1、删除启用

2、删除禁用

3、程序启用 

4、程序禁用 

15、Error Management

错误管理

这款NAND Flash设备的规格是每4096个总可用块中至少有4016个有效块(NVB)。这意味着设备在出厂时可能包含无效块。一个无效块是包含一个或多个坏位的块。随着使用,可能会有更多的坏块出现。然而,在整个产品的耐用寿命期间,可用块的总数不会低于NVB。

尽管NAND Flash存储器设备可能包含坏块,但它们可以在提供坏块管理和错误更正算法的系统中相当可靠地使用。这种软件环境确保了数据完整性。

内部电路将每个块与其他块隔离,因此坏块的存在不会影响NAND Flash阵列其余部分的操作。

每个CE#的第一块(物理块地址00h)在出厂时保证在ECC下有效(最多1000次编程/擦除周期)。这为存储引导代码和关键引导信息提供了一个可靠的位置。

NAND Flash设备出厂时已擦除。工厂在出货前通过将除了FFh以外的数据编程到每个坏块的第一页或第二页的第一备用位置(列地址2048)来识别无效块。

系统软件应在NAND Flash设备上执行任何编程或擦除操作之前,检查每个块的第一页和第二页上的第一个备用地址。然后可以创建一个坏块表,允许系统软件绕过这些区域。工厂测试在最坏情况下进行。因为标记为“坏”的块可能是边缘性的,如果块被擦除,可能无法恢复这些信息。

随着时间的推移,一些内存位置可能无法正确编程或擦除。为了确保在整个NAND Flash设备的使用寿命内正确存储数据,需要采取以下预防措施:

• 编程、擦除或内部数据移动操作后检查状态。
• 在典型使用条件下,每528字节数据至少使用1位ECC。
• 使用坏块管理和磨损均衡算法。

16、Electrical Characteristics

电特性

(1)绝对最大额定参数

(相对于VSS的电压)

上标列出的应力超过这些值可能会对设备造成永久性损坏。这只是一个应力评级,并不保证设备在这些或任何其他超出本规范操作部分所示条件的条件下能正常工作。长时间暴露在绝对最大额定条件下可能会影响可靠性。

(2)推荐的操作条件

17、Timing Diagrams

时序图 (部分介绍)

(1)命令锁存周期

(2)地址锁存周期

(3)输入数据锁存周期


http://www.ppmy.cn/ops/44468.html

相关文章

Kubernetes Service 之原理与 ClusterIP 和 NodePort 用法

Kubernetes Service 之原理与 ClusterIP 和 NodePort 用法 Service 定义 在 Kubernetes 中,由于Pod 是有生命周期的,如果 Pod 重启它的 IP 可能会发生变化以及升级的时候会重建 Pod,我们需要 Service 服务去动态的关联这些 Pod 的 IP 和端口…

openssh生成ed25519的密钥对并实现服务器间免密钥登录

本文讲解如何用openssh生成ed25519的密钥对并实现服务器间免密钥登录。 注意:所有操作均在客户机侧 一、生成 ED25519 密钥 用需要免密登录的用户(本例为username) 运行“ssh-keygen -t ed25519 -b 256” [usernamelocalhost ~]$ ssh-keyge…

js怎么生成验证码?js生成指定长度的随机字符串

在项目中经常有生成随机字符串的需求,比如验证接口签名、验证码(Node.js发送短信或邮箱验证码、生成图片验证码),我们可以使用Javascript生成随机字符。 使用随机数从给出的可能字符中抽取合并字符串 优点是可以自定义结果中字符的取值,比如…

探索旅行的优惠之选,千益畅行旅游卡让旅程更省心省力!

在旅行的道路上,一张旅游卡往往能为您带来意想不到的便利与优惠。那么,对于千益畅行旅游卡,您是否好奇如何轻松拥有它呢? 首先,千益畅行旅游卡作为旅行者的贴心伴侣,为您提供了多样化的获取渠道。您可以通…

Flutter 中的 SelectableText 小部件:全面指南

Flutter 中的 SelectableText 小部件:全面指南 在 Flutter 应用开发中,展示文本是常见需求之一,SelectableText 是 Flutter 提供的一个用于显示可选文本的小部件。它允许用户选择文本的一部分或全部,进行复制等操作,这…

WordPress安装插件失败No working transports found

1. 背景(Situation) WordPress 社区有非常多的主题和插件,大部分人用 WordPress 都是为了这些免费好用的主题和插件。但是今天安装完 WordPress 后安装插件时出现了错误提示:“ 安装失败:下载失败。 No working trans…

设计模式10——装饰模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种结构型模式。…

Java 文件操作和输入输出流

在 Java 编程中,文件操作和输入输出流是非常常见和重要的任务,它们允许你读取和写入文件、处理数据流等。 文件操作概述 文件操作是指对文件进行创建、读取、写入、删除等操作的过程。在 Java 中,文件操作通常涉及到使用文件对象、输入输出…

基于香橙派搭建家庭网盘

一、概述 家庭网盘是一种用于家庭用户的在线存储和文件共享服务。它允许家庭成员在云端存储、同步和分享照片、视频、文档等文件,方便快捷地访问和管理个人和家庭数据。家庭网盘通常提供安全可靠的数据存储和备份功能,保障用户数据的安全性。此外&#x…

java项目级云MES源码(制造执行系统) springboot + vue-element-plus-admin生产制造业MES系统源码

java项目级云MES源码(制造执行系统) springboot vue-element-plus-admin生产制造业MES系统源码 MES系统通过信息传递对从订单下达到产品完成的整个生产过程进行优化管理。当工厂发生实时事件时,MES制造执行系统功能的发挥重点体现在及时做出反应、报告&…

高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

随着 ChatGPT 的出现,AI 成为新的焦点,有人说过“未来 50%的工作将是提示词工作”,目前很多公司也在开始招聘 Prompt 提示词工程师。Prompt(提示词)成为了连接创意与技术的桥梁,它不仅是简单的指令&#xf…

Rom应用开发遇到得一些小bug

记录一些细碎得bug ROM时间类问题 问题描述: 设备拔电重启,ROM时间为默认时间如1970年1月1日,与某些业务场景互斥 问题原因: 后台接口校验https证书校验失败,要求是2年内得请求头校验了时间戳,时间戳过期…

leetcode-560 和为k的数组

一、题目描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 注意:nums中的元素可为负数 输入:nums [1,1,1], k 2 输出:2输入:num…

MyBatisPlus实现多表查询

前言 在现代Web开发中,数据操作层的高效与灵活至关重要。MyBatisPlus(简称MP)作为MyBatis的增强工具,凭借其简洁的API设计和丰富的功能,极大地简化了数据库操作,尤其是在处理复杂查询如多表关联查询时展现出了独特的优势。本文将通过一个实际案例——使用MyBatisPlus实现…

【Zotero】【MacOS】Zotero6常用插件总结

因为目前MacOS只支持Zotero6,所以我将网上找到的教程以及自己找到适应Zotero6版本的插件做了个整合 教程地址:Zotero6安装/插件安装教程 插件地址:Zotero6_Plugs

docxtemplater避坑!!! 前端导出word怎么插入本地图片或base64 有完整示例

用docxtemplater库实现前端通过模板导出word,遇到需求,要插图片并转成word并导出,在图片转换这块遇到了问题,网上查示例大多都跑不通,自己琢磨半天,总算搞明白了。 附上清晰完整示例,供参考。 …

搭建电商电子商务平台有哪些好用的电商API数据采集接口?

电商API接口主要用于帮助开发者将电商功能集成到自己的应用程序中,实现诸如商品检索、商品价格数据获取、订单处理、支付、物流跟踪等功能。以下是一些常用的电商API接口提供商: 主流电商平台API: 淘宝开放平台:提供淘宝、天猫、…

智能的PHP开发工具PhpStorm v2024.1全新发布——支持PHPUnit 11.0

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。 立即获取PhpS…

AI PC 的曙光:微软大胆出击与苹果竞争

AI PC 的曙光:微软大胆出击与苹果竞争 AI PC 的曙光:微软大胆出击与苹果竞争 概述 微软已正式进入 AI PC 时代,并且毫不避讳地直接向苹果的 MacBook 发起攻击。随着代号为“Copilot”的笔记本电脑的推出,微软准备彻底改变我们与…

顺序表以及实现(结构篇)

顺序表是一种线性表的存储结构,它使用一组地址连续的存储单元依次存储线性表的数据元素。在顺序表中,逻辑上相邻的元素在物理存储上也相邻,通常采用数组来实现这种存储方式。 前言: 顺序表格的特点: 随机访问&#x…