tWB tBERS
I/O0=0 成功擦除 页 行 地址
tWC
自动块擦除 建立命令
I/Ox
A9~A16 A17~A23厂商&器件 ID 读操作
CE CLE
WE
ALE
RE
90h
读 ID 命令 制造商代码 设备代码
00h
tREA
地址 1个周期
tAR
I/Ox
ECh 设备代码*
器件 器件码*
K9F2808U0C 73h K9F2816U0C XX53h
器件操作
页面读操作初始上电时 器件操作默认为读 1 模式 该操作也可通过向命令寄存器和 3 个地址周期写入 00h 来启 动 只要命令被锁存 就不必再为接下来的页面读操作写入命令 操作包含 2 种类型 随机读 串行数据 读
随机读模式在页面地址变化时被使能 所选页面内的 528 字节 8 器件 或 264 字 16 器件 的 数据在 10us tR 内传输到数据寄存器 系统控制器通过 R/ B 管脚的输出状态来检测数据传输的结束 tR
一旦页面内的数据装载到寄存器 在连续的 RE 脉冲作用下 这些数据可在 50ns 的周期时间内被读出 RE 信号高到低的跳变可将从所选列地址到最高列地址 列 511/527 8 器件 或 255/263 16 器件 由 GND 输入管脚的状态来决定 范围内的数据都读出 读 1 和读 2 命令的操作就像是将一个指针分别指向主 区域或备用区域 512 527 字节 8 器件 或 256 263 字 16 器件 的备用区域可通过读 2 命令来 选择访问 此时 GND 输入管脚必须为低电平 地址线 A0 A3 8 器件 或 A0 A1 16 器件 用来 设置备用区域的起始地址 而地址线 A4 A7 在 8 器件中被忽略 A3 A7 地址线在 16 器件中必须为低 电平 可通过读 1 命令使指针移回到主区域 图 8 图 9 所示为每个读操作的典型顺序和时序
连续行读取只用于 K9F2808U0C_Y, P 或 K9F2808U0C_V, F
当最后一列地址中的数据输出后 自动选择下一页进行连续的行读取 等待 10us 来选择要读取的页面 连续的行读操作可通过 CE 的高电平来终止 除非操作被中止 否则页地址自动递增 继续执行读 1 操作 的行读取 每页的备用 16 字节的数据也可连续读出 连续的读 1 和 2 操作只允许在一个块内执行 当一个 块内的最后一页数据被读出后 通过使 CE 变为高电平来终止连续读操作 如果页地址移到下一个块 则 读命令和地址必须给出 图 8.1, 9.1 所示为连续行读取操作的典型顺序和时序
起始地址 3个周期 00h
X8 device : A0 ~ A7 & A9 ~ A23
数据输出 连续
(00h 命令)
数据区域 备用区域
CE CLE
ALE
R/B WE
RE
tR
主阵列
(01h 命令)
数据区域 备用区域
1st half array 2st half array
I/Ox
X16 device : A0 ~ A7 & A9 ~ A23
在K9F2808U0C_Y,P or K9F2808U0C_V,F 器件上 CE
1)
在tR时间内必须保持低电平
注 1)第 2 个半阵列的数据通过 01h 命令被访问后 起始指针在下个周期自动移到指向第 1 个半阵列 00h 01h 命令只适用于 8 器件 K9F2808X0C
图 8 读 1 操作
50h 数据输出 连续 备用区域
CE
CLE
ALE
R/B WE
起始地址 3个周期
RE
tR
X8 device : A0 ~ A3 & A9 ~ A23
Main array
数据区域 备用区域
X16 device : A0 ~ A2 & A9 ~ A23
X8 device : A4 ~ A7 Don’t care X16 device : A3 ~ A7 are "L"
I/Ox
在 K9F2808U0C_Y,P or K9F2808U0C_V,F 器件上 CE 在tR时间内必须保持低电平
图 9 读 2 操作
00h
01h A0 ~ A7 & A9 ~ A23
I/Ox
R/B
起始地址 3个周期) 数据输出 数据输出 数据输出
1st 2nd Nth
(528 Byte) (528 Byte)
tR tR tR
(GND输入 =L, 00h 命令)
数据区域 备用区域
(GND 输入 =L, 01h 命令)
数据区域 备用区域
(GND输入=H , 00h命令)
数据区域 备用区域
1st half array 2nd half array
1st 2nd Nth
1st half array 2nd half array
1st 2nd Nth Block
1st half array 2nd half array
1st 2nd Nth
图 8.1 连续行读 1 操作 仅对一个块内的 K9F2808U0C_Y, P 和 K9F2808U0C_V, F 有效
50h
A0 ~ A3 & A9 ~ A23
I/Ox R/B
起始地址(3个周期 数据输出 数据输出 数据输出
2nd Nth
(16Byte) (16Byte)
数据区域 备用区域
1st Block (A4 ~ A7:
Don
′
t Care)1st
tR tR tR
Nth
图 9.1 连续行读 2 操作 GND 输入 固定为低电平 仅对一个块内的 K9F2808U0C_Y, P 和 K9F2808U0C_V, F 有效
页面编程
尽管器件的编程操作是以页为单位来执行的 但它仍允许 1 个字节/字或连续的高达 528 8 器件 或 264 16 器件 的字节/字这样的多个部分页的编程 在一个编程周期内完成 如果没有擦除操作的 干扰 同一页内的可对多于 2 个连续的部分页 主阵列 进行编程 在备用阵列中可实现多于 3 个的部分 页的编程 地址可在一个块内随机选取 页编程周期由一个串行数据装载周期和之后的非易失性编程周期 两部分组成 在串行数据装载周期内 高达 528 字节 8 器件 或 264 字 16 器件 的数据被装载到 页寄存器中 在编程周期内 装载的数据编程到相应的单元 有关指针的操作 请参考有关的技术注意事 项
串行数据装载周期的操作顺序如下 先输入串行数据输入命令 80h 来启动 然后输入 3 个周期地址 再装载数据 只装载被编程的字 由页编程确认命令 10h 来启动编程过程 只写入 10h 命令而不输入串 行数据是不能启动编程过程的 编程和校验的算法和时序由内部写控制器自动执行 因此 系统控制器自 由可处理其它任务 一旦编程过程启动 执行读状态寄存器命令 RE 和 CE 为低电平 来读取状态寄存器 系统控制器通过监控 R/ B 输出或状态寄存器的状态位 I/O6 来检测编程周期的结束 在编程过程中只有 读状态命令和复位命令有效 页编程结束后 可检测写状态位 I/O0 的内容 图 10 内部写校验检测到 只有错误时为 1 编程失败时为 0 命令寄存器仍然保持读状态命令模式 直到另一个有效命令被写 入命令寄存器
80h
R/B
地址&数据输出 10h 70h I/O0 Pass
Fail
tPROG
I/Ox
图 10 编程操作
块擦除
擦除操作是以块为单位来执行的 块地址装载在 2 个周期内完成 由擦除建立命令 60h 来启动 只
有地址 A14 A23 有效 A9 A13 被忽略 块地址装载完成后写入擦除确认命令 D0h 来启动擦除过程 这种先建立命令后执行命令的顺序可确保存储器不会因为外部的噪声而被意外擦除
在擦除确认命令输入后 WE 的上升沿处 内部写控制器处理擦除和擦除校验 当擦除操作结束后 可 检测到写状态位 I/O0 详细的时序见图 11
60h
块地址 : A9 ~ A23
R/B
地址输入 2个周期 D0h 70h I/O0 Pass
Fail
tBERS
I/Ox
图 11 块擦除操作
读状态
器件含有一个状态寄存器 可通过读取该寄存器的内容来判断编程或擦除操作是否结束和编程或擦除 操作是否成功结束 当 70h 命令写入命令寄存器后 在 CE 或 RE 的下降沿 无论哪个信号先出现下降沿 读周期将状态寄存器的内容输出到 I/O 管脚 CE 或 RE 两根线控制允许系统在多个存储器连接的系统中查 询每个器件的工作过程 即使 R/ B 管脚用作公共连接线 状态更新时 RE 或 CE 不必翻转 参考表 4 的特 定状态寄存器定义 命令寄存器保持状态读模式 直到写入一个有效命令 因此 如果在随机读周期过程 中要读取状态寄存器的内容 必须在连续页读周期之前写入一个读命令 00h 或 05h
表 4 读状态寄存器定义
I/O# 状态 定义
0 成功编程/擦除
I/O0 编程/擦除
1 编程/擦除出错
I/O1 0
I/O2 0
I/O3 0
I/O4 0
I/O5
保留为将来之用
0
I/O6 器件工作 0 忙 1 准备就绪
I/O7 写保护 0 保护 1 不保护
I/O8 15 不用 可为任何值
读 ID
器件包含一个器件识别模式 通过先向命令寄存器写入 90h 再输入 00h 地址来启动 2 个读周期分别 连续输出制造商代码 ECh 和器件代码 命令寄存器保持读 ID 模式 直到写入一个有效命令 操作时序 见图 12
CE CLE
ALE
RE WE
90h 00h
地址 1个周期 制造商代码 器件代码
tCEA
tAR
tREA
tWHR
ECh Device
I/Ox
Code*图 12 读 ID 操作
器件 器件码*
K9F2808U0C 73h K9F2816U0C XX53h
复位
器件含有复位功能 通过向命令寄存器写入 FFh 来实现 当器件处于随机读 编程或擦除模式的忙状 态时 复位操作将终止器件的上述操作 存储器单元更改的内容无效 因为数据将部分被编程或擦除 命 令寄存器清零 等待下一个命令的到来 当 WP 为高电平时状态寄存器的值变为 C0h 有关复位后的器件 状态见表 5 如果器件已经处于复位状态 则命令寄存器将不会接收新的复位命令 复位命令写入后 R/ B 管 脚变为低电平并保持 tR的时间 见下面的图 13
FFh
R/B
tRSTI/Ox
图 13 复位操作
表 5 器件状态
上电后 复位后
工作模式 读 1 等待下一个命令
READY/ BUSY
器件包含一个 R/ B 输出 它实现了对页编程结束 擦除和随机读结束的硬件指示 R/ B 通常为高电平 在编程或擦除命令被写入命令寄存器或随机读操作启动 地址被装载后 后变低 内部控制器完成这些操 作后 R/ B 又返回高电平 由于管脚是一个开漏驱动器 因此允许 2 个或多个 R/ B 管脚相或 由于上拉电阻 值与 tr R/ B 和忙状态 ibusy 吸收的电流有关 利用下图可得到一个合适的电阻值 图 14 上拉电 阻值由下面的等式来决定
VCC
开漏输出R/B
器件 GND
Rp ibusy
Busy
300n 3m
2m
V
CCWP
High
WE
3.3V device : ~ 2.5V 3.3V device : ~ 2.5V
10µs
图 15 电源变化时的 AC 波形