i2c的时序要求总结
I2C总线在不同速度模式下的时序要求,核心是确保数据在SCL(串行时钟线)高电平期间稳定。下表汇总了标准模式(Sm)、快速模式(Fm)、快速+模式(Fm+)和高速模式(Hs-mode)的主要时序参数。
I2C总线不同模式时序要求汇总
| 参数 | 符号 | 标准模式 (Sm) 100 kbps | 快速模式 (Fm) 400 kbps | 快速+模式 (Fm+) 1 Mbps | 高速模式 (Hs-mode) 3.4 Mbps | 单位 |
|---|---|---|---|---|---|---|
| SCL时钟频率 | fSCL | ≤100 | ≤400 | ≤1000 | ≤3400 | kHz |
| SCL低电平时间 | tLOW | ≥4.7 | ≥1.3 | ≥0.5 | ≥0.16 (Cb=100pF) | µs |
| SCL高电平时间 | tHIGH | ≥4.0 | ≥0.6 | ≥0.26 | ≥0.06 (Cb=100pF) | µs |
| 数据建立时间 | tSU;DAT | ≥250 | ≥100 | ≥50 | ≥10 | ns |
| 数据保持时间 | tHD;DAT | ≥0 | ≥0 | ≥0 | ≥0 | ns |
| SDA/SCL上升时间 | tr | ≤1000 | ≤300 | ≤120 | ≤40 (Cb=100pF) | ns |
| SDA/SCL下降时间 | tf | ≤300 | ≤300 | ≤120 | ≤40 (Cb=100pF) | ns |
| 启动条件保持时间 | tHD;STA | ≥4.0 | ≥0.6 | ≥0.26 | ≥0.16 | µs |
| 启动条件建立时间 | tSU;STA | ≥4.7 | ≥0.6 | ≥0.26 | ≥0.16 | µs |
| 停止条件建立时间 | tSU;STO | ≥4.0 | ≥0.6 | ≥0.26 | ≥0.16 | µs |
| 总线空闲时间 | tBUF | ≥4.7 | ≥1.3 | ≥0.5 | - | µs |
| 总线电容负载 | Cb | ≤400 | ≤400 | ≤550 | ≤100 | pF |
注:高速模式(Hs-mode)的时序要求通常基于更小的总线电容负载(Cb=100pF)。当负载电容增大到400pF时,其最大时钟频率会降至1.7MHz。
解读关键时序参数
- 建立时间 (tSU;DAT):在SCL上升沿到来之前,SDA数据必须保持稳定的最短时间。
- 保持时间 (tHD;DAT):在SCL下降沿之后,SDA数据需要继续维持的最短时间。
- 上升/下降时间 (tr/tf):受总线上的上拉电阻和寄生电容影响。在快速和快速+模式下,下降时间与电源电压有关,典型值为
20 × (VDD / 5.5V)ns。
时序要求与硬件设计
理解这些时序要求,对硬件设计和软件配置至关重要:
- 上拉电阻选择:上拉电阻的阻值直接影响信号上升时间(
tr)。阻值过大,上升沿会变缓,可能违反最大tr要求;阻值过小,则功耗增加,且可能无法将总线拉低到有效的低电平。通常,快速+模式(1MHz)建议使用2.2kΩ上拉电阻。 - 时钟频率与电平时间:SCL的高、低电平持续时间(
tHIGH/tLOW)决定了时钟频率。例如,快速模式的tLOW最小为1.3µs,tHIGH最小为0.6µs,两者之和构成了SCL周期的最小值,从而限定了最高频率。 - 兼容性原则:一个快速模式的从设备可以在标准模式的总线上工作。反之,为了兼容性,高速模式的主设备在启动通信时,通常会先以快速或标准模式的速度发送一个“主设备编码( Master Code)”来通知从设备切换至高速模式。
- 总线电容:总线上的电容(来自导线、连接器和器件引脚)会限制通信速度。高速模式下要求更小的总线电容(如100pF),这意味着对PCB布局和线缆长度有更严格的要求。
如果你的设计涉及具体的MCU或传感器,建议查阅其数据手册中的“时序要求”章节,以获取最精确的电气特性参数。
浙公网安备 33010602011771号