2019-03-23 17:28发布
dontium 发表于 2017-9-25 21:53 这电路是在哪儿找的? 这个是电平匹配用,可不是扩展电流的。 IIC设备本来就是低速的。使用负载电阻越 ...
yang_alex 发表于 2017-9-26 09:34 这两个上拉电阻不仅仅是电平匹配! 要真正了解为什么需要这两个电阻的原因,首先要了解这SDA和SCL两个端 ...
最多设置5个标签!
第二个图是淘宝模块的电路图。谢谢建议,那我就用我自己的方案好了
这两个上拉电阻不仅仅是电平匹配!
要真正了解为什么需要这两个电阻的原因,首先要了解这SDA和SCL两个端口的内部电路。
下面这张图就很好的说明了,原来这两个端口内部是OD门(开漏门)。
而这个OD门的主要作用是防止I2C总线冲突。其机理是这样的:
I2C总线是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输,就有可能出现总线冲突。SDA 和 SCL 都是双向线路,都通过一个上拉电阻连接到电源VCC。 当总线空闲时这两条线路都是高电平。连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。主机只能在总线空闲的时侯启动传输,当 SCL 线是高电平时,仲裁在 SDA 线发生。 这样, 在其他主机发送低电平时, 发送高电平的主机将断开它的数据输出级因为总线上的电平与它自己的电平不相同。
此外,即使在一主多从的系统中,由于SDA 是大家一起使用的,所以当一个设备(或器件)不用的时候,把它固定成0或1都必将导致总线冲突,同时自己在通讯时还要检测总线是否被占用,所以线与功能的OD门是一个很好的选择。
由于OD门具有线与功能,所以不同电压的器件(或器件),也可以连接在一起,从而实现电平匹配的功能。但是需要做一定处理。
最后,上拉电阻的选择涉及两个问题,其一是总线的传输速度,其次是总线上设备(或器件)的数量。
I2C总线支持低速模式100kbit/s 、快速模式400kbit/s 和高速模式3.4Mbit/s ,
下图是快速模式下电阻取值图
最后,给大家一份资料吧,使用I2C总线,总线协议总是要看一看的。
大神,幸苦了谢谢!!我好好研究下
一周热门 更多>