找回密码
 注册
搜索
查看: 1228|回复: 7

[讨论] I2C 偶发失效问题,高手请进来

[复制链接]
发表于 2008-11-7 15:27:09 | 显示全部楼层 |阅读模式
I2C总线上面挂了5个设备,地址唯一。其中两个设备是通过线程查询I2C ,其他都是偶尔占用I2C。现在的现象是:I2C 偶发会失效,非常随机。如果用强度测试对I2C进行操作,一万次/小时,测了16小时,20小时,却测试不出来问题。请问各位高手,这会是什么原因导致?
发表于 2008-11-7 17:37:27 | 显示全部楼层
测量一下I2C总线上信号的上升沿,看是否满足I2C总线速率要求,不行的话将上拉电阻变小一点
点评回复

使用道具 举报

发表于 2008-11-7 22:06:16 | 显示全部楼层
同意2楼的说法。
上拉电阻大小回影响I2C的速率,每个I2C设备都相当于一个容性负载,I2C总线速率受上拉电阻和负载大小的影响;
另外,楼主说的I2C总线失效是什么意思?在每个设备的SCL和SDA上串联一个300ohm一下的电阻,都I2C设备有一定的保护作用。
点评回复

使用道具 举报

发表于 2008-11-10 19:55:02 | 显示全部楼层
建议先把现象重现了再说。把失效的现象找出来。我遇到过上拉电阻选择不对,出现ACK信号无响应,打印的信息看是没有应答信号。把上拉电阻改大或者增加一个对地的小电容就好了。不知道你说的失效是指什么?
点评回复

使用道具 举报

 楼主| 发表于 2008-11-10 20:32:14 | 显示全部楼层
失效指的是某个从设备无响应,无法再操作此设备,而其他设备是正常的,CPU可以正常读写。TR时间已经测试过,小于1微秒,是可以满足的。不过数据线上有一些毛刺,幅度较大,有1V多,但是时间持续为1uS,在时钟下降沿出现,不知道是否有影响。另外串连电阻有加,200欧姆左右,对地电容100PF.
点评回复

使用道具 举报

 楼主| 发表于 2008-11-10 20:35:27 | 显示全部楼层
毛刺是在下降沿之后出现,上升沿处是没有毛刺的
点评回复

使用道具 举报

发表于 2008-11-10 21:39:14 | 显示全部楼层
上一次的操作没有正常结束,在软件中加如查错机制,出错后复位后再读写。
点评回复

使用道具 举报

发表于 2008-11-12 13:13:07 | 显示全部楼层
失效还有一种可能,就是某个设备需要很大的驱动电流,而驱动无法满足要求。建议楼主在失效设备处再给两条I2C总线加上拉电阻(阻值可以跟原来的一样),看看是否还有失效的情况。
另外毛刺的问题可以考虑把100pf的电容改小一点试试。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-27 21:02 , Processed in 0.045367 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表