EEPROM
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 芯片地址输入 • 写保护功能 • 电源 • 检查应答 • 应答查询 • 提高数据吞吐量 • 总线上拉电阻 • 软件复位序列
图 1 展示了使用 Microchip I2C 串行 EEPROM 的建议连 接方式。在后面的几节中将说明这些连接的依据。
A0(1) 1 A1(1) 2 A2(1) 3 VSS 4
AN1028
图 2:
应答查询流程
发送 写命令
发送停止条件 以启动写周期
发送起始条件
发送控制字节, R/W = 0
器件 是否应答
否
(ACK = 0)?
是
下一 操作
2006 Microchip Technology Inc.
DS01028A_CN 第 3 页
AN1028
提高数据吞吐量
页写
多数 Microchip I2C 串行 EEPROM 都有供写操作期间使 用的页面缓冲器。这使用户可以在单个操作中写入任意 数量的字节 (从 1 个字节到最大页面大小)。在写入大 量字节时,该功能可显著缩短写入总时间。
请注意,某些器件不支持写保护功能。
电源
电源处在正常工作水平内时,Microchip 串行 EEPROM 提供大量防止意外写操作和数据损坏的保护。但是,设 计人员应该考虑到上电和断电条件,以确保电源不处于 正常工作水平内时,也具有相同水平的保护。
如图 1 中所示,应使用去耦合电容(通常为 0.1 µF)来 帮助滤除 VCC 上的小纹波。
DS01028A_CN 第 4 页
2006 Microchip Technology Inc.
• 写周期时间是器件执行其内部写周期的时间。如前 一节 (“应答查询”)所述,每个器件都有规定的 最大写周期时间。但是,内部写周期通常可以在短 于规定时间内完成。因而,表 1 中提供了最坏情 况 (5 ms)和典型情况 (3 ms, TAMB = 25°C) 的计算结果。
无论实际写入的字节数如何,页写操作仅限于在单个物 理页面内写入数据。这是因为存储器阵列实际上是以二 维阵列的方式存储的,如图 3 中所示。当在写操作开始
图 3:
页面缓冲器框图
列地址指针
字节 0 字节 1 字节 2 字节 3
时给出字地址时,将同时设置行地址指针和列地址指 针。行地址指针选择访问哪一行或哪一页,而列地址指 针选择首先访问选定页的哪个字节。每发送一个数据字 节,列地址指针都自动加 1。但是,在写操作期间,页 地址指针不递增,这意味着如果在页写入操作期间尝试 跨过页边界,会导致数据跳回到该页的开始处。 请注意,物理页边界的起始地址位于页面大小的整倍数 处。例如, 24XX512 的具有 128 字节的页面大小,这 意味着器件上的物理页从 0x0000、0x0080、0x0100 等 地址处开始。
写保护功能
对于具有写保护功能的器件,由 WP 引脚来提供硬件写 保护功能,它使用户能将该引脚连到 VCC 来保护整个阵 列。如果连接到 VSS,则禁止写保护。
用户可以在 WP 引脚连接一个上拉电阻,确保器件在上 电 / 掉电期间及其他任何未明确驱动该引脚时保持写保 护。这有助于防止由于 SDA/SCL 线的噪声或其他原因 而导致的意外写操作。为了启动写周期, WP 引脚必须 驱动为逻辑 0,否则将不会执行写周期。 如果设计人员选择不控制 WP 引脚,而是始终禁止写保 护,则必须将引脚硬连线到逻辑 0。与芯片地址输入相 同,不能让该引脚悬空,否则器件将无法正常工作。
写入时间比较
为了精确计算将特定量的数据写入器Hale Waihona Puke Baidu所需的全部时 间,必须考虑以下两个方面。
• 装载时间是完成所有总线操作所需的时间量。这包 括生成起始和停止条件,以及发送控制、地址和数 据字节 (包括 ACK)。这个时间量取决于总线时 钟速度、写入的数据字节数,以及特定器件的寻址 方式 (一些器件使用单字节寻址,而其他器件使 用双字节寻址)。
上电
在上电时, VCC 应该总是从 0V 开始,并直接上升到正 常工作水平,以确保正确的上电复位。 VCC 不应滞留 在不确定的电平 (即低于最小工作电压)。
欠压情形
Microchip 串行 EEPROM 具有欠压复位电路,可提供额 外的保护。但是,如果 VCC 降到串行 EEPROM 的最小 工作电压以下,则建议在 VCC 恢复到正常工作电压前, 先将它完全降到 0V。这有助于确保器件的正确复位。
AN1028
I2C™ 串行 EEPROM 器件的建议用法
作者: Chris Parris Microchip Technology Inc.
简介
大多数嵌入式控制系统都需要非易失性存储器。由于其 外形小巧、提供字节级灵活性、 I/O 引脚要求低、低功 耗和低成本等特点,串行 EEPROM 成为非易失性存储 器 广 受 欢 迎 的 选 择。针 对 这 种 需 求, Microchip Technology 提供了完整的串行 EEPROM 产品线,产品 线涵盖双线 (I2C™)、三线 (Microwire)和 SPI 通信 等业界标准串行通信协议。提供的串行 EEPROM 器件 有多种密度、工作电压范围和封装形式。
TTOTAL = (TLOAD + TWC) ⋅ #写w操rit作e o数perations
表 1: 器件
写入时间比较
页面大小 (字节)
写入的 字节数
写 模式 (1)
时钟速度 每次操作的装载 最坏情况 (2) 下的
(kHz)
时间 (ms) 总时间 (ms)
24LC01B
8
1
字节
100
0.28
5.28
表 1 的值使用以下公式计算:
AN1028
公式 1:
写入时间公式
TLOAD
=
9-----⋅---(--1-----+-----#--地--a---d-址--d---r-字-e---s--s节----b--数-y---t-e---+s----+-数----#--据--d---a-字--t--a--节--b---y-数--t--e--s---)----+----1-FCLK
2: 最坏情况的计算假定使用 5 ms 的定时延时。 3: 典型情况的计算假定使用应答查询,典型情况下 TWC = 3 ms, TAMB = 25°C。
从以上示例可以清楚地看到,页写和应答查询都可以显
AN1028
芯片地址输入
许多器件上使用芯片地址输入引脚(A0、A1 和 A2)来 支持多器件操作。在具有该功能的器件上,这些输入上 的电平与从器件地址中的相应位进行比较,如果比较结 果为真,器件将被选中。请注意,在某些器件上,芯片 地址引脚在内部未连接。有关详细信息,请参见相应器 件的数据手册。
对于芯片地址引脚在内部连接的器件,这些输入必须硬 连线到逻辑 0 或逻辑 1。也就是说,不能让它们悬空, 否则器件将不能正常工作。请注意,为确保正常工作, 24XX515 和 24XX1025 器件要求 A2 引脚始终保持在逻 辑 1。 在某些应用中,芯片地址输入是由单片机或其他可编程 器件控制的。在这种情况下,输入必须先驱动为逻辑 0 或逻辑 1,然后才能进行正常的器件操作。
检查应答
I2C 通信的众多优点之一,是在接收到每个字节后发送 应答位。除了正在进行写周期之外, Microchip 串行 EEPROM 在接收到每个字节后总是会发送该位低电 平,表明已收到有效的起始位和控制字节。因此,主器 件可以在整个运行期间监视接收到的 ACK 位,检测可 能发生的任何错误。在发送期间检查是否接收到 ACK 为 逻辑 1 (表明 EEPROM 没有响应)始终是一种好的做 法。此时,需要执行一个错误处理程序来确定器件为何 没有响应,并根据需要执行软件复位序列。
字节 n-3 字节 n-2 字节 n-1 字节 n 页面缓冲器
行地址指针
存储器阵列
注: n 等于页面大小 – 1
步骤
页写操作中的写控制字节、字地址和第一个数据字节传 送到器件的方法与字节写操作相同。但是主器件不会产 生停止条件,而是继续发送更多临时存储在片上页面缓 冲器中的数据字节,最多可达器件的最大页面大小。与 字节写操作相同,在页写操作中,一旦接收到停止条 件,内部写周期就将开始,写周期期间会将存储在页面 缓冲器中的所有字节写入。
8
字节
100
0.28
42.24
8
页面
100
0.91
5.91
1
字节
400
0.07
5.07
8
字节
400
0.07
40.56
8
页面
400
0.23
5.23
24LC16B
16
1
字节
100
0.28
16
字节
100
0.28
16
页面
100
1.63
1
字节
400
0.07
5.28 84.48 6.63 5.07
16
字节
400
此 外,如 果 单 片 机 欠 压 复 位 的 门 限 电 压 高 于 串 行 EEPROM,则将 VCC 降到 0V 可以使两个器件一起复 位。否 则,单 片 机 可 能 会 在 通 信 过 程 中 复 位,而 EEPROM 保持其当前状态。在这种情况下,开始进一 步通信之前,需要先执行软件复位序列。
步骤
一旦主器件发出了写命令的停止条件,器件将启动内部 定时的写周期,此时可立即启动 ACK 查询。这包括主 器 件 发 送 起 始 条 件,后 面 跟 随 写 命 令 的 控 制 字 节 (R/W = 0)。如果器件仍忙于执行写周期,则不会返回 ACK。如果未返回 ACK,则必须重新发送起始位和控制 字节。如果周期已结束,器件将返回 ACK,随后主器件 就可以继续下一条读或写命令。详见图 2。
为了在使用串行 EEPROM 时实现高度健壮的应用,设 计人员除了考虑数据手册规范之外,还必须考虑更多的 因素。
图 1:
24XXXX 系列器件的建议连接方式
有一些条件会潜在地导致非标准操作。这些条件的细节 很大程度上取决于所使用的串行协议。
本应用笔记提供有关使用 Microchip I2C 串行 EEPROM 的帮助和指南。这些建议并不是必需的;但是,采用这 些建议有助于实现更健壮的总体设计。本文档中讨论了 以下主题:
每个器件都有规定的最坏情况写周期时间,通常列为 TWC。确保遵守写周期时间的一种简单方法是:在再次 访问 EEPROM 之前执行规定时长的延时。但是,器件 在短于最大规定时间内完成写周期是很寻常的事。因 而,用前面所述的延时方法会使 EEPROM 完成写操作 后的一段时间内主器件仍在等待。
为了消除这段额外的时间,从而使运行更高效,强烈建 议 利 用 应 答 查 询 功 能。由 于 Microchip 的 I2C 串 行 EEPROM 器件在写周期内不会应答,所以可以持续地 对器件进行查询,直到接收到指示写操作已完成的 ACK 位为止。这是在出现停止条件启动器件的内部写周期后 进行的。
写周期中的电源故障
在整个写周期内 (对于大多数器件而言,通常最大为 5 ms),必须将 VCC 维持在最小工作电压以上。如果 VCC 在任何时候降到最小电压以下,无论时间长短,均 无法确保数据完整性。这将导致编程数据可能不正确。 此外,由于无法对 EEPROM 单元进行完全编程,器件 的数据保留时间会比数据手册中规定的时间短。
0.07
81.12
16
页面
400
0.41
5.41
24LC512 128
1
字节
100
0.37
5.37
128
字节
100
0.37
687.36
128
页面
100
11.80
16.80
1
字节
400
0.09
5.09
128
字节
400
0.09
651.84
128
页面
400
2.95
7.95
注 1: 字节写模式表示在单个写操作期间仅写入 1 个字节。 页面写模式表示在单个写操作期间写入整页。
DS01028A_CN 第 2 页
2006 Microchip Technology Inc.
应答查询
串行 EEPROM 上的写操作要求在启动写操作后遵守写 周期时间,使器件有时间存储数据。在此期间,正常器 件操作将被禁止,主器件对器件的所有访问尝试都将被 忽略。因此,主器件应等待写周期结束后再尝试访问 EEPROM,这一点很重要。
24XXXXX
VCC
8 Vcc 7 WP 6 SCL 5 SDA
(2) 至主器件
注 1: 在某些器件中,引脚 A0、A1 和 A2 在内部未连接。 2: 应使用一个去耦合电容(通常为 0.1 µF)来帮助滤除 VCC 上的小纹波。
2006 Microchip Technology Inc.
DS01028A_CN 第 1 页
图 1 展示了使用 Microchip I2C 串行 EEPROM 的建议连 接方式。在后面的几节中将说明这些连接的依据。
A0(1) 1 A1(1) 2 A2(1) 3 VSS 4
AN1028
图 2:
应答查询流程
发送 写命令
发送停止条件 以启动写周期
发送起始条件
发送控制字节, R/W = 0
器件 是否应答
否
(ACK = 0)?
是
下一 操作
2006 Microchip Technology Inc.
DS01028A_CN 第 3 页
AN1028
提高数据吞吐量
页写
多数 Microchip I2C 串行 EEPROM 都有供写操作期间使 用的页面缓冲器。这使用户可以在单个操作中写入任意 数量的字节 (从 1 个字节到最大页面大小)。在写入大 量字节时,该功能可显著缩短写入总时间。
请注意,某些器件不支持写保护功能。
电源
电源处在正常工作水平内时,Microchip 串行 EEPROM 提供大量防止意外写操作和数据损坏的保护。但是,设 计人员应该考虑到上电和断电条件,以确保电源不处于 正常工作水平内时,也具有相同水平的保护。
如图 1 中所示,应使用去耦合电容(通常为 0.1 µF)来 帮助滤除 VCC 上的小纹波。
DS01028A_CN 第 4 页
2006 Microchip Technology Inc.
• 写周期时间是器件执行其内部写周期的时间。如前 一节 (“应答查询”)所述,每个器件都有规定的 最大写周期时间。但是,内部写周期通常可以在短 于规定时间内完成。因而,表 1 中提供了最坏情 况 (5 ms)和典型情况 (3 ms, TAMB = 25°C) 的计算结果。
无论实际写入的字节数如何,页写操作仅限于在单个物 理页面内写入数据。这是因为存储器阵列实际上是以二 维阵列的方式存储的,如图 3 中所示。当在写操作开始
图 3:
页面缓冲器框图
列地址指针
字节 0 字节 1 字节 2 字节 3
时给出字地址时,将同时设置行地址指针和列地址指 针。行地址指针选择访问哪一行或哪一页,而列地址指 针选择首先访问选定页的哪个字节。每发送一个数据字 节,列地址指针都自动加 1。但是,在写操作期间,页 地址指针不递增,这意味着如果在页写入操作期间尝试 跨过页边界,会导致数据跳回到该页的开始处。 请注意,物理页边界的起始地址位于页面大小的整倍数 处。例如, 24XX512 的具有 128 字节的页面大小,这 意味着器件上的物理页从 0x0000、0x0080、0x0100 等 地址处开始。
写保护功能
对于具有写保护功能的器件,由 WP 引脚来提供硬件写 保护功能,它使用户能将该引脚连到 VCC 来保护整个阵 列。如果连接到 VSS,则禁止写保护。
用户可以在 WP 引脚连接一个上拉电阻,确保器件在上 电 / 掉电期间及其他任何未明确驱动该引脚时保持写保 护。这有助于防止由于 SDA/SCL 线的噪声或其他原因 而导致的意外写操作。为了启动写周期, WP 引脚必须 驱动为逻辑 0,否则将不会执行写周期。 如果设计人员选择不控制 WP 引脚,而是始终禁止写保 护,则必须将引脚硬连线到逻辑 0。与芯片地址输入相 同,不能让该引脚悬空,否则器件将无法正常工作。
写入时间比较
为了精确计算将特定量的数据写入器Hale Waihona Puke Baidu所需的全部时 间,必须考虑以下两个方面。
• 装载时间是完成所有总线操作所需的时间量。这包 括生成起始和停止条件,以及发送控制、地址和数 据字节 (包括 ACK)。这个时间量取决于总线时 钟速度、写入的数据字节数,以及特定器件的寻址 方式 (一些器件使用单字节寻址,而其他器件使 用双字节寻址)。
上电
在上电时, VCC 应该总是从 0V 开始,并直接上升到正 常工作水平,以确保正确的上电复位。 VCC 不应滞留 在不确定的电平 (即低于最小工作电压)。
欠压情形
Microchip 串行 EEPROM 具有欠压复位电路,可提供额 外的保护。但是,如果 VCC 降到串行 EEPROM 的最小 工作电压以下,则建议在 VCC 恢复到正常工作电压前, 先将它完全降到 0V。这有助于确保器件的正确复位。
AN1028
I2C™ 串行 EEPROM 器件的建议用法
作者: Chris Parris Microchip Technology Inc.
简介
大多数嵌入式控制系统都需要非易失性存储器。由于其 外形小巧、提供字节级灵活性、 I/O 引脚要求低、低功 耗和低成本等特点,串行 EEPROM 成为非易失性存储 器 广 受 欢 迎 的 选 择。针 对 这 种 需 求, Microchip Technology 提供了完整的串行 EEPROM 产品线,产品 线涵盖双线 (I2C™)、三线 (Microwire)和 SPI 通信 等业界标准串行通信协议。提供的串行 EEPROM 器件 有多种密度、工作电压范围和封装形式。
TTOTAL = (TLOAD + TWC) ⋅ #写w操rit作e o数perations
表 1: 器件
写入时间比较
页面大小 (字节)
写入的 字节数
写 模式 (1)
时钟速度 每次操作的装载 最坏情况 (2) 下的
(kHz)
时间 (ms) 总时间 (ms)
24LC01B
8
1
字节
100
0.28
5.28
表 1 的值使用以下公式计算:
AN1028
公式 1:
写入时间公式
TLOAD
=
9-----⋅---(--1-----+-----#--地--a---d-址--d---r-字-e---s--s节----b--数-y---t-e---+s----+-数----#--据--d---a-字--t--a--节--b---y-数--t--e--s---)----+----1-FCLK
2: 最坏情况的计算假定使用 5 ms 的定时延时。 3: 典型情况的计算假定使用应答查询,典型情况下 TWC = 3 ms, TAMB = 25°C。
从以上示例可以清楚地看到,页写和应答查询都可以显
AN1028
芯片地址输入
许多器件上使用芯片地址输入引脚(A0、A1 和 A2)来 支持多器件操作。在具有该功能的器件上,这些输入上 的电平与从器件地址中的相应位进行比较,如果比较结 果为真,器件将被选中。请注意,在某些器件上,芯片 地址引脚在内部未连接。有关详细信息,请参见相应器 件的数据手册。
对于芯片地址引脚在内部连接的器件,这些输入必须硬 连线到逻辑 0 或逻辑 1。也就是说,不能让它们悬空, 否则器件将不能正常工作。请注意,为确保正常工作, 24XX515 和 24XX1025 器件要求 A2 引脚始终保持在逻 辑 1。 在某些应用中,芯片地址输入是由单片机或其他可编程 器件控制的。在这种情况下,输入必须先驱动为逻辑 0 或逻辑 1,然后才能进行正常的器件操作。
检查应答
I2C 通信的众多优点之一,是在接收到每个字节后发送 应答位。除了正在进行写周期之外, Microchip 串行 EEPROM 在接收到每个字节后总是会发送该位低电 平,表明已收到有效的起始位和控制字节。因此,主器 件可以在整个运行期间监视接收到的 ACK 位,检测可 能发生的任何错误。在发送期间检查是否接收到 ACK 为 逻辑 1 (表明 EEPROM 没有响应)始终是一种好的做 法。此时,需要执行一个错误处理程序来确定器件为何 没有响应,并根据需要执行软件复位序列。
字节 n-3 字节 n-2 字节 n-1 字节 n 页面缓冲器
行地址指针
存储器阵列
注: n 等于页面大小 – 1
步骤
页写操作中的写控制字节、字地址和第一个数据字节传 送到器件的方法与字节写操作相同。但是主器件不会产 生停止条件,而是继续发送更多临时存储在片上页面缓 冲器中的数据字节,最多可达器件的最大页面大小。与 字节写操作相同,在页写操作中,一旦接收到停止条 件,内部写周期就将开始,写周期期间会将存储在页面 缓冲器中的所有字节写入。
8
字节
100
0.28
42.24
8
页面
100
0.91
5.91
1
字节
400
0.07
5.07
8
字节
400
0.07
40.56
8
页面
400
0.23
5.23
24LC16B
16
1
字节
100
0.28
16
字节
100
0.28
16
页面
100
1.63
1
字节
400
0.07
5.28 84.48 6.63 5.07
16
字节
400
此 外,如 果 单 片 机 欠 压 复 位 的 门 限 电 压 高 于 串 行 EEPROM,则将 VCC 降到 0V 可以使两个器件一起复 位。否 则,单 片 机 可 能 会 在 通 信 过 程 中 复 位,而 EEPROM 保持其当前状态。在这种情况下,开始进一 步通信之前,需要先执行软件复位序列。
步骤
一旦主器件发出了写命令的停止条件,器件将启动内部 定时的写周期,此时可立即启动 ACK 查询。这包括主 器 件 发 送 起 始 条 件,后 面 跟 随 写 命 令 的 控 制 字 节 (R/W = 0)。如果器件仍忙于执行写周期,则不会返回 ACK。如果未返回 ACK,则必须重新发送起始位和控制 字节。如果周期已结束,器件将返回 ACK,随后主器件 就可以继续下一条读或写命令。详见图 2。
为了在使用串行 EEPROM 时实现高度健壮的应用,设 计人员除了考虑数据手册规范之外,还必须考虑更多的 因素。
图 1:
24XXXX 系列器件的建议连接方式
有一些条件会潜在地导致非标准操作。这些条件的细节 很大程度上取决于所使用的串行协议。
本应用笔记提供有关使用 Microchip I2C 串行 EEPROM 的帮助和指南。这些建议并不是必需的;但是,采用这 些建议有助于实现更健壮的总体设计。本文档中讨论了 以下主题:
每个器件都有规定的最坏情况写周期时间,通常列为 TWC。确保遵守写周期时间的一种简单方法是:在再次 访问 EEPROM 之前执行规定时长的延时。但是,器件 在短于最大规定时间内完成写周期是很寻常的事。因 而,用前面所述的延时方法会使 EEPROM 完成写操作 后的一段时间内主器件仍在等待。
为了消除这段额外的时间,从而使运行更高效,强烈建 议 利 用 应 答 查 询 功 能。由 于 Microchip 的 I2C 串 行 EEPROM 器件在写周期内不会应答,所以可以持续地 对器件进行查询,直到接收到指示写操作已完成的 ACK 位为止。这是在出现停止条件启动器件的内部写周期后 进行的。
写周期中的电源故障
在整个写周期内 (对于大多数器件而言,通常最大为 5 ms),必须将 VCC 维持在最小工作电压以上。如果 VCC 在任何时候降到最小电压以下,无论时间长短,均 无法确保数据完整性。这将导致编程数据可能不正确。 此外,由于无法对 EEPROM 单元进行完全编程,器件 的数据保留时间会比数据手册中规定的时间短。
0.07
81.12
16
页面
400
0.41
5.41
24LC512 128
1
字节
100
0.37
5.37
128
字节
100
0.37
687.36
128
页面
100
11.80
16.80
1
字节
400
0.09
5.09
128
字节
400
0.09
651.84
128
页面
400
2.95
7.95
注 1: 字节写模式表示在单个写操作期间仅写入 1 个字节。 页面写模式表示在单个写操作期间写入整页。
DS01028A_CN 第 2 页
2006 Microchip Technology Inc.
应答查询
串行 EEPROM 上的写操作要求在启动写操作后遵守写 周期时间,使器件有时间存储数据。在此期间,正常器 件操作将被禁止,主器件对器件的所有访问尝试都将被 忽略。因此,主器件应等待写周期结束后再尝试访问 EEPROM,这一点很重要。
24XXXXX
VCC
8 Vcc 7 WP 6 SCL 5 SDA
(2) 至主器件
注 1: 在某些器件中,引脚 A0、A1 和 A2 在内部未连接。 2: 应使用一个去耦合电容(通常为 0.1 µF)来帮助滤除 VCC 上的小纹波。
2006 Microchip Technology Inc.
DS01028A_CN 第 1 页