[其它] I2C总线中继器

[复制链接]
1010|1
 楼主| mattlincoln 发表于 2022-11-24 13:00 | 显示全部楼层 |阅读模式
本帖最后由 eltonchang2001 于 2022-11-24 14:00 编辑

之前读取bmp280的时候,遇到了一个问题,就是iic驱动不起来,可能是线的长度太长了。
后面找到这个答案,才知道原理如此。分享给大家。
I2C协议在标准模式下的总线电容不能超过400pF。那么当总线上挂接的device比较多,或者走线比较长的时候,总线负载电容就会超过400pF,这时候就可以使用I2C buffer/repeater 去中继, 它的作用是将总线电容平均分配,比如总线电容630PF,加上中继器之后,就可以分成两部分,比如一部分310pF,一部分320PF,这样就不会超过400pF。 TCA9803 是repeater,所以衡量I2C repeater的 标准不是能传输多长距离,而是要看总线电容是否超过协议规定,下面是I2C三种工作模式下能够允许的总线电容大小:
standard mode CL=400pF
Fast mode CL=400pF
Fast mode plus Cl=500pF
chenjun89 发表于 2022-12-3 17:57 来自手机 | 显示全部楼层
加个缓冲器就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

1626

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部