AN74875 Designing with Serial I2C nvSRAM (Chinese).pdf

AN74875
使用串行 I2C nvSRAM 进行设计
作者:Shivendra Singh
相关项目:有
相关器件系列:CY14xxxxI、 CY14xxxxJ
®
软件版本:PSoC Creator™ 3.0 或更高版本
相关应用笔记:AN61546、AN43593
2
2
AN74875 提供了内部集成电路(I C)nvSRAM 器件的设计指南及示例。I C nvSRAM 是一个高性能的非易失性串行接
2
2
口存储器,它无需周期延迟写操作,并能提供无限次 SRAM 写循环。I C nvSRAM 是一个从设备 I C 器件。在系统中
2
要通过 I C 主设备控制器访问它。此外,还提供了 PSoC 3 相关库组件的示例项目。
目录
简介
简介 ...................................................................................1
赛普拉斯 nvSRAM 将一个 SRAM 单元和一个非易失性存储
器单元集成到一个单一 nvSRAM 单元内。在正常运行模式
下,可以直接读取和写入 nvSRAM 中的 SRAM 部分。它比
其他现有的非易失性存储器技术(如 EEPROM 和闪存)的
读写访问速度更快。系统掉电时,通过使用存储在较小电容
的能量(该电容与器件的 VCAP 引脚相连),将 SRAM 中的
数据自动传输到非易失性单元内。在下次通电时,非易失性
单元中的数据被自动回读到 SRAM 阵列内,以供给用户使
用 。 在 正 常 运 行 模 式 下 , 与 VCAP 引 脚 相 连 的 电 容 由
nvSRAM 充电。
2
I C nvSRAM 配置 ..............................................................2
2
I C 总线协议特性的可用性 ............................................2
2
I C nvSRAM 器件选项 ..................................................2
2
I C nvSRAM 器件连接 ..................................................3
2
确定 I C 上拉电阻值...........................................................5
控制输入引脚配置 .........................................................7
RTC 器件的特定引脚配置 .............................................8
2
I C nvSRAM 操作 ..............................................................9
高速模式(Hs 模式)操作 .......................................... 10
2
在 I C nvSRAM 中进行寻址 ........................................ 10
2
I C nvSRAM 访问 ....................................................... 12
总结 ................................................................................. 16
附录 A(伪代码示例) ..................................................... 17
2
I C 写入 ...................................................................... 17
2
I C 读取 ...................................................................... 18
全球销售和设计支持 ........................................................ 20
nvSRAM 中的非易失性单元能够进行一百万次擦写周期。
如果在 nvSRAM 中进行存储操作,仅在 SRAM 单元中的数
据被传输到非易失性单元内时,才执行 nvSRAM 擦写周期。
在下面情况下,nvSRAM 中的非易失性存储操作被启动:
当器件的电源降至预定义的阈值电平(VSWITCH)以下时,
存储操作被自动启动;向指令寄存器(0xAA)写入特定指
令;将硬件引脚(HSB )置于低电平。在控制寄存器空间
2
内定义 nvSRAM 的指令寄存器。通过一个专用的 I C 从设
备 ID 寻址控制寄存器。有关 nvSRAM 寻址的详细信息,请
参考本应用笔记中在 I2C nvSRAM 中进行寻址一节。
仅在检测到系统掉电事件,并要将 SRAM 中刚写入的数据
安全地传输到非易失性单元时,nvSRAM 才启动非易失性
存储操作。因此,nvSRAM 中的非易失性单元擦写计数总
和等于非易失性存储周期,并不等于 SRAM 写入周期。
许多数据记录应用要求在掉电时立即存储运行时的关键信息。
此关键信息包括控制器运行时的状态、暂存器数据、参数设
置以及由控制器测量的其他环境向量。凭借快速非易失性写
2
入特性,I C nvSRAM 特别 适合该类数据记录应用。在
2
nvSRAM 中,I C 主设备控制器可以在几十微秒内记录数百
个数据字节,而在 EEPROM 或闪存存储器中,则需要花费
几十毫秒的时间写入同样大小的数据。行业标准的 8 引脚
2
SOIC 和 16 引脚 SOIC 均提供 I C nvSRAM。
www.cypress.com
文档编号:001-92139 版本**
1
使用串行 I2C nvSRAM 进行设计
2
本应用笔记介绍了 I C nvSRAM 配置、各种封装选项的示
2
例电路、确定 I C 总线合适的上拉电阻值的方法、nvSRAM
2
中 I C 通信的数据字节格式,以及用于访问 nvSRAM 存储
2
器、实时时钟(RTC)和控制函数的 I C 寻址结构。更多有
2
关 I C nvSRAM 的详细信息,请参考特定的器件数据手册。
I2C 总线协议特性的可用性
2
表 1 总结了标准 I C 从设备总线规范的所有必要和可选特性。
2
2
I C nvSRAM 支持标准 I C 从器件的所有必要特性。
2
表 1. I C 总线协议的可用性
2
本应用笔记中还包含了一个相关项目—PSoC 3 nvRAM I C
库组件。
I2C 规范标准
I2C nvSRAM
启动条件
必要
√
停止条件
必要
√
I C nvSRAM 支持的 I C 数据传输速率可达 3.4 Mbits/s
2
(I C 时钟周期为 3.4 MHz),同时支持其他所有较低频率
2
的访问(如 I C 总线标准规范所定义)。
确认
必要
√
7 位从设备地址。
必要
√
10 位从设备地址
可选
不提供




