Component - EEPROM V1.60 Datasheet (Chinese).pdf

PSoC® Creator™ 组件数据手册
EEPROM
1.60
特性
ƒ 512 B 到 2 KB EEPROM 存储器
ƒ 1,000,000 次循环,数据可保留 20 年
ƒ 一次读取 1 字节
ƒ 一次编程 16 字节
概述
EEPROM 组件提供一个 API 将一行数据(16 字节)写入 EEPROM。术语“写入”指的是在一个操
作中先擦除,然后编程。
EEPROM 组件可与 cy_boot 组件中包含的各种系统元件紧密连接。这些元件是在成功编译时生成
的。有关 cy_boot 组件及其各种元件的更多信息,请参考 System Reference Guide(《系统参考
指南》)。
何时使用 EEPROM
可以将 EEPROM 组件用于以下目的:
ƒ
ƒ
ƒ
用于数据的附加存储(从而释放片上 RAM)
用于只读(或很少更改的)程序数据
用于电源重新启动后也不会变化的数据(例如,校准表或器件配置)
输入/输出连接
没有用于 EEPROM 组件的 I/O 连接。它仅是一个 API。
元件参数
除了标准实例名称和内置参数,EEPROM 没有其他可配置参数。
Cypress Semiconductor Corporation
Document Number:001-79582 Rev. **
• 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600
Revised May 24, 2012
PSoC® Creator™ 组件数据手册
EEPROM
资源
API Memory
(API 存储器)
(字节)
数字模块
模拟模块
Datapaths
(数据
路径)
Macro
cells
(宏单
元)
Status
Registers
(状态寄存
器)
不可用
不可用
不可用
不可用
Control
Registers Counter7
(控制寄
(计数
Flash
存器)
器7)
(闪存)
不可用
724
不可用
RAM
Pins(引脚)
(每个外部
I/O)
0
不可用
应用程序编程接口
应用程序编程接口 (API) 子程序允许您使用软件配置组件。下表列出了每个函数的接口,并进行了
说明。以下各节将更详细地介绍每个函数。
从 EEPROM 中读取时,不需要 API。EEPROM 的全部内容都映射到存储器空间,可以直接
读取。使用下列定义读取 EEPROM:
ƒ
ƒ
CYDEV_EE_BASE — EEPROM 存储器的基本指针
CYDEV_EE_SIZE — EEPROM 存储器空间的大小(以字节为单位)
EEPROM_1_EEPROM_SIZE 还定义为 EEPROM 存储器空间的大小(以字节为单位,其中
EEPROM_1 是 EEPROM 组件的实例名称)。
要写入 EEPROM,必须首先通过调用 CySetTemp() 和 CySetFlashEEBuffer() 函数来采集 die 温
度。只需要获取一次该温度就可以使用写入函数。如果应用程序的使用环境的 die 温度有 20°C 或
20°C 以上的变化,则应当刷新该温度以允许“智能写入算法”正常工作。
默认情况下,PSoC Creator 将实例名称“EEPROM_1”分配给指定设计中组件的第一个实例。您可
以将其重命名为遵循标识符语法规则的任何唯一值。实例名称会成为每个全局函数名称、变量和
常量符号的前缀。出于可读性考虑,下表中使用的实例名称为“EEPROM”。
函数
说明
EEPROM_Enable()
使能 EEPROM 模块操作
EEPROM_Start()
启动 EEPROM
EEPROM_Stop()
停止并关闭 EEPROM 的供电
EEPROM_EraseSector()
擦除 EEPROM 扇区
EEPROM_Write()
向 EEPROM 中写入行时处于阻塞状态
Page 2 of 8
Document Number: 001-79582 Rev. **
PSoC® Creator™ 组件数据手册
函数
EEPROM
说明
EEPROM_StartWrite()
开始向 EEPROM 中写入一行数据
EEPROM_QueryWrite()
检查写入 EEPROM 的数据的状态
void EEPROM_Enable(void)
说明:
使能 EEPROM 模块操作。此 API 仅可用于 PSoC 3 Production 或更高版本。
参数:
None(无)
Return Value
(返回值):
None(无)
Side Effects
(副作用):
对 EEPROM_Start() 的调用将调用 EEPROM_Enable()。您可以直接调用 EEPROM_Start()
或 EEPROM_Enable() 函数; 二者的作用相同。
void EEPROM_Start(void)
说明:
启动 EEPROM。此 API 仅可用于 PSoC 3 Production 或更高版本。
参数:
None(无)
Return Value
(返回值):
None(无)
Side Effects
(副作用):
对 EEPROM_Start() 的调用将调用 EEPROM_Enable()。您可以直接调用 EEPROM_Start()
或 EEPROM_Enable() 函数; 二者的作用相同。
void EEPROM_Stop(void)
说明:
停止并关闭 EEPROM 的供电。此 API 仅可用于 PSoC 3 Production 或更高版本。
参数:
None(无)
Return Value
(返回值):
None(无)
Side Effects
(副作用):
None(无)
Document Number: 001-79582 Rev. **
Page 3 of 8
PSoC® Creator™ 组件数据手册
EEPROM
cystatus EEPROM_EraseSector(uint8 sectorNumber)
说明:
擦除存储器的扇区(64 行)。此函数一直处于阻塞状态,直到操作完成。此 API 仅可用于
PSoC 5 和 PSoC 3 Production 或更高版本。
参数:
uint8 sector. 要擦除的扇区编号
Return Value
(返回值):
如果操作成功,则返回 CYRET_SUCCESS
如果参数无效,则返回 CYRET_BAD_PARAM
如果 EEPROM 控制模块忙,则返回 CYRET_LOCKED
如果存在 EEPROM 控制模块错误,则返回 CYRET_UNKNOWN
Side Effects
(副作用):
None(无)
cystatus EEPROM_Write(uint8 * rowData, uint8 rowNumber)
说明:
将一行数据(16 字节)写入 EEPROM。这是一个封锁调用。它不会在函数成功或失败之前返
回任何值。
参数:
uint8 * rowData。写入 EEPROM 的数据的地址
uint8 rowNumber. 要编程的 EEPROM 行号
Return Value
(返回值):
如果操作成功,则返回 CYRET_SUCCESS
如果参数无效,则返回 CYRET_BAD_PARAM
如果 EEPROM 控制模块忙,则返回 CYRET_LOCKED
如果存在 EEPROM 控制模块错误,则返回 CYRET_UNKNOWN
Side Effects
(副作用):
Page 4 of 8
None(无)
Document Number: 001-79582 Rev. **
PSoC® Creator™ 组件数据手册
EEPROM
cystatus EEPROM_StartWrite(uint8 * rowData, uint8 rowNumber)
说明:
启动 SPC 写入函数。此函数不会处于阻塞状态;它在命令开始 SPC 写入函数后将返回值。
一旦调用此函数,SPC 将处于锁定状态,直到 EEPROM_QueryWrite() 不返回
CYRET_STARTED 为止。要取消写入,请调用 CySpcUnlock() 以解锁 SPC。
参数:
uint8 * rowData。写入 EEPROM 的数据的地址
uint8 rowNumber. 要编程的 EEPROM 行号
Return Value
(返回值):
如果成功开始要写入的命令,则返回 CYRET_STARTED
如果参数无效,则返回 CYRET_BAD_PARAM
如果 EEPROM 控制模块忙,则返回 CYRET_LOCKED
如果存在 EEPROM 控制模块错误,则返回 CYRET_UNKNOWN
Side Effects
(副作用):
None(无)
cystatus EEPROM_QueryWrite(void)
说明:
检查写入 EEPROM 的数据的状态。必须调用此函数,直到返回值不能为
CYRET_STARTED。
参数:
void
Return Value
(返回值):
如果操作成功,则返回 CYRET_SUCCESS
如果成功开始要写入的命令,则返回 CYRET_STARTED
如果存在 EEPROM 控制模块错误,则返回 CYRET_UNKNOWN
Side Effects
(副作用):
None(无)
固件源代码示例
PSoC Creator 在“查找示例项目”对话框中提供了很多包括原理图和代码示例的示例项目。要获取
组件特定的示例,请打开组件目录中的对话框或原理图中的组件实例。要获取通用的示例,请打
开 Start Page(开始页)或 File(文件)菜单中的对话框。根据需要,使用对话框中的 Filter
Options(滤波器选项)可缩小可选项目的列表。
有关更多信息,请参见 PSoC Creator 帮助中的“Find Example Project(查找示例项目)”
主题。
参考
另请参考 Die 温度组件数据手册和 System Reference Guide(《系统参考指南》)。
Document Number: 001-79582 Rev. **
Page 5 of 8
PSoC® Creator™ 组件数据手册
EEPROM
PSoC 3 的直流和交流电气特性
下面的值表示了预计性能,它们基于初始特性数据。
直流电规范
参数
说明
条件
擦除和编程电压
最小值
典型值
最大值
1.71
--
5.5
单位
V
交流电规范
参数
TWRITE
说明
条件
一行擦除/写入循环时间
EEPROM 耐久性
EEPROM 数据保留时间
从最后一个擦除循环开始测量
的保留时间长度(最高可达
100K 次循环)
最小
值
典型
值
最大
值
--
2
15
ms
1M
--
--
编程/擦除循
环
20
--
--
年
最小
值
典型
值
最大
值
2.7
--
5.5
最小
值
典型
值
最大
值
--
8.3
32
ms
20
--
--
年
单位
PSoC 5 的直流和交流电气特性
下面的值表示了预计性能,它们基于初始特性数据。
直流电规范
参数
说明
条件
擦除和编程电压
单位
V
交流电规范
参数
TWRITE
说明
一行擦除/写入循环时间
EEPROM 数据保留时间,从最后
一个擦除循环开始测量的保留时
间长度
Page 6 of 8
条件
平均环境温度,TA ≤ 55 °C, 1 M 擦
除/编程循环
单位
Document Number: 001-79582 Rev. **
PSoC® Creator™ 组件数据手册
EEPROM
组件更改
本节介绍组件与以前版本相比的主要更改。
版本
1.60
更改说明
更改/影响原因
对 APIs EEPROM_Write()、
EEPROM_StartWrite() 和
EEPROM_QueryWrite() 的编码稍作更改。
以便获得更好的性能。
更改 EEPROM_EraseSector() API 的编码
以支持 PSoC 5。
PSoC 5 芯片支持擦除扇区命令。
更改了数据手册中的
EEPROM_EraseSector() API 说明
向数据手册中添加了 PSoC 5 特性数据
1.50.b
在数据手册中补充了如何采集温度的说明。
1.50.a
向数据手册中添加了特性数据
清晰化
注明数据手册中的 EEPROM_EraseSector()
API 仅可用于 PSoC 3 Production 或更高版
本。
对数据表进行了少量编辑和更新
1.50
修改了 EEPROM.c 文件以将包含文件从
cydevice.h 文件切换为 cydevice_trm.h。
cydevice.h 文件是过时的文件。因此,生成的源代码和
PSoC Creator 附带提供的 API 应当使用
cydevice_trm.h。
更新了示例代码的 EEPROM_EraseSector() 在 PSOC 3 ES1 和 ES2 芯片或 PSOC 5 芯片的
部分。
EEPROM 上,“擦除扇区”命令不起作用。此 API 可在
PSOC 3 Production 或更高版本的 EEPROM 上使用。
添加了 EEPROM_Enable()、
EEPROM_Start() 和 EEPROM_Stop()
API。
1.20.a
1.20
为了支持默认情况下关闭 EEPROM 电源的 PSoC 3
Production 芯片要求。
对 EEPROM_Start() 的调用将调用
EEPROM_Enable()。您可以直接调用 EEPROM_Start()
或 EEPROM_Enable() 函数; 二者的作用相同。
将组件移动到组件目录中的子文件夹。
向组件中添加了信息,以说明它与芯片修订
版的兼容性。
如果组件在不兼容的芯片上使用,该工具将报告错误/警
告。如果发生此情况,请更新到支持您的目标器件的修
订版。
更新了“配置”对话框。
在原理图中,数字端口已更改为引脚组件。
Document Number: 001-79582 Rev. **
Page 7 of 8
EEPROM
PSoC® Creator™ 组件数据手册
© 赛普拉斯半导体公司,2012。此处所包含的信息可能会随时更改,恕不另行通知。除赛普拉斯产品的内嵌电路之外,赛普拉斯半导体公司不对任何其他电路的使用承担任何责任。也不根据专利
或其他权利以明示或暗示的方式授予任何许可。除非与赛普拉斯签订明确的书面协议,否则赛普拉斯产品不保证能够用于或适用于医疗、生命支持、救生、关键控制或安全应用领域。此外,对于
可能发生运转异常和故障并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统中,则表示制造商将承担因此类使用而
招致的所有风险,并确保赛普拉斯免于因此而受到任何指控。
PSoC® 是赛普拉斯半导体公司的注册商标,PSoC Creator™ 和 Programmable System-on-Chip™ 是赛普拉斯半导体公司的商标。此处引用的所有其他商标或注册商标归其各自所有者所有。
所有源代码(软件和/或固件)均归赛普拉斯半导体公司(赛普拉斯)所有,并受全球专利法规(美国和美国以外的专利法规)、美国版权法以及国际条约规定的保护和约束。赛普拉斯据此向获许
可者授予适用于个人的、非独占性、不可转让的许可,用以复制、使用、修改、创建赛普拉斯源代码的派生作品、编译赛普拉斯源代码和派生作品,并且其目的只能是创建自定义软件和/或固件,
以支持获许可者仅将其获得的产品依照适用协议规定的方式与赛普拉斯集成电路配合使用。除上述指定的用途之外,未经赛普拉斯的明确书面许可,不得对此类源代码进行任何复制、修改、转换、
编译或演示。
免责声明:赛普拉斯不针对此材料提供任何类型的明示或暗示保证,包括(但不仅限于)针对特定用途的适销性和适用性的暗示保证。赛普拉斯保留在不做出通知的情况下对此处所述材料进行更
改的权利。赛普拉斯不对此处所述之任何产品或电路的应用或使用承担任何责任。对于可能发生运转异常和故障并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的
关键组件。若将赛普拉斯产品用于生命支持系统中,则表示制造商将承担因此类使用而招致的所有风险,并确保赛普拉斯免于因此而受到任何指控。
产品使用可能受适用的赛普拉斯软件许可协议限制。
Page 8 of 8
Document Number: 001-79582 Rev. **