一个判断 I2C 总线通信异常原因的方法
参考链接
至于如何在i2c总线中如何使用还没有弄明白。后续再看。
使用方法记录
阻值分配
图中的倍数关系很重要。
注意上图中低电平分压为三分之一
上图中低电平分压为十一分之一
总结:
① 需要使用示波器查看,不能使用逻辑分析仪。
② 从机和主机的差别再低电平电压不同。
③ 如果从机没有回复则没有那个1/3电压的存在。
④ 必须是主机边串联的电阻阻值较小。否则从机收到的低电平电压太高不无法判断为有效信号。
⑤ 图中的10R是倍数关系,不是10Ω电阻。(实际使用可以考虑4.7K和470Ω的组合进行使用用)
实际使用电阻使用ttl的0.8v下限计算所得的电路如下图(图中不再是1/3 和1/11 )
从器件时24% 主器件时12% 当然此组阻值是在3.3v供电条件下的阻值分布方案。(从理论:如果都正确的化下面的电路时可以正常通信的) 而此组阻值都是常见阻值电阻比较容易获得。
计算表格如上图。
补充使用记录
STM32F4xxx的I2C总线挂起异常处理
I2C死锁及恢复方法
参考链接
I2C从机挂死分析和解决方法 - 简书 (jianshu.com)https://www.jianshu.com/p/95f53ca2724e
特此记录
anlog
2023年7月11日