时钟延展
可选
无需
通用调用地址
可选
不提供
器件 ID
可选
不提供
软件复位
可选
不提供
特性
I2C nvSRAM 配置
2
2
标准模式(Sm)— 比特率可达 100 Kbit/s
快速模式(Fm) —比特率可达 400 Kbit/s
增强型快速模式(Fm+)—比特率可达 1 Mbit/s
高速模式(Hs)—比特率可达 3.4 Mbit/s。
I2C nvSRAM 器件选项
所有器件配置都提供了上述四种总线模式(请查看表 1),
因此无需器件的任何特殊设置。
2
赛普拉斯在各种配置和封装选项中支持 I C nvSRAM,具体
如表 2 所示。
2
表 2. I C nvSRAM 配置
nvSRAM
状态
器件型号
工作电压
(典型值)
CY14CXXXJ
1
CY14BXXXJ
NRND
2.5 V
NRND
3V
1
CY14EXXXJ
1
CY14CXXXJ
NRND
5V
NRND
2.5 V
2
CY14BXXXJ
2
CY14EXXXJ
NRND
3V
NRND
5V
2
CY14CXXXJ
3
CY14BXXXJ
NRND
2.5 V
NRND
3V
3
CY14EXXXJ
3
CY14CXXXI
NRND
5V
联系赛普拉斯
2.5 V
CY14BXXXI
正在生产
3V
CY14EXXXI
正在生产
5V
每个 I2C 总线
上器件的数量
RTC
4 或 8 注意 1
无
无
4
无
有
有 注意 1
4 或 8 注意 1
无
有
有 注意 1
4 或 8 注意 1
有
封装
WP 引
脚
VCAP 引脚/
自动存储
(HSB)引脚/
HW 存储
8 SOIC
有
无/无
无/无
8 SOIC
有
有/有
无/无
16
SOIC
有
有/有
16
SOIC
有
有/有
A0 引脚
注意 1
有
不建议用于新设计
注意 1:在内部 1 Mbit nvSRAM 器件中使用了最低有效从器件地址空间(A0),因此,在 1 Mbit 密度的选项中,该空间不可用。在所有 512
Kbit 和容量更低的选项(J2 器件除外)中均能够使用 A0 引脚。如果不使用 A0 引脚,则 I2C nvSRAM 的每个 I2C 总线最多只能使用于四个器件。
www.cypress.com
文档编号:001-92139 版本**
2
使用串行 I2C nvSRAM 进行设计
I2C nvSRAM 器件连接
2
2
图 1 显示的是一个 I C 单主设备-多从设备的典型配置情况。
2
所有微控制器或可编程的器件都能够作为 I C 主设备,并能
2
2
够生成 I C 主设备协议。同时,任何标准的 I C 从设备都能
2
2
作为从设备使用。在图 1 示例中,I C nvSRAM 作为 I C 从
设备使用。由于某些封装选项中的 512 Kbit 和容量更低的
2
I C nvSRAM 支持三个从设备寻址位,因此,可以在一个
I C 总线上连接八个器件。通过八种不同的组合方式配置从
设备选择地址行(A2、A1、A0),可以为每一个从器件分
配唯一的从设备 ID。在不使用 A0 的封装配置中,通过配置
从设备选择地址引脚 A2 和 A1,在同一个总线上最多只能
连接四个从器件。
2
图 1. 典型的 I C 主-从设备配置
Vcc
Rp
Rp
SCL
Microcontroller
SDA
Vcc
nvSRAM
A0
Vcc
nvSRAM
SCL
A0
A1
SCL
A0
A1
A2
SDA
nvSRAM
A1
A2
SDA
#0
A2
#1
2
SCL
SDA
#7
2
图 2 显示了 I C nvSRAM 器件的典型系统级配置。对于没有专用 I C 总线的微控制器,通过“bit banging”技术,可将通用 I/O
端口使用于 SCL 和 SDA。
2
图 2. 典型的 I C nvSRAM 连接。
VCC
Controller or SOC
Controller
Core
Digital
Blocks
Power and
Clocks
I2C Control (Master)
Analog
Blocks
Rp
General Purpose I/O
Memory
Blocks
Rp
I2C nvSRAM
SCL
SCL
A0 /NC
SDA
SDA
A1
A2
GPIO1
WP
GPIO2
INT
GPIO3
HSB
Controlled
by GPIOs
or
Externally
hardwired
A0 is a NC pin in
1Mbit nvSRAM
devices
These are optional
connections. These pins can
be configured to their default
logic state
www.cypress.com
文档编号:001-92139 版本**
3
使用串行 I2C nvSRAM 进行设计
样例电路
2
2
下图(图 3 至图 5)显示的是 1 Mbit I C nvSRAM 的详细原理图连接。在所有容量较低的器件(512 Kbit 和容量更低)中,I C
主设备和 nvSRAM 从设备间的硬件连接保持不变。
2
图 3. 8 引脚 SOIC 1 Mbit I C nvSRAM 接口(无 VCAP)
所有可选连接都用虚
线显示。
Vcc
0.1 µF
Vcc
10
KΩ
Vcc
10
KΩ
NC/A0
FROM
MASTER
A1
FROM
MASTER
1*
8
VCC
2
7
WP
CY14x101J1
8 SOIC
3
A2
4
VSS
6
SCL
5
SDA
Vcc
Vcc
FROM
MASTER
Rp
FROM
MASTER
Rp
FROM / TO
MASTER
A2 和 A1 上的上拉电
阻将从设备地址位
A2 和 A1 设置为 1。
如果系统要求将某个
地址引脚配置为 0,
那么,要移除上拉电
阻,并将该引脚设置
为未连接状态。通过
一个弱下拉电阻可内
部将其置于低电平。
2
图 4. 8 引脚 SOIC 1 Mbit I C nvSRAM 接口(带有 VCAP)
Vcc
0.1 µF
Vcc
10
KΩ
FROM
MASTER
FROM
MASTER
Vcc
10
KΩ
47 uF +/-10%,
(6.3V)
VCAP
1
8
VCC
A1
2
7
WP
A2
VSS
www.cypress.com
3
CY14x101J2
8 SOIC
4
文档编号:001-92139 版本**
6
5
SCL
SDA
Vcc
Vcc
FROM
MASTER
Rp
FROM
MASTER
Rp
FROM /TO
MASTER
4
使用串行 I2C nvSRAM 进行设计
2
图 5. 16 引脚 SOIC 1 Mbit (RTC) I C nvSRAM 接口
Vcc
0.1 µF
Vcc
VCC
NC
1
16
VRTCbat
2*
*
15 INT/SQW
XOUT
3*
XIN
4
WP
5
NC/A0
6
VRTCcap
7
VSS
8
10 KΩ
3V Li
Battery
47 uF +/-10%, (6.3V)
XOUT
XIN
Vcc
10
KΩ
FROM MASTER
*
14
CY14x101I
16 SOIC
FROM MASTER
470 mF
(12 days RTC
Backup)
TO MASTER
+
*
Vcc
VCAP
13
A2
12
SDA
11
SCL
10
A1
Vcc
Vcc
10
KΩ
FROM MASTER
Rp
Vcc
9
FROM / TO MASTER
Rp
Vcc
10
KΩ
FROM MASTER
10
KΩ
FROM MASTER
HSB
FROM/ TO MASTER
Y1 = 32.768 KHz (12.5 pF)
Pin marked with ‘*’ are specific to the RTC nvSRAM part. These pins become no
connect (NC) pin in non RTC parts.
XIN
XOUT
C1
12 pF
Pin 6 of CY14x101I (Figure 5)and Pin 1 of CY14x101J1 (Figure 3) are NC pins for 1
Mbit density. It is enabled as Slave Address bit 0 (A0) for 512 Kbit and lower density
parts.
C2
68 pF
Connect either a battery on the VRTCbat or a super capacitor on the VRTCcap pin.
确定 I2C 上拉电阻值
确定 Rp(最大值)
2
I C 总线在 SDA 和 SCL 线上传输数据和时钟。SDA 和
SCL 线都是开漏(即为 TTL 系列中的集电极开路)输出驱
2
动器。因此,I C 主设备和从器件只能将这两条线驱动为逻
辑低电平,或将它们置于开路状态。如果在同一个总线上,
2
没有任何 I C 器件将该线置于低电平,终端电阻(Rp)会
2
将它上拉到 VCC 电压。开漏驱动器配置支持 I C 的某些特殊
特性,如多主设备配置和从设备的时钟延展。时钟延展是
2
2
I C 标准的一个可选特性,I C nvSRAM 并不支持该特性,
2
2
因此,I C 时钟信号只能作为 I C nvSRAM 的输入信号。
除了总线电容总和(Cb)外,终端电阻(Rp)也影响 SDA
2
和 SCL 上信号的时序状况。当 I C 器件通过开漏驱动器下
拉该行时,上拉电阻会在指定的时间内将信号置于高电平。
Rp 的值取决于多个电气参数,如:器件的工作电压(VCC )
和输出逻辑低电平(VOL)规范,灌电流(IOL)规范、总线负
载总和(Cb)和时序参数,如(tR)规范。
2
下节介绍的是在已给系统配置中如何确定 I C 总线的电阻值。
www.cypress.com
为计算 RC 时间常量,假定 CMOS 逻辑电平的阈值为 VIH =
0.7 VCC(最小值)和 VIL = 0.3 VCC(最大值)。
V(t) = VCC (1 − e−t / RC),其中“t”是指自从开始充电且
RC 为时间常量的时长。
V (t1) = 0.3 × VCC = VCC (1 − e−t1 / RC),那么:
 = .  × 
