I2C详解(4) I2C总线的规范以及用户手册(3) I2C电气规格和时序
I2C详解(1) 一文快速了解I2C的工作原理
I2C详解(2) I2C总线的规范以及用户手册(1) I2C 总线协议
I2C详解(3) I2C总线的规范以及用户手册(2) I2C 其他的总线协议以及总线速度
I2C详解(4) I2C总线的规范以及用户手册(3) I2C电气规格和时序
I2C详解(5) I2C总线的规范以及用户手册(4) MIPI I3C 概述
I2C详解(6) STM32软件模拟I2C
文章目录
6. I/O级和总线的电气规格和时序
6.1 标准、快速和快速模式+ 设备
I/O 电平, I/O 电流,尖峰抑制、输出斜率控制和引脚电容见 Table 10. I2C 总线定时特性、总线线路电容和噪声裕量见 Table 10. Figure 38 展示了 I2C 总线的时序定义。
Table 10 中指定的 SCL 时钟的最小高电平和低电平周期决定了标准模式设备的最大位传输速率为 100 kbit/s,快速模式设备的最大位传输速率为 400 kbit/s,快速模式+ 的最大位传输速率为 1000 kbit/s。设备必须能够以自己的最大比特率跟踪传输,方法是能够以该速度发送或接收,或者通过应用 Section 3.1.7 中描述的时钟同步过程,该过程强制控制器进入等待状态并延长SCL信号的低电平周期。在后一种情况下,位传输速率会降低。
Table 10. SDA 和 SCL I/O 级的特性
n/a = not applicable.
符号 | 参数 | 条件 | 标准模式 | 快速模式 | 快速模式+ | 单位 | |||
---|---|---|---|---|---|---|---|---|---|
Min | Max | Min | Max | Min | Max | ||||
VIL | 低电平输入电压[1] | -0.5 | 0.3VDD | -0.5 | 0.3VDD | -0.5 | 0.3VDD | V | |
VIH | 高电平输入电压[1] | 0.7VDD | [2] | 0.7VDD | [2] | 0.7VDD [1] | [2] | V | |
Vhys | 施密特触发器输入的迟滞 | - | - | 0.05VDD | - | 0.05VDD | - | V | |
VOL1 | 低电平输出电压 1 | (漏极开路或集电极开路) 3 mA灌电流下; VDD > 2 V | 0 | 0.4 | 0 | 0.4 | 0 | 0.4 | V |
VOL2 | 低电平输出电压 2 | (漏极开路或集电极开路) 2 mA 灌电流[3] ; VDD ≤ 2 V | - | - | 0 | 0.2VDD | 0 | 0.2VDD | V |
IOL | 低电平输出电流 | VOL = 0.4 V | 3 | - | 3 | - | 20 | - | mA |
VOL = 0.6 V [4] | - | - | 6 | - | - | - | mA | ||
tof | 从 VIHmin 到 VILmax 的输出下降时间 | - | 250 [5] | 20 × (VDD / 5.5 V) [6] | 250 [5] | 20 × (VDD / 5.5 V) [6] | 120 [7] | ns | |
tSP | 必须由输入滤波器抑制的尖峰脉冲宽度 | - | - | 0 | 50 [8] | 0 | 50 [8] | ns | |
Ii | 每个 I/O 引脚的输入电流 | 0.1VDD < VI < 0.9VDDmax | -10 | +10 | -10 [9] | +10 [9] | -10 [9] | +10 [9] | μA |
Ci | 每个 I/O 引脚的电容[10] | - | 10 | - | 10 | - | 10 | pF |
[1] 一些传统标准模式器件的固定输入电平为 VIL = 1.5 V 和 VIH = 3.0 V。参考元件的数据手册。
[2] 最大 VIH = VDD(max) + 0.5 V 或 5.5 V,以较低者为准。查看元件的数据手册。
[3] 在 3.0 V VDD 下驱动 3 mA 的相同电阻值可在使用 <2 V VDD 时提供相同的 RC 时间常数,电流消耗较小
[4] 为了在 400 kHz 下驱动全总线负载, 在 0.6 V VOL 时需要 6 mA IOL,不符合此规格的部件仍可正常工作,但在 400 kHz 和 400 pF 时不能正常工作。
[5] Table 10 引用的SDA和SCL总线的最大tf (300 ns) 比输出级的指定最大 tof(250 ns)长。这允许串联保护电阻 (RS) 在SDA/SCL引脚和SDA/SCL总线之间连接,如 Figure 45 所示,而不会超过最大额定 tf。
[6] 必须向后兼容快速模式。
[7] 在快速模式+中,输出级和总线时序的下降时间指定相同。如果使用串联电阻,设计人员在考虑总线时序时应考虑到这一点。
[8] SDA和SCL输入端的输入滤波器可抑制小于50 ns的噪声尖峰。
[9] 如果 VDD 关闭,快速模式和快速模式+器件的I/O引脚不得阻塞SDA和SCL线路。
[10] 多路复用器和开关等特殊用途器件可能会超过此电容,因为它们将多条路径连接在一起。
Table 11. 标准、快速和快速模式+的 I2C 总线器件的 SDA 和 SCL 总线线路特性
所有值均参考 VIH(min) (0.7VDD) 和 VIL(max) (0.3VDD) 电平(参见 Table 10).
符号 | 参数 | 条件 | 标准模式 | 快速模式 | 快速模式+ | 单位 | |||
---|---|---|---|---|---|---|---|---|---|
Min | Max | Min | Max | Min | Max | ||||
fSCL | SCL 时钟频率 | 0 | 100 | 0 | 400 | 0 | 1000 | kHz | |
tHD;STA | 保持时间(重复)开始条件 | 在此周期之后,产生第一个时钟脉冲。 | 4.0 | - | 0.6 | - | 0.26 | - | μs |
tLOW | SCL 时钟的低电平周期 | 4.7 | - | 1.3 | - | 0.5 | - | μs | |
tHIGH | SCL 时钟的高电平周期 | 4.0 | - | 0.6 | - | 0.26 | - | μs | |
tSU;STA | 重复 START 条件的设置时间 | 4.7 | - | 0.6 | - | 0.26 | - | μs | |
tHD;DAT | 数据保持时间 [1] | CBUS 兼容控制器 (请参见Section 4.1 中的备注) | 5.0 | - | - | - | - | - | μs |
I2C 总线设备 | 0 [2] | - [3] | 0 [2] | - [3] | 0 | - | μs | ||
tSU;DAT | 数据设置时间 | 250 | - | 100 [4] | - | 50 | - | ns | |
tr | SDA 和 SCL 信号的上升时间 | - | 1000 | 20 | 300 | - | 120 | ns | |
tf | SDA 和 SCL 信号的下降时间[2] [5] [6] [7] | - | 300 | 20 × (VDD / 5.5 V) | 300 | 20 × (VDD / 5.5 V) [8] | 120 [7] | ns | |
tSU;STO | 停止条件的设置时间 | 4.0 | - | 0.6 | - | 0.26 | - | μs | |
tBUF | 停止和开始条件之间的总线空闲时间 | 4.7 | - | 1.3 | - | 0.5 | - | μs | |
Cb | 每条总线线路的容性负载[9] | - | 400 | - | 400 | - | 550 | pF | |
tVD;DAT | 数据有效时间 [10] | - | 3.45 [3] | - | 0.9 [3] | - | 0.45 [3] | μs | |
tVD;ACK | 数据有效应答时间 [11] | - | 3.45 [3] | - | 0.9 [3] | - | 0.45 [3] | μs | |
VnL | 低电平的噪声裕量 | 对于每个连接的设备(包括滞后) | 0.1VDD | - | 0.1VDD | - | 0.1VDD | - | V |
VnH | 高电平的噪声裕量 | 对于每个连接的设备(包括滞后) | 0.2VDD | - | 0.2VDD | - | 0.2VDD | - | V |
[1] tHD;DAT 是从 SCL 的下降沿测量的数据保持时间,适用于传输中的数据和应答。.
[2] 确保 SCL 在下降沿降至 0.3VDD 然后 SDA 进入 0.3 VDD 到 0.7 VDD的不确定范围。
注意:对于无法观察到SCL下降沿的控制器,应使用SCL从静态高电平 (VDD) 到 0.3 VDD 转换时间的独立测量,以插入SDA转换相对于SCL的延迟。
[3] 标准模式和快速模式的最大 tHD;DAT 可以是 3.45 μs 和 0.9 μs ,但必须小于 tVD;DAT 或 tVD;ACK 的最大值 ;通过转换时间进行确认。仅当器件未拉伸 SCL 信号的低电平周期 (tLOW) 时,才必须满足此最大值。如果时钟拉伸 SCL,则数据在释放时钟之前必须在设置时间内有效。
[4] 快速模式 I2C 总线器件可用于标准模式 I2C 总线系统,但必须满足 tSU;DAT 250 ns 的要求。如果设备未拉伸 SCL 信号的低电平周期,则会自动出现这种情况。如果这样的器件确实拉伸了SCL信号的低电平周期,则必须在释放SCL线之前将下一个数据位输出到SDA线 tr(max) + tSU;DAT = 1000 + 250 = 1250 ns (根据标准模式 I2C 总线规范) 。此外,确认时间必须满足此设置时间。
[5] 如果与 Hs 模式器件混合使用,则允许根据 Table 10 缩短下降时间。
[6] SDA和SCL总线的最大 tf 指定为300 ns。SDA输出级 tf 的最大下降时间指定为250 ns。这允许串联保护电阻器连接在SDA和SCL引脚以及SDA/SCL总线之间,而不会超过最大额定 tf 。
[7] 在快速模式+中,输出级和总线时序的下降时间指定相同。如果使用串联电阻,设计人员在考虑总线时序时应考虑到这一点。
[8] 必须向后兼容快速模式。
[9] 允许的最大总线电容可能与此值不同,具体取决于应用的实际工作电压和频率。 Section 7.2 讨论了应对更高总线电容的技术。
[10] tVD;DAT = 从 SCL 低到 SDA 输出的数据信号的时间(高或低,取决于哪一个更差)。
[11] tVD;ACK = 从 SCL 低到 SDA 输出的应答信号的时间(高或低,取决于哪一个更差)。
Figure 38. I2C总线上F/S模式器件的时序定义
6.2 高速模式设备
I2C 总线 Hs 模式器件的 I/O 电平、I/O 电流、尖峰抑制、输出斜率控制和引脚电容如 Table 12所示。 总线上高电平和低电平的噪声裕量与F/S模式 I2C 总线器件的噪声裕量相同。
Figure 39 显示了Hs模式时序的所有时序参数。“正常”START 条件 S 在 Hs 模式下不存在。地址位、R/W 位、确认位和 DATA 位的时序参数都是相同的。只有应答位后第一个SCLH时钟信号的上升沿具有较大的值,因为外部RP 必须在没有内部电流源的帮助下拉起SCLH。
总线线路的 Hs 模式时序参数在 Table 12中指定。SCLH 时钟信号的最小高低周期以及最大上升和下降时间决定了最高比特率。
Hs 模式控制器具有分别为 200 ns 和 100 ns 的低电平和高电平周期的内部生成的 SCLH 信号,可满足外部 SCLH 时钟脉冲的时序要求(考虑上升和下降时间),最大比特率为 3.4 Mbit/s。因此,Hs模式控制器可以使用10 MHz的基本频率或10 MHz的倍数来生成SCLH信号。SCLH 时钟的最大高电平和低电平周期没有限制,最低比特率也没有限制。
对于每条总线高达 100 pF 的容性负载,时序参数是独立的,允许最大可能的比特率为 3.4 Mbit/s。在总线线路上较高的容性负载下,比特率逐渐降低。400 pF容性总线负载的时序参数在 Table 12中规定,允许的最大比特率为1.7 Mbit/s。对于100 pF至400 pF之间的容性总线负载,时序参数必须线性插值。上升和下降时间与传输线SDAH和SCLH的最大传播时间相同,以防止开路端的反射。
Table 12. Hs 模式 I2C 总线器件的 SDAH、SCLH、SDA 和 SCL I/O 电平特性
符号 | 参数 | 条件 | Hs-mode | 单位 | |
---|---|---|---|---|---|
Min | Max | ||||
VIL | 低电平输入电压 | -0.5 | 0.3VDD [1] | V | |
VIH | 高电平输入电压 | 0.7VDD [1] | VDD + 0.5 [2] | V | |
Vhys | 施密特触发器输入的迟滞 | 0.1VDD [1] | - | V | |
VOL | 低电平输出电压 | (开漏)在 SDAH、SDA 和 SCLH 下 3 mA 灌电流 | |||
VDD > 2 V | 0 | 0.4 | V | ||
VDD ≤ 2 V | 0 | 0.2VDD | V | ||
RonL | SDA 和 SDAH 或 SCL 和 SCLH 之间电流的传输栅极导通电阻 | VOL 电平; IOL = 3 mA | - | 50 | Ω |
RonH[2] | SDA 和 SDAH 或 SCL 和 SCLH 传输门间的电容 | 两个信号(SDA 和 SDAH,或 SCL 和 SCLH)在 VDD 电平 | 50 | - | kΩ |
ICS | SCLH电流源的上拉电流 | SCLH 输出电平介于0.3VDD 和 0.7 VDD之间 | 3 | 12 | mA |
trCL | SCLH 信号的上升时间 | 输出上升时间(使能电流源),外部上拉电流源为3 mA | |||
容性负载范围为 10 pF 至 100 pF | 10 | 40 | ns | ||
容性负载:400 pF [3] | 20 | 80 | ns | ||
tfCL | SCLH 信号的下降时间 | 输出下降时间(使能电流源),外部上拉电流源为3 mA | |||
容性负载范围为 10 pF 至 100 pF | 10 | 40 | ns | ||
容性负载:400 pF [3] | 20 | 80 | ns | ||
tfDA | SDAH 信号的下降时间 | 容性负载范围为 10 pF 至 100 pF | 10 | 80 | ns |
容性负载:400 pF [3] | 20 | 160 | ns | ||
tSP | 必须由输入滤波器抑制的尖峰脉冲宽度 | SDAH 和 SCLH | 0 | 10 | ns |
Ii [4] | 每个 I/O 引脚的输入电流 | 输入电压介于0.1VDD and 0.9VDD之间 | - | 10 | μA |
Ci | 每个 I/O 引脚的电容 [5] | - | 10 | pF |
[1] 使用不符合预期 I2C 总线系统电平的非标准电源电压的器件必须将其输入电平与上拉电阻RP 所连接的 VDD 电压相关联。
[2] 提供电平转换功能的器件在SDA和SCL时必须承受 5.5V 的最大输入电压。
[3] 对于 100 pF 至 400 pF 之间的容性总线负载,上升和下降时间值必须线性插值。
[4] 如果其电源电压已关闭,则 Hs 模式目标器件的 SDAH 和 SCLH I/O 级必须具有浮动输出。由于电流源输出电路通常具有一个到 VDD的削波二极管,因此对于Hs模式控制器器件的SCLH或SDAH I/O级,此要求不是强制性的。这意味着Hs模式控制器器件的电源电压无法在不影响SDAH和SCLH线路的情况下关闭。
[5] 多路复用器和开关等特殊用途器件可能会超过此电容,因为它们将多条路径连接在一起。
Table 12. Hs 模式 I2C 总线器件的 SDAH、SCLH、SDA 和 SCL I/O 电平特性
符号 | 参数 | 条件 | Hs-mode | 单位 | |
---|---|---|---|---|---|
Min | Max | ||||
VIL | 低电平输入电压 | -0.5 | 0.3VDD [2] | V | |
VIH | 高电平输入电压 | 0.7VDD [1] | VDD + 0.5 [2] | V | |
Vhys | 施密特触发器输入的迟滞 | 0.1VDD [1] | - | V | |
VOL | 低电平输出电压 | (开漏)在 SDAH、SDA 和 SCLH 下 3 mA 灌电流 | |||
VDD > 2 V | 0 | 0.4 | V | ||
VDD ≤ 2 V | 0 | 0.2VDD | V | ||
RonL | SDA 和 SDAH 或 SCL 和 SCLH 之间电流的传输栅极导通电阻 | VOL 电平; IOL = 3 mA | - | 50 | Ω |
RonH [2] | SDA 和 SDAH 或 SCL 和 SCLH 传输门间的电容 | 两个信号(SDA 和 SDAH,或 SCL 和 SCLH)在 VDD 电平 | 50 | - | kΩ |
ICS | SCLH电流源的上拉电流 | SCLH 输出电平介于0.3VDD 和 0.7 VDD之间 | 3 | 12 | mA |
trCL | SCLH 信号的上升时间 | 输出上升时间(使能电流源),外部上拉电流源为3 mA | |||
容性负载范围为 10 pF 至 100 pF | 10 | 40 | ns | ||
容性负载:400 pF [3] | 20 | 80 | ns | ||
tfCL | SCLH 信号的下降时间 | 输出下降时间(使能电流源),外部上拉电流源为3 mA | |||
容性负载范围为 10 pF 至 100 pF | 10 | 40 | ns | ||
容性负载:400 pF [3] | 20 | 80 | ns | ||
tfDA | SDAH 信号的下降时间 | 容性负载范围为 10 pF 至 100 pF | 10 | 80 | ns |
容性负载:400 pF [3] | 20 | 160 | ns | ||
tSP | 必须由输入滤波器抑制的尖峰脉冲宽度 | SDAH 和 SCLH | 0 | 10 | ns |
Ii [4] | 每个 I/O 引脚的输入电流 | 输入电压介于0.1VDD and 0.9VDD之间 | - | 10 | μA |
Ci | 每个 I/O 引脚的电容 [5] | - | 10 | pF |
Table 13. 用于 Hs 模式 I2C 总线器件的 SDAH、SCLH、SDA 和 SCL 总线线路的特性[1]
符号 | 参数 | 条件 | Cb = 100 pF (max) | Cb = 400 pF [2] | 单位 | ||
---|---|---|---|---|---|---|---|
Min | Max | Min | Max | ||||
fSCLH | SCLH 时钟频率 | 0 | 3.4 | 0 | 1.7 | MHz | |
tSU;STA | 重复起始条件的设置时间 | 160 | - | 160 | - | ns | |
tHD;STA | 保持时间(重复)起始条件 | 160 | - | 160 | - | ns | |
tLOW | SCL 时钟的低电平周期 | 160 | - | 320 | - | ns | |
tHIGH | SCL 时钟的高电平周期 | 60 | - | 120 | - | ns | |
tSU;DAT | 数据设置时间 | 10 | - | 10 | - | ns | |
tHD;DAT | 数据保持时间 | 0[3] | 70 | 0[3] | 150 | ns | |
trCL | SCLH 信号的上升时间 | 10 | 40 | 20 | 80 | ns | |
trCL1 | SCLH 信号在重复 START 条件之后和应答位之后的上升时间 | 10 | 80 | 20 | 160 | ns | |
tfCL | SCLH 信号的下降时间 | 10 | 40 | 20 | 80 | ns | |
trDA | SDAH 信号的上升时间 | 10 | 80 | 20 | 160 | ns | |
tfDA | SDAH 信号的下降时间 | 10 | 80 | 20 | 160 | ns | |
tSU;STO | 停止条件的设置时间 | 160 | - | 160 | - | ns | |
Cb[2] | 每条总线线路的容性负载 | SDAH 和 SCLH 线 | - | 100 | - | 400 | pF |
SDAH + SDA 线 和 SCLH + SCL 线 | - | 400 | - | 400 | pF | ||
VnL | 低电平的噪声裕量 | 对于每个连接的设备(包括滞后) | 0.1VDD | - | 0.1VDD | - | V |
VnH | 高电平的噪声裕量 | 对于每个连接的设备(包括滞后) | 0.2VDD | - | 0.2VDD | - | V |
[1] 所有值均参考 VIH(min) 和 VIL(max) 电平 (参阅 Table 12).
[2] 对于 100 pF 至 400 pF 之间的总线线路负载 Cb,时序参数必须线性插值
[3] 设备必须在内部提供数据保持时间,以桥接SCLH信号下降沿的VIH和VIL之间的未定义部分。对于 SCLH 信号的下降沿,输入电路的阈值尽可能低,可最大限度地缩短此保持时间。
- SCLH 信号的第一个上升沿位于 Sr 之后和每个应答位之后。
Figure 39. I2C总线上 Hs 模式器件的时序定义
6.3 超快速模式设备
I/O电平、I/O电流、尖峰抑制、输出斜率控制和引脚电容如 Table 14所示。UFm I2C总线时序特性如 Table 15所示。
Figure 40 显示了 I2C 总线的时序定义。Table 15 中指定的 SCL 时钟的最小高电平和低电平周期决定了超快速模式的最大位传输速率 5000 kbit/s。设备必须能够以自己的最大比特率跟踪传输,并且能够以该速度发送或接收。
Table 14. USDA 和 USCL I/O 级的特性
n/a = 不适用。
符号 | 参数 | 条件 | 超快速模式 | 单位 | ||
---|---|---|---|---|---|---|
Min | Max | |||||
VIL | 低电平输入电压 [1] | -0.5 | +0.3VDD | V | ||
VIH | 高电平输入电压[1] | 0.7VDD [1] | - [2] | V | ||
Vhys | 施密特触发器输入的迟滞 | 0.05VDD | - | V | ||
VOL | 低电平输出电压 | 4 mA 灌电流; VDD > 2 V | 0 | 0.4 | V | |
VOH | 高电平输出电压 | 4 mA 源电流; VDD > 2 V | VDD - 0.4 | - | V | |
IL | 漏电流 | VDD = 3.6 V | -1 | +1 | μA | |
VDD = 5.5 V | -10 | +10 | μA | |||
Ci | 输入电容 | [3] | - | 10 | pF | |
tSP | 必须由输入滤波器抑制的尖峰脉冲宽度 | [4] | - | 10 | ns |
[1] 有关实际开关点的信息,请参阅元件数据手册。
[2] 最大 VIH = VDD(max) + 0.5 V 或 5.5 V,以较低者为准。请参阅组件数据手册。
[3] 多路复用器和开关等特殊用途器件可能会超过此电容,因为它们将多条路径连接在一起。
[4] USDA和USCL目标输入端的输入滤波器可抑制小于10 ns的噪声尖峰。
Table 15. UFm I2C 总线频率和时序规格
符号 | 参数 | 条件 | 超快速模式 | 单位 | ||
---|---|---|---|---|---|---|
Min | Max | |||||
fUSCL | USCL 时钟频率 | 0 | 5000 | kHz | ||
tBUF | 停止和开始条件之间的总线空闲时间 | 80 | - | ns | ||
tHD;STA | 保持时间(重复)起始条件 | 50 | - | ns | ||
tSU;STA | 重复起始条件的设置时间 | 50 | - | ns | ||
tSU;STO | 停止条件的设置时间 | 50 | - | ns | ||
tHD;DAT | 数据保持时间 | 10 | - | ns | ||
tVD;DAT | 数据有效时间 | [1] | 10 | - | ns | |
tSU;DAT | 数据设置时间 | 30 | - | ns | ||
tLOW | USCL 时钟的低电平周期 | 50 | - | ns | ||
tHIGH | USCL 时钟的高电平周期 | 50 | - | ns | ||
tf | USDA 和 USCL 的下降时间 | - [2] | 50 | ns | ||
tr | USDA 和 USCL 的上升时间 | - [2] | 50 | ns |
[1] tVD;DAT = USDA数据在USCL 低电平之后有效的最短时间。
[2] UFm 信号的典型上升时间或下降时间为 25 ns,从 30 % 电平到 70 % 电平(上升时间) 或者从 70 % 电平到 30 % 电平 (下降时间)。
Figure 40. I2C 总线上超快速模式器件的时序
7. I2C 总线设备与总线设备的电气连接
7.1 上拉电阻规格
总线电容是导线、连接和引脚的总电容。由于指定的上升时间,该电容限制了 RP 的最大值。Figure 41 显示了 RP(max) 作为总线电容的函数。
在计算RC时间常数时,考虑 VDD 相关的输入阈值 VIH = 0.7VDD 和 VIL = 0.3VDD。则
V ( t ) = V D D ( 1 − e − t / R C ) V_{(t)}=V_{DD}(1-e^{-t/RC}) V(t)=VDD(1−e−t/RC)
其中 t 是自充电开始以来的时间,RC 是时间常数。
V ( t 1 ) = 0.3 × V D D = V D D ( 1 − e − t 1 / R C ) V_{(t1)}=0.3\times{V_{DD}}=V_{DD}(1-e^{-t1/RC}) V(t1)=0.3×VDD=VDD(1−e−t1/RC)
其中 t 1 = 0.3566749 × R C t_1=0.3566749\times{RC} t1=0.3566749×RC
V ( t 2 ) = 0.7 × V D D = V D D ( 1 − e − t 2 / R C ) V_{(t2)}=0.7\times{V_{DD}}=V_{DD}(1-e^{-t2/RC}) V(t2)=0.7×VDD=VDD(1−e−t2/RC)
其中 t 2 = 1.2039729 × R C t_2=1.2039729\times{RC} t2=1.2039729×RC
T = t 2 − t 1 = 0.8473 × R C T=t_2-t_1=0.8473\times{RC} T=t2−t1=0.8473×RC
Figure 41 和 Equation 1 显示了最大 RP 作为标准、快速和快速模式Plus的总线电容的函数。 对于每种模式, RP(max) 是Table 10 上升时间最大值 (tr)和估计总线电容 (Cb) 的函数:
R p ( m a x ) = t r 0.8473 × C b R_{p(max)}=\frac{t_r}{0.8473\times{C_b}} Rp(max)=0.8473×Cbtr
公式1
其中:
(1) 标准模式
(2) 快速模式
(3) 快速模式+
Figure 41. RP(max) 作为总线电容的函数
其中:
(1) 快速模式和标准模式
(2) 快速模式+
Figure 42. RP(min) 作为VDD的函数
电源电压限制了电阻RP的最小值,因为标准模式和快速模式的最小灌电流为3 mA,快速模式Plus的最小灌电流为20 mA。RP(min) 作为 VDD 的函数如 Figure 42所示。迹线使用 Equation 2 计算:
R p ( m i n ) = V D D − V O L ( m a x ) I O L R_{p(min)}=\frac{V_{DD}-V_{OL(max)}}{I_{OL}} Rp(min)=IOLVDD−VOL(max)
公式2
设计器现在具有满足时序规范所需的最小和最大 RP 值。对电源电流消耗敏感的便携式设计可以使用一个接近该范围较高端的值来限制 IDD.
7.2 工作在最大允许总线电容以上的情况
总线电容限值的指定是为了限制上升时间的减少,并允许在额定频率下工作。虽然大多数设计可以很容易地保持在这个限制之内,但有些应用可能会超过这个限制。系统设计人员可以使用多种策略来应对过多的总线电容。
• 低速 fSCL (Section 7.2.1): 总线可以以较低的速度运行(较低的 fSCL)。
• 更高的驱动输出 (Section 7.2.2):可以使用具有较高驱动电流的设备,例如快速模式+ 额定值的设备(PCA96xx)。
• 总线缓冲器 (Section 7.2.3): 有许多总线缓冲器设备可以将总线划分为多个段,以便每个段的电容低于允许的限值,例如 PCA9517 总线缓冲器或 PCA9546A 开关。
• 开关上拉电路 (Section 7.2.4) 开关上拉电路可用于加速上升沿,必要时交替切换低阻值上拉电路。
7.2.1 低速 fSCL
要确定较低的允许总线工作频率,首先查找总线上限制最大器件的 tLOW 和 tHIGH 有关这些值,请参阅各个元件的数据手册。实际上升时间 (tr) 取决于 RC 时间常数。最大限幅下降时间 (tf) 取决于总线上的最低输出驱动。请务必允许任何具有最小 tr 或 tf 的设备。参考Equation 3 来计算 fmax。
f m a x = 1 t L O W ( m i n ) + t H I G H ( m i n ) + t r ( a c t u a l ) + t f ( a c t u a l ) f_{max}=\frac{1}{t_{LOW(min)}+t_{HIGH(min)}+t_{r(actual)}+t_{f(actual)}} fmax=tLOW(min)+tHIGH(min)+tr(actual)+tf(actual)1
公式3
备注:非常长的总线长度也必须考虑信号的传输时间。
实际结果较慢,因为实际部件不倾向于将 tLOW 和 tHIGH 控制在 30 % 到 70 %,或者 70 % 到 30 %。
7.2.1 更高的驱动输出
如果使用PCA96xx快速模式+或P82B总线缓冲器等更高驱动器件,则强度较高的输出驱动器会吸收更多电流,从而产生相当快的边沿速率,或者从另一个角度来看,允许更高的总线电容。有关实际输出驱动能力,请参阅各个组件数据手册。使用 Cb, RP, tr 和 tf 的新值重复上述计算,以确定最大频率。请记住,Table 10 中指定的 fSCL 的最大额定值(100 kHz、400 kHz 和 1000 kHz)可能会受到限制。
7.2.3 总线缓冲器、多路复用器和开关
应对过大总线电容的另一种方法是使用总线缓冲器、多路复用器或开关将总线分成更小的段。 Figure 43 显示了一个使用PCA9515缓冲器来处理高总线电容的总线示例。然后允许每个段具有最大电容,因此总总线可以具有两倍的最大电容。请记住,添加缓冲器总是会增加延迟 — 缓冲器延迟加上每个边沿的额外转换时间,这会降低最大工作频率,还可能引入特殊的 VIL 和 VOL 注意事项。
有关此主题以及恩智浦半导体提供的器件的更多详细信息,请参阅应用笔记 AN255, I2C / SMBus Repeaters, Hubs and Expanders 和 AN262, PCA954x Family of I2C / SMBus Multiplexers and Switches。
备注:一些缓冲器允许VDD1和VDD2连接到不同的电压上
Figure 43. 使用缓冲器来分割总线电容
7.2.4 开关上拉电路
电源电压 (VDD) 和最大输出低电平决定了上拉电阻 RP (参阅 Section 7.1)。例如,当电源电压 VDD = 5 V ± 10 % 且 3 mA工作电流 VOL(max) = 0.4 V 时, RP(min) = (5.5 - 0.4) / 0.003 = 1.7 kΩ。如 Figure 42 所示,RP 值将最大总线电容限制在约 200 pF,以满足300 ns的最大tr 要求。如果总线电容大约此值,则可以使用开关上拉电路(如 Figure 44 所示)。
Figure 44. 开关上拉电路
Figure 44 中的开关上拉电路适用于 VDD = 5 V ± 10 % 的电源电压和400 pF的最大容性负载。由于它由总线电平控制,因此不需要额外的开关控制信号。在上升沿/下降沿期间,HCT4066 中的双边开关在 0.8 V 至 2.0 V 的总线电平下切换上拉电阻 RP2 开关。组合电阻RP1和 RP2 可在 300 ns 的最大指定上升时间 (tr) 内拉起总线线路。
串联电阻 RS 是可选的。它们可保护 I2C 总线器件的 I/O 级免受总线线路上高压尖峰的影响,并最大限度地减少总线线路信号的串扰和下冲。 RS 的最大值由总线线路切换到低电平以关闭 RP2时该电阻上允许的最大压降决定。
此外,一些总线缓冲器包含积分上升时间加速器。还提供独立的上升时间加速器。
7.3 串联保护电阻器
如图 Figure 45所示,例如,300 Ω的串联电阻( RS) 可用于防止SDA和SCL线路上的高压尖峰 (例如,由电视显像管引起的闪烁)。 如果使用串联电阻,设计人员必须在计算 RP 和允许总线电容时添加额外的电阻。
Figure 45. 串联电阻器 ( RS) 用于防止高压尖峰
低电平所需的噪声裕量为 0.1VDD ,限制了 RS的最大值, RS(max) 作为 RP 的函数如 Figure 46所示。请注意,串联电阻会影响输出下降时间。
Figure 46. RS 最大值作为以电源电压为参数的 RP 值的函数
7.4 输入泄漏
每个输入/输出连接的最大高电平输入电流指定最大值为 10 μA。由于高电平所需的噪声裕量为 0.2VDD ,该输入电流限制了 RP的最大值。此限制取决于 VDD。总高电平输入电流如Figure 47所示为RP(max) 的函数。
Figure 47. 总高电平输入电流作为 RP 最大值的函数,以电源电压为参数
7.5 总线线路的布线模式
通常,必须选择布线,以便最大限度地减少总线之间的串扰和干扰。总线线路在高电平上最容易受到串扰和干扰的影响,因为上拉器件的阻抗相对较高。
如果 PCB 或带状电缆上的总线线长度超过 10 cm,并且包括 VDD 和 VSS 线,则接线模式应为:
SDA______________________________________
VDD______________________________________
VSS______________________________________
SCL______________________________________
如果只包括 VSS 线,则接线模式应为:
SDA______________________________________
VSS______________________________________
SCL______________________________________
这些接线模式还导致SDA和SCL线路具有相同的容性负载。如果使用具有 VSS 和/或 VDD 层的PCB,则可以省略VSS 和 VDD 线。
如果总线线路是双绞线,则每条总线线路都必须使用 VSS 回路进行双绞线。或者, SCL 线可以使用 VSS 回路进行扭曲,SDA 线可以通过 VDD 回路进行扭曲。在后一种情况下,必须使用电容器将 VDD 线与双绞线两端的 VSS 线去耦。
如果总线线路被屏蔽 (屏蔽连接到 VSS) 则干扰最小化。但是,屏蔽电缆必须在 SDA 和 SCL 线路之间具有低电容耦合,以最大限度地减少串扰。