时钟树配置错误
I2C总线挂载设备过多或电容负载过大,会导致信号上升/下降时间变慢,引发时钟抖动。
增加静态电流,可能引发总线噪音增大,甚至导致信号抖动。
若使用外部晶振作为时钟源,其频率稳定性可能受温度、电源噪声影响,导致SCL周期波动。
若上拉电阻与抗干扰电容(如0.1μF)组成低通滤波器,会滤除高频信号,导致SCL频率异常。
减少I2C总线上的设备数量,或者使用I2C总线缓冲器。
长距离走线、未端接或共模干扰可能导致信号反射和噪声。
减少总线电容
在软件模拟I2C的定时器中断中添加时间戳
缩短时钟走线长度,避免交叉和过多弯曲,控制阻抗匹配以减少反射和串扰。
如果I2C总线上的设备过多,或者总线长度过长,可能会导致总线电容过大,从而影响信号的上升时间。这也会导致时钟周期的抖动。
电源噪声或电磁干扰也可能导致时钟周期的抖动。
尝试将上拉电阻从10kΩ降至4.7kΩ,观察SCL上升时间是否缩短,周期抖动是否减小。
I2C 总线布线过长、未进行屏蔽处理,或者与高频信号线并行走线,会受到电磁干扰
大电容会引起延迟,波形扭曲,降低转换速度。
减小拉升电阻一半,观察电路性能变化,看是否改善电流控制或信号灵敏度。
数据持续慢,可能是传感器或电路问题。
I2C 传输速率要求选择合适的上拉电阻阻值
布线可能引起干扰,检查连接和布局,避免相邻线束干扰。
上拉电阻问题