公式 1
V (t2) = 0.7 × VCC = VCC (1 − e−t2 / RC):
 = .  × 
公式 2
总上升时间(T)是指给总线电容电压充电,使之从 VIL 增
加到 VIH 所需要的时间。
T = t2 − t1
= 1.2039729 × RC - 0.3566749 × RC
= .  × 
文档编号:001-92139 版本**
公式 3
5
使用串行 I2C nvSRAM 进行设计
2
公式 3 用来确定连接至 I C 线时上拉电阻的上限值。表 3 显
示的是在各种时序模式下作为总线电容函数的最大 Rp。在
每种模式下,Rp (max)是最小上升时间(tR)和估计总线电
容(Cb)的函数:
 () =

公式 4
(.∗)
总线电容(Cb)是线路、连接和引脚的电容总和。
确定 Rp(最小值)
工作电压和灌电流(IOL )闲置时上拉电阻的最小值,Rp
(min)。Rp (Min)的值是 VCC 和 IOL 的函数,如公式 5:
 () =
− ()
公式 5

选择的 Rp 值必须在指定的上限和下限间。
表 3 显示的是在已给的总线负载条件下和工作电压范围内
Rp(最小、最大)的值。 可从公式 4 和 5 得到表 3 中尚未
显示的数值,用以计算 Rp (Max)和 Rp (Min)。
表 3 中的阴影区域表示在已给的工作电压条件下,并对于
某些总线负载(Cb),Rp (最小值)超过了 Rp(最大
2
值)。由于 Rp (Min)不能超过 Rp (Max),因此在 I C 总线
上使用的最大电容负载将受限制。
例如,如果将某个 3 V 的器件配置为最小 VCC 供电(VCC =
2.7 V),那么,运行于下述总线模式时,系统不能超过
SCL 和 SDA 线上的以下负载(单位为皮法):
Sm = Cb ≤ 550 pF;0.77 kΩ ≤ Rp ≤ 2.15 kΩ
Fm = Cb ≤ 450 pF;0.77 kΩ ≤ Rp ≤ 0.79 kΩ
Fm+ = Cb ≤ 150 pF; 0.77 kΩ ≤ Rp ≤ 0.94 kΩ
  ≤  ≤ ()
