I2C起始信号建立时间(tSU;STA)是协议中确保起始条件被正确识别的关键时序参数。以下从定义、参数规范、模式差异及设计要点进行详述:
一、起始信号的定义与时序要求
起始信号的定义
I2C起始信号(START Condition)指在SCL为高电平期间,SDA线从高电平跳变至低电平的过程,标志总线进入通信状态:
由主设备发起,用于初始化数据传输。
总线需先处于空闲状态(SCL和SDA均为高电平)。
起始信号建立时间(tSU;STA)的作用
定义:SCL为高电平时,SDA从高电平跳变至低电平前需保持高电平的最短时间。
意义:确保从设备有足够时间检测起始信号,避免误判为数据变化。
二、起始信号建立时间的参数规范
不同I2C模式下的tSU;STA最小值如下表所示:
工作模式 | t<sub>SU;STA</sub>最小值 |
---|---|
标准模式(100 kHz) | 4.7 μs |
快速模式(400 kHz) | 0.6 μs(部分文档为4.7 μs) |
高速模式(>400 kHz) | 260 ns(超高速模式) |
关键说明:
标准模式:tSU;STA至少需 4.7 μs。例如,STM32F103实现中需在SCL拉高后延时4.7 μs再拉低SDA。
快速模式:NXP文档(Table 88)要求tSU;STA最小值为 0.6 μs,但其他资料(如I2C时序规范)仍沿用4.7 μs,设计时应以具体器件手册为准。
重复起始信号(Repeated START):
时序要求与初始START相同。
若未发送停止信号(STOP)直接发起新START,需满足相同建立时间。
三、不同模式对建立时间的影响机制
I2C模式升级通过缩短时序参数提高速率,但需平衡信号完整性:
电容与电阻负载
高速模式下总线电容(Cb)增大时,信号上升/下降时间(tr/tf)延长,需压缩tSU;STA。
例如,高速模式要求tr ≤ 120 ns,而标准模式允许tr ≤ 1000 ns。
模式兼容性设计
快速模式设备用于标准模式系统时,tSU;STA仍需满足 4.7 μs。
若设备支持时钟延展(Clock Stretching),需额外满足数据建立时间(tSU;DAT)约束。
四、设计验证与故障分析要点
测试要求
实际设计需预留 20%余量(如标准模式按5.64 μs设计)。
使用示波器测量SCL高电平到SDA下降沿的时间。
常见故障原因
建立时间过短:从设备无法识别起始信号,导致通信失败。
建立时间过长:在高速模式下可能违反总线空闲时间(tBUF)要求。
五、总结
I2C起始信号建立时间是协议可靠性的基础参数:
标准模式:固定为4.7 μs,由SCL高电平期间SDA保持高电平的最短时间定义。
高速模式:可降至0.26 μs,但需严格匹配总线负载与终端电阻。
设计建议:
优先参考具体器件手册(如NXP Table 88 、AMD Table 47 )。
混合模式系统需以低速设备时序为准。
验证时需结合数据建立时间(tSU;DAT)、保持时间(tHD;DAT)综合测试。