公式 6
低功耗设计应优先使用该范围内较高的值,以限制电流消耗。
Hs = Cb ≤ 100 pF;0.77 kΩ ≤ Rp ≤0.94 kΩ
同样也可从表 3 和图 6 获取其他工作电压和工作频率条件
2
下的最大总线负载(Cb)和 I C 上拉电阻(Rp)值。
表 3. 各种总线负载和工作电压条件下的 Rp 的(最小、最大)值
Cb (pf)
10
20
30
40
50
60
70
80
90
100
125
150
200
250
300
350
400
450
500
550
Rp(Min) (kΩ)
Rp(Max) (kΩ)
2.45V
100 KHz 400 KHz 1 MHz 3.4 MHz
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
0.68
118.02 35.41 14.16
59.01 17.70 7.08
39.34 11.80 4.72
29.51 8.85 3.54
23.60 7.08 2.83
19.67 5.90 2.36
16.86 5.06 2.02
14.75 4.43 1.77
13.11 3.93 1.57
11.80 3.54 1.42
9.44
2.83 1.13
7.87
2.36 0.94
5.90
1.77 0.71
4.72
1.42 0.57
3.93
1.18 0.47
3.37
1.01 0.40
2.95
0.89 0.35
2.62
0.79 0.31
2.36
0.71 0.28
2.15
0.64 0.26
www.cypress.com
9.44
4.72
3.15
2.36
1.89
1.57
1.35
1.18
1.05
0.94
0.76
0.63
0.47
0.38
0.31
0.27
0.24
0.21
0.19
0.17
Cb (pf)
10
20
30
40
50
60
70
80
90
100
125
150
200
250
300
350
400
450
500
550
Rp(Min) (kΩ)
Rp(Max) (kΩ)
2.7V
100 KHz 400 KHz 1 MHz 3.4 MHz
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
0.77
118.02 35.41 14.16
59.01 17.70 7.08
39.34 11.80 4.72
29.51 8.85 3.54
23.60 7.08 2.83
19.67 5.90 2.36
16.86 5.06 2.02
14.75 4.43 1.77
13.11 3.93 1.57
11.80 3.54 1.42
9.44
2.83 1.13
7.87
2.36 0.94
5.90
1.77 0.71
4.72
1.42 0.57
3.93
1.18 0.47
3.37
1.01 0.40
2.95
0.89 0.35
2.62
0.79 0.31
2.36
0.71 0.28
2.15
0.64 0.26
文档编号:001-92139 版本**
9.44
4.72
3.15
2.36
1.89
1.57
1.35
1.18
1.05
0.94
0.76
0.63
0.47
0.38
0.31
0.27
0.24
0.21
0.19
0.17
Cb (pf)
10
20
30
40
50
60
70
80
90
100
125
150
200
250
300
350
400
450
500
550
Rp(Min) (kΩ)
Rp(Max) (kΩ)
4.5V
100 KHz 400 KHz 1 MHz 3.4 MHz
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
1.37
118.02 35.41 14.16
59.01 17.70 7.08
39.34 11.80 4.72
29.51 8.85 3.54
23.60 7.08 2.83
19.67 5.90 2.36
16.86 5.06 2.02
14.75 4.43 1.77
13.11 3.93 1.57
11.80 3.54 1.42
9.44
2.83 1.13
7.87
2.36 0.94
5.90
1.77 0.71
4.72
1.42 0.57
3.93
1.18 0.47
3.37
1.01 0.40
2.95
0.89 0.35
2.62
0.79 0.31
2.36
0.71 0.28
2.15
0.64 0.26
9.44
4.72
3.15
2.36
1.89
1.57
1.35
1.18
1.05
0.94
0.76
0.63
0.47
0.38
0.31
0.27
0.24
0.21
0.19
0.17
6
使用串行 I2C nvSRAM 进行设计
图 6. 各种总线负载和工作电压条件下的 Rp(最小、最大)值
3.4 MHz
1 MHz
400 KHz
100 KHz
Operating Voltage (Vcc), V
Bus Load (Cb), pF
控制输入引脚配置
HSB 引脚:
2
I C nvSRAM 有很多控制输入引脚。为使器件正常运行,需
要将这些引脚正确设置为固定的逻辑状态(高电平或低电
平)。如果不将某个输入控制引脚设置为合适的逻辑电平
(高电平或低电平),而让它进入悬空状态,则该悬空引脚
可能被置于中间的亚稳定状态,因而不能确保器件的行为。
因此,必须将所有没有内部上拉或下拉选项的未使用输入引
脚连接至由上拉或下拉电阻外部设置的合适的逻辑电平。可
以使用的电阻值范围为 1 kΩ 至 10 kΩ。
WP 引脚:
WP 引脚为高电平有效引脚,从写操作中保护整个存储器和
所有的寄存器。当该引脚处于高电平时,所有的存储器和寄
2
存器写入都被禁止,且地址计数器不会增加。I C nvSRAM
为该引脚提供了一个内部下拉电阻。因此,如果未使用写保
护功能,则可将该引脚置于悬空状态(未连接)。如果将该
引脚连接到一个控制器 I/O 以进行外部控制,则建议使用一
个外部上拉电阻,用以防止由该线上的噪声引起的意外触发。
外部上拉电阻可使用值范围为 1 kΩ 至 10 kΩ 的电阻。
A2、A1、A0 引脚:
它们都是从设备地址引脚,用于在多个从设备配置中配置不
同的从器件上的各个从设备地址。这些引脚被内部设置为低
电平,因此,如果未使用的话,可将它们置于悬空状态(尚
未连接)。为将这些引脚配置为逻辑高电平状态,要将它们
连接至外部上拉电阻,或直接将其连接至 VCC 电源。可以
使用值范围为 1 kΩ 至 10 kΩ 的上拉电阻。在系统要求动态
更改从设备地址的某些配置中,要求将这些地址引脚连接至
控制器 I/O,以随时配置从设备选择地址引脚(A2、A1、
A0)并访问器件。
www.cypress.com
HSB引脚是 nvSRAM 中的双向引脚。作为输出引脚时,它
指示在正常运行时 nvSRAM 的就绪或忙碌状态。当器件通
电或正在执行某个非易失性存储周期时,器件会将HSB 引
脚置于低电平状态,以指示忙碌状态。当HSB 引脚处于高
电平状态时,则表示器件准备好执行普通的读和写操作。作
为输入引脚时,可通过控制器将HSB 置于低电平,用以外
部启动硬件存储。如果不与任何 GPIO 相连,该引脚会悬空。
2
I C nvSRAM 在HSB引脚上提供一个内部弱上拉电阻,以在
正常运行时保持该引脚为高电平状态。如果将该引脚连接至
一个控制器 I/O 以进行外部控制,建议使用一个外部上拉电
阻,以阻止由该线上的噪声引起的意外触发。可以使用值范
围为 1 kΩ 至 10 kΩ 的电阻。
VCAP:
掉电时,VCAP 引脚上所连接的电容给 nvSRAM 供电,用以
传输 SRAM 非易失性单元内的数据。在正常操作时,器件
从 VCC 接收电流,以给 VCAP 上的电容充电。nvSRAM 器件
使用 VCAP 上存储的电荷执行单一存储操作。如果 VCC 引脚
上的电压降至 VSWITCH 以下,器件自动将 VCAP 引脚和 VCC
隔离开,并同时使用 VCAP 上存储的电荷启动存储操作。
为成功执行自动存储操作,必须在 VCAP 引脚上连接合适的
电容。应该在器件数据手册中所规定的范围内选择电容值。
如果错误选择电容值,将会导致器件故障。欲了解有关
nvSRAM 产品的电容选择指南的信息,请参考应用笔记 赛
普拉斯 nvSRAM 的存储电容选项 — AN43593。
文档编号:001-92139 版本**
7
使用串行 I2C nvSRAM 进行设计
H/L 被设置为‘0’
RTC 器件的特定引脚配置
在封装中,RTC 特性要求以下各额外引脚。要准确配置这
些引脚,使 RTC 正常工作。
INT 引 脚 : 该 引 脚 是 RTC 器 件 中 的 输 出 引 脚 。 RTC
nvSRAM 提供了各种功能,如警报、看门狗定时器、校准
时钟输出以及方波发生器。根据 RTC 寄存器的设置和在
nvSRAM 中定义的功能优先级,可复用 INT 输出以指示各
个功能的状态/输出。INT 引脚是一个可配置的驱动器输出。
2
在 I C 从器件中,通过设置中断状态/控制寄存器(0x06)
中的‘H/L’位,可以配置 INT 引脚的输出模式。当将 H/L
位设置为‘1’时,INT 输出被配置为高电平有效,且驱动
模式为推挽式。当将 H/L 位设置为‘0’时,INT 输出驱动
被配置为低电平有效的开漏输出。因此,在器件不驱动该输
出时,要求使用一个外部上拉电阻将它置为逻辑高电平状态。
当使用处于低电平有效模式的 INT(H/L 位被设置为‘0’)
时,必须使用一个外部上拉电阻(值范围为 1 kΩ 至 10 kΩ)
将 INT 上拉到 VCC 电平。
根据 H/L 和 P/L 的不同设置,INT 引脚行为如下:当发生
中断时,H/L 位的设置确定 INT 引脚输出处于高电平还是低
电平状态。同样,P/L 的设置确定 INT 引脚是脉冲还是电平。
2
图 7 显示的是 I C nvSRAM 中断引脚(INT)的行为。
H/L =0
P/L=0
Pulled HIGH
with External
Pull up
Hi-Z When no
pull up
Interrupt Occurs
200 ms
H/L =0
P/L=1
VRTCbat 和 VRTCcap 引脚:这些引脚用于给 RTC 电路提供备
份电源,以确保在系统电源(VCC)断电时振荡器时钟持续
运行。为在断电时对 RTC 振荡器进行电源备份,则要将
VRTCbat 连接至某个非充电器件,或将它连接至 VRTCcap 引脚
上的一个超级电容。如果不被使用,这些引脚将悬空。
注意: VRTCcap 引脚不能与 VSS 直接短接,因为在正常运行
模式下,该引脚用于充电与它相连的超级电容。因此,
VRTCcap 引脚直接接地(VSS)时,nvSRAM 会消耗极大电流。
欲了解有关 nvSRAM RTC 设计指南和最佳实践的详细信息,
请参考应用笔记非易失性静态随机存取存储器(nvSRAM)
实时时钟(RTC)的设计指南和最佳实践 — AN61546。
图 7. INT 引脚行为(RTC)
H/L 被设置为‘1’
H/L =1
P/L=0
Interrupt Occurs
200 ms
H/L =1
P/L=1
www.cypress.com
文档编号:001-92139 版本**
8
使用串行 I2C nvSRAM 进行设计
I2C nvSRAM 操作
限制的字节数量;因此,该器件支持连续读和写操作。每个
字节后面都需要一个确认(A)位。传输每个字节时,要求
先传输最高有效位(MSb),最后传输最低有效位(LSb)。
2
图 8 显示了 I C nvSRAM 的数据传输。
2
必须始终以字节格式访问 I C nvSRAM,并且放置在 SDA
线上的每个字节的长度都必须为 8 位。每次传输能发送无
2
图 8. I C nvSRAM 数据传输
2
I C nvSRAM 按照 图 9 中显示的格式传输数据。在启动条
件(S)发生后,将发送一个从器件地址。该地址的长度为
7 位,其后面是数据方向位(R/W)(第 8 位)。如果位
(R/W )被设置为‘0’,它表示传输(写入);如果该
(R/W )位被设置为‘1’,它表示一个数据请求(读取)。
数据传输总是以一个由主设备生成的停止条件作为终止标志。
然而,如果某个主设备仍希望在总线上进行通信,则它可生
成一个重复的启动条件(Sr),并再次寻址从器件,或者与
2
其他从器件进行通信,而不生成停止条件。所有的标准 I C
模式(高速模式除外)都遵循图 9 中描述的数据格式。
2
图 9. I C 数据字节格式(Sm、Fm、Fm+)
S S
7 Bits
Slave
Address
7 Bits
Slave
Address R/W
A
DATA
A
R/W
A
DATA
ADATA
A/A
DATA P A/A
P
A = Acknowledged
(SDA LOW
during
ACKduring
clock) ACK clock)
A = Acknowledged
(SDA
LOW
= From I2C Master to I2C Slave
= From I2C Master to I2C Slave
A = Not Acknowledged (NACK) (SDA HIGH in ACK clock)
A = Not Acknowledged (NACK) (SDA HIGH in ACK clock)
S/P = START /STOP Condition
= From I2C Slave to I2C Master
S/P = START /STOP Condition
= From I2C Slave to I2C Master
图 10. 数据字节格式(Sm、Fm、Fm+)— 写入操作
S
7 Bits Slave Address
0
A
DATA
A
DATA
A
P
图 11. 数据字节格式(SM、FM、Fm+)— 读取操作
S
www.cypress.com
7 Bits Slave Address
1
A
DATA
A
文档编号:001-92139 版本**
DATA
A/A
P
9
使用串行 I2C nvSRAM 进行设计
后便是数据方向位(R/W)(第 8 位)。如果位(R/W)被
设置为‘0’,它表示传输(写入),如果该(R/W)位被
设置为‘1’,它表示一个数据请求(读取)。数据传输总
是以一个由主设备生成的停止条件作为终止标志。然而,在
高速模式下,如果主设备仍希望在总线上进行通信,则它可
生成一个重复的启动条件(Sr),并对从设备进行寻址,而
不生成停止条件。
高速模式(Hs 模式)操作
在 Hs 模式下,nvSRAM 的数据传输比特率可达 3.4 Mbit/s。
生成启动条件(S)后,将发送一个 8 位的主设备代码
(0000 1XXXb),nvSRAM 随之会发送一个 NACK (A),
但在所有后续操作中,它都会将数据接口置于 Hs 模式。仅
在出现停止(P)条件时,器件才会退出 Hs 模式。将从设
2
备置于 Hs 模式后,I C 主设备将发送 7 位从设备地址,之
2
图 12. I C 数据字节格式(Hs)
SM/ FM/ Fm+ Mode
S
Hs Mode
Master Code (0000 1XXX)
A/A
Sr
7 Bits Slave Address
R/W
A
SM/ FM/ Fm+ Mode
DATA
A
DATA
A/A
P
A = Acknowledged (SDA LOW during ACK clock)
= From I2C Master to I2C Slave
Hs Mode Continues
A = Not Acknowledged (NACK) (SDA HIGH in ACK clock)
Sr
S/P = START /STOP Condition
= From I2C Slave to I2C Master
7 Bits Slave Address
Sr - Repeated Start
2
图 13. I C 数据字节格式(Hs)—写入操作
SM/ FM/ Fm+ Mode
S
Hs Mode
Master Code (0000 1XXX)
A/A
Sr
7 Bits Slave Address
0
A
DATA
A
DATA
A
P
DATA
A
DATA
A/A
P
2
图 14. I C 数据字节格式(Hs)—读取操作
SM/ FM/ Fm+ Mode
S
Hs Mode
Master Code (0000 1XXX)
A/A
S
7 Bits Slave Address
A
2
在 I2C nvSRAM 中进行寻址
2
1
图 15 显示的是通过 I C 总线传输的地址位的示例。
2
I C 主设备控制器以字节格式与 I C nvSRAM 从设备通行。
在传输某个字节时,它始终在第一个时钟周期内传输最高有
效位,并在第 8 个时钟周期内发送最低有效位。这种方法
2
适用于所有 I C 通信,包括指令、地址和数据字节。类似的,
2
当 I C nvSRAM 在读取操作期间传输数据字节时,它始终
先传输最高有效位,最后才传输最低有效位。
将长度为 7 位的从设备地址表示为“SA [6:0]”,这样可以
同存储器地址位(表示为“A [16:0]”)相区分。在后续内
容中,将使用 SA [x]表示从设备地址位。
2
图 15. I C nvSRAM 中的地址位传输
7 Bits Slave Address
S
4 Bits Slave Device Address
(SA [6:3])
www.cypress.com
SA2
SA1
Address Byte2 (MSB)
SA0 /
A16
0
A
A15
A14
A13
A12
A11
A10
Address Byte1 (LSB)
A9
文档编号:001-92139 版本**
A8
A
A7
A6
A5
A4
A3
A2
A1
A0
A
10
使用串行 I2C nvSRAM 进行设计
从器件地址
2
I C nvSRAM 从设备支持 7 位从设备寻址 SA [6:0],其中四
个最高有效地址位 SA [6:3]是器件的固定地址位,并且用
户不能对其进行修改。通过器件所提供的外部地址引脚
(A2、A1、A0),可以配置剩下的三个最低有效地址位
2
SA [2:0])。I C nvSRAM 在一个单一的器件内集成了三种不
同的功能,即数据存储器、RTC 功能和其他控制功能。通
2
过修改高 4 位(请查看表 4),I C nvSRAM 可以分配从设
2
备地址 SA [6:3]的三个专用 ID,从而可允许 I C 主设备访
问这些功能。
表 4. 从器件地址
如果总线上的其他任何从设备 ID 与四个从设备的高位 SA [6:3]相匹配,则用户必须以不同的数值配置从设备地址的低位 SA
[2:0],以便使共用同一个系统总线的所有从器件均有唯一的从设备 ID。
图 16. 从器件地址选择
7 Bits Slave Address
7 Bits Slave Address
S
1
0
1
0
SA2
SA1
SA0 /
A16/X
R/W
S
1
1
0
1
SA2
7 Bits Slave Address
SA1
SA0 /
X
Slave Device
Address (RTC)
Slave Device
Address (Memory)
R/W
S
0
0
1
1
SA2
SA1
SA0 /
X
R/W
Slave Device
Address (Controls)
2
表 5. 对 SRAM 进行读取和写入时,I C nvSRAM 的寻址情况
注意 2 :最高有效地址字节(MSB)中未使用的位无需关注,并且 nvSRAM 将忽略它们。然而,在固件中,最好将这些未使用的地址位的位置
设置为‘0’。这样,在移动到更高密度的选项时,可以轻松实现固件升级。
注意 3:在某些 nvSRAM 器件配置中,由于封装中的引脚资源不足或由于内部使用了 A0 地址位,因此这些器件仅提供了两个地址引脚(A2 和
A1)。大小为 1 Mbit 的 I2C nvSRAM 要求 17 地址位 A [16:0],用以映射到它的整个存储器位置。因此,在这些器件中,从设备地址空间 SA0
用于发送 A16 地址位,并且只能使用两个位 SA [2:1]外部配置从设备地址。在容量更小的器件(512 Kbit 或更小)中,由于封装中的引脚不足,
所以 A0 不可用。因而,在内部无需关注(‘X’)该位。带无需关注的从设备地址位 A0 的 I2C 从器件将应答由 I2C 主设备发送的两个从设备地
址(在 A0=0 和 A0=1 时)。
www.cypress.com
文档编号:001-92139 版本**
11
使用串行 I2C nvSRAM 进行设计
I2C nvSRAM 访问
2
2
2
通过标准的 I C 写入和读取协议,可以访问所有的 I C
nvSRAM 功能,包括标准功能(读取和写入存储器)以及
特殊功能(NV 操作、器件 ID 和序列号)。图 17 至图 21
显示的是对 I C nvSRAM 进行的读和写操作的简化流程图。
2
有关每一个 I C nvSRAM 功能的说明及其实现的详细信息,
请参阅器件的数据手册。
2
图 17. 写入到 I C nvSRAM 数据存储器的简化流程图
Device Idle
Start (S) /Repeat Start (Sr)
Slave Address
1010 SA[2:0] (R/W =0)
No
Did Slave
Address Match?
Yes
Send ACK
Receive Addr bytes
Send ACK
Bus status
P or Sr?
No
Are Two Bytes
Addr Rcvd?
No
Yes
Internal address counter is
set to the new address.
Yes
Bus status
P or Sr?
No
Yes
Send NACK
Is it protected
memory?
No
Once address counter reaches to
the last addressable location of
data memory, the auto increment
will roll over to the start address
0x0000 and start overwriting
previously written data
Receive data byte. Auto
increment to next address
Send ACK
Bus status
P or Sr?
No
Yes
Device Idle
www.cypress.com
文档编号:001-92139 版本**
12
使用串行 I2C nvSRAM 进行设计
2
图 18. 写入到 I C nvSRAM RTC 和控制寄存器的简化流程图
Device Idle
Device Idle
Start (S) /
Repeated Start (Sr)
Start (S) /
Repeated Start (Sr)
Slave Address
0011 SA[2:0] (R/W =0)
Slave Address
1101 SA[2:0] (R/W =0)
No
Did Slave
Address Match?
No
Did Slave
Address Match?
Yes
Send ACK
Yes
Send ACK
Receive Addr bytes
Receive Addr bytes
Yes
Yes
Send NACK
Is Add Out
of Bound?
Send NACK
Is Add Out
of Bound?
No
Send ACK
No
Send ACK
Bus status
P or Sr?
No
Bus status
P or Sr?
Internal address counter is
set to the new Cntrl Reg Addr.
No
Internal address counter is
set to the new RTC Reg Addr.
Yes
Once the address counter reaches
to the last writable location in
control register, the auto increment
will go to the next addressable
location and stays there. Device will
return a NACK for all Subsequent
bytes sent by master for write.
Bus status
P or Sr?
No
Yes
Bus status
P or Sr?
No
No
Once address counter reaches to
the last addressable location of
RTC Regs, the auto increment will
roll over to the start address 0x00
and start overwriting previously
written data
Receive data byte. Auto
increment to next address
Send ACK
Bus status
P or Sr?
www.cypress.com
No
Is Current address
writable?
Yes
Receive data byte
Receive data byte. Auto
increment to next address
Send ACK
Send
NACK
Bus status
P or Sr?
Yes
Yes
Device Idle
Device Idle
文档编号:001-92139 版本**
No
13
使用串行 I2C nvSRAM 进行设计
2
图 19. 读取 I C nvSRAM 数据存储器的当前地址的简化流程图
Device is Idle
Start (S) /
Repeated Start (Sr)
Slave Address
1010 SA[2:0] (R/W =1)
No
Did Slave
Address Match?
Yes
Send ACK
Yes
Once address counter reaches to
the last addressable location of the
data memory, the auto increment
will roll over to the start address
0x0000 and start reading data
from there onwards.
Bus status
P or Sr?
No
Send Data Byte from Current Addr.
Auto Increment to Next Addr.
No
ACK Rcvd
from Master?
Yes
No
Bus Status
P or Sr?
Yes
Device Idle
www.cypress.com
文档编号:001-92139 版本**
14
使用串行 I2C nvSRAM 进行设计
2
图 20.读取 I C nvSRAM RTC 和控制存储器的当前地址的简化流程图
Device is Idle
Device is Idle
Start (S) /
Repeated Start (Sr)
Start (S) /
Repeated Start (Sr)
Control
Function
RTC
Function
Slave Address
011 SA[2:0] (R/W =1)
Slave Address
1101 SA[2:0] (R/W =1)
Did Slave
Address Match?
Yes
Send ACK
Yes
Send ACK
Yes
Yes
No
Did Slave
Address Match?
No
Bus status
P or Sr?
No
Send Data Byte from Current Addr.
Auto Increment to Next Addr.
Once address counter reaches to
the last addressable location of te
RTC registers, the auto increment
will roll over to the start address
0x00 and start sending data out
from there onwards.
Once the address counter reaches
to the last readable address
location in control register, the
auto increment will go to the start
address 0x00 and start sending
data out from there onwards.
Bus status
P or Sr?
No
Send Data Byte from Current Addr.
Auto Increment to Next Addr.
No
No
No
No
ACK Rcvd
from Master?
ACK Rcvd
from Master?
Yes
Yes
No
No
Bus Status
P or Sr?
Bus Status
P or Sr?
Yes
Yes
Device Idle
Device Idle
图 19 至图 20 显示的是读取数据存储器、RTC 寄存器以及控制寄存器的当前位置的流程图。当前位置是指退出前一个读或写操
作时位于地址计数器的地址。如果用户需要读取其他位置,那么必须通过执行一个写周期在地址计数器中设置新地址,如图 21
所示。
www.cypress.com
文档编号:001-92139 版本**
15
使用串行 I2C nvSRAM 进行设计
2
图 21. 读取 I C nvSRAM 数据存储器、RTC 和控制寄存器随机地址的简化流程图
Set Current Address for Data
Memory
Set Current Address for RTC
Registers
Set Current Address for Control
Registers
Device Idle
Device Idle
Device Idle
Start (S) /
Repeated Start (Sr)
Start (S) /
Repeated Start (Sr)
Start (S) /
Repeated Start (Sr)
Slave Address
1101 SA[2:0] (R/W =0)
Slave Address
0011 SA[2:0] (R/W =0)
Slave Address
1010 SA[2:0] (R/W =0)
No
No
Did Slave
Address Match?
Did Slave
Address Match?
Yes
Send ACK
Yes
Send ACK
Yes
Send ACK
Receive Addr bytes
Receive Addr bytes
Receive Addr bytes
No
Did Slave
Address Match?
Send ACK
Bus status
P or Sr?
Is Add Out
of Bound?
No
Is Add Out
of Bound?
Send NACK
No
Send ACK
No
Are Two Bytes
Addr Rcvd?
Yes
Yes
Send NACK
No
Internal address counter is
set to the new RTC Reg Addr.
Internal address counter is
set to the new Cntrl Reg Addr.
Initiate a Read by S or Sr
Initiate a Read by S or Sr
Yes
Internal address counter is
set to the new address.
Initiate a Read by S or Sr
总结
2
2
与其他所有非易失性 I C 存储器产品相同,赛普拉斯 I C
2
nvSRAM 也支持标准的 I C 访问协议。这样能使 nvSRAM
2
与所有 I C 主控制器相兼容,并缩短系统开发的时间。本应
2
用笔记介绍的是如何使用原理图和时序图在应用中配置 I C
nvSRAM。
www.cypress.com
文档编号:001-92139 版本**
16
使用串行 I2C nvSRAM 进行设计
附录 A(伪代码示例)
I2C 写入
/*Sm, Fm, Fm+ Mode*/
void I2C_Write_nvSRAM(BYTE slave_Addr,BYTE Addr_MSB, BYTE Addr_LSB, BYTE *Data, int
n_Byte)
{
int i=0;
BYTE txBuffer[2];
txBuffer[0]=Addr_MSB; //Copy I2C slave address in local buffer
txBuffer[1]=Addr_LSB;
I2CHW_ClrWrStatus(); //Clear the status register of I2C master
I2CHW_fSendStart(slave_Addr, I2CHW_WRITE); //Returns a non zero if slave device
ACKs
while(!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE); //Wait till all bits are
transmitted
for (i=0;i<n_Byte; i++){
I2CHW_fWrite( Data[i]); //Master transmit data bytes
while (!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE);
}
I2CHW_SendStop (); // Master sends S/Sr to terminate write
}
/*Hs Mode*/
void I2C_Write_HSMODE_nvSRAM(BYTE slave_Addr,BYTE Addr_MSB, BYTE Addr_LSB, BYTE *Data,
int n_Byte)
{
int i=0;
BYTE txBuffer[2];
txBuffer[0]=Addr_MSB;
txBuffer[1]=Addr_LSB; //Copy I2C slave address in local buffer
I2CHW_ClrWrStatus(); //Clear the status register of I2C master
//0x00001xxx is a HS mode address hence. (Read/Write also don’t care).HS mode command
byte can be set anything from 0x08 to 0x0F
I2CHW_fSendStart( 0x04, I2CHW_WRITE); //No ACK from any slave.
while(!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE);//Wait till all bits are
transmitted
I2CHW_fSendRepeatStart(slave_Addr, I2CHW_WRITE); //Send repeat start with slave
ID to access a slave in HS mode.
while(!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE);
for (i=0;i<n_Byte; i++){
I2CHW_fWrite( Data[i]);
while(!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE);
}
I2CHW_SendStop (); //Master sends S/Sr to terminate write
}
www.cypress.com
文档编号:001-92139 版本**
17
使用串行 I2C nvSRAM 进行设计
I2C 读取
/*Sm, Fm, Fm+ Mode*/
void I2C_Read_nvSRAM(BYTE slave_Addr, int n_Byte)
{
int i=0;
BYTE dataRD;
I2CHW_ClrWrStatus();//Clear the status register of I2C master
I2CHW_fSendStart( slave_Addr, I2CHW_READ);
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE);
for(i=0;i<n_Byte; i++) {
if(i==(n_Byte-1)) {
dataRD =I2CHW_bRead (I2CHW_NAKslave); //Master sends NACK for the last read to terminate
the Read
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE); //Wait till all bits Rcvd
}
else
{
dataRD =I2CHW_bRead (I2CHW_ACKslave);
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE);
}
}
I2CHW_SendStop (); //Master sends S/Sr to terminate Read
}
/*Hs Mode*/
void I2C_Read_HSMODE_nvSRAM(BYTE slave_Addr, int n_Byte)
{
int i=0;
BYTE dataRD;
I2CHW_ClrWrStatus();//Clear the status register of I2C master
I2CHW_fSendStart( 0x04, I2CHW_READ); //0x0000 1xxx is a HS mode address hence slave addr
can be 0x0X. No ACK from any slave.
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE);//Wait till all bits received
I2CHW_fSendRepeatStart( slave_Addr, I2CHW_READ); //Send repeat start with slave ID to
access a slave in the HS mode.
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE);
for(i=0;i<n_Byte; i++){
if(i==(n_Byte-1)) {
dataRD =I2CHW_bRead (I2CHW_NAKslave);
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE);
}
else {
dataRD =I2CHW_bRead (I2CHW_ACKslave);
while(!I2CHW_bReadI2CStatus() & I2CHW_RD_COMPLETE);
}
}
I2CHW_SendStop //Master sends S/Sr to terminate Read
}
www.cypress.com
文档编号:001-92139 版本**
18
使用串行 I2C nvSRAM 进行设计
文档修订记录
2
文档标题:使用串行 I C nvSRAM 进行设计—AN74875
文档编号:001-92139
修订版
**
ECN
4345916
www.cypress.com
原始变更
LISZ
提交日期
05/16/2014
变更说明
本文档版本号为 Rev**,译自英文版 001-74875 Rev*E。
文档编号:001-92139 版本**
19
使用串行 I2C nvSRAM 进行设计
全球销售和设计支持
赛普拉斯公司拥有一个由办事处、解决方案中心、工厂代表和经销商组成的全球性网络。要找到离您最近的办事处,请访问赛普
拉斯所在地。
PSoC®解决方案
产品
汽车
cypress.com/go/automotive
psoc.cypress.com/solutions
时钟与缓冲区
cypress.com/go/clocks
PSoC 1 | PSoC 3 | PSoC 4 |PSoC 5LP
接口
cypress.com/go/interface
赛普拉斯开发者社区
照明和电源控制
cypress.com/go/powerpsoc
cypress.com/go/plc
存储器
cypress.com/go/memory
光学导航传感器
cypress.com/go/ons
PSoC
cypress.com/go/psoc
触摸感应
cypress.com/go/touch
USB 控制器
cypress.com/go/usb
无线/射频
cypress.com/go/wireless
社区 | 论坛| 博客 | 视频 | 培训
技术支持
cypress.com/go/support
此处引用的所有其他商标或注册商标归其各自所有者所有。
赛普拉斯半导体
198 Champion Court
San Jose , CA 951341709
电话
传真
网站
:408-943-2600
:408-943-4730
:www.cypress.com
©赛普拉斯半导体公司,2011-2014。此处,所包含的信息可能会随时更改,恕不另行通知。除赛普拉斯产品内嵌的电路外,赛普拉斯半导体公司不对任
何其他电路的使用承担任何责任。也不根据专利或其他权利以明示或暗示的方式授予任何许可。除非与赛普拉斯签订明确的书面协议,否则赛普拉斯产品
不保证能够用于或适用于医疗、生命支持、救生、关键控制或安全应用领域。此外,对于合理预计会发生运行异常和故障并对用户造成严重伤害的生命支
持系统,赛普拉斯将不批准将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统,则表示制造商将承担因此类使用而招致的所有风险,
并确保赛普拉斯免于因此而受到任何指控。
该源代码(软件和/或固件)均归赛普拉斯半导体公司(赛普拉斯)所有,并受全球专利法规(美国和美国以外的专利法规)、美国版权法以及国际条约
规定的保护和约束。赛普拉斯据此向获许可者授予适用于个人的、非独占性、不可转让的许可,用以复制、使用、修改、创建赛普拉斯源代码的派生作品、
编译赛普拉斯源代码和派生作品,并且其目的只能是创建自定义软件和/或固件,以支持获许可者仅将其获得的产品依照适用协议规定的方式与赛普拉斯
集成电路配合使用。除上述指定用途外,未经赛普拉斯的明确书面许可,不得对此类源代码进行任何复制、修改、转换、编译或演示。
免责声明:赛普拉斯不针对该材料提供任何类型的明示或暗示保证,包括(但不仅限于)针对特定用途的适销性和适用性的暗示保证。赛普拉斯保留在不
另行通知的情况下对此处所述材料进行更改的权利。赛普拉斯不对此处所述之任何产品或电路的应用或使用承担任何责任。对于合理预计可能发生运转异
常和故障,并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统,则表示制
造商将承担因此类使用而导致的所有风险,并确保赛普拉斯免于因此而受到任何指控。
产品使用受适用的赛普拉斯软件许可协议限制并完全按照次此协议使用。
www.cypress.com
文档编号:001-92139 版本**
20