找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8961|回复: 20
打印 上一主题 下一主题
收起左侧

关于I2C总线SCL和SDA上拉电阻的问题

  [复制链接]
跳转到指定楼层
楼主
ID:446775 发表于 2020-2-11 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么我在使用I2C总线时,SCL和SDA这两条总线加上上拉电阻和不加上拉电阻效果都一样呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-2-12 00:00 | 只看该作者
加上拉电阻更加可靠,特别是多个IIC总线器件并联时,不加上拉电阻有时可能出错误,你目前测试正确,不能说明100%的每一次正确
回复

使用道具 举报

板凳
ID:446775 发表于 2020-2-12 12:25 | 只看该作者
csmyldl 发表于 2020-2-12 00:00
加上拉电阻更加可靠,特别是多个IIC总线器件并联时,不加上拉电阻有时可能出错误,你目前测试正确,不能说明100 ...

嗯,我正准备再并联一个E2PROM,目前连接的只有一个ADC
回复

使用道具 举报

地板
ID:635223 发表于 2020-2-12 15:41 | 只看该作者
加上拉电阻信号的抗干扰性较好,一般正常情况下使用上看不出什么区别,i2c对信号质量要求不高,我实际测试过,用示波器抓了scl和sda的波形,即使不是方波(斜率很大),也可以正常通讯。
回复

使用道具 举报

5#
ID:272919 发表于 2020-2-12 16:14 | 只看该作者
楼主多挂两个设备就知道了
回复

使用道具 举报

6#
ID:658700 发表于 2020-2-12 17:25 | 只看该作者
信号斜率很大也可以,i2c比较抗干扰,当然加上之后出错率会大大降低
回复

使用道具 举报

7#
ID:511890 发表于 2020-2-13 04:25 | 只看该作者
这个如果有看单片机说明文档的话就很好理解。一般单片机各数据引脚自身产生电压时电流非常小,而I2C有时候会挂载多个芯片,每个芯片/元器件虽然耗电很少,多个的话也会把本来就小的电流给耗掉,这就会产生失真,导致通讯错误。因此要一个上拉电阻来保证高电平时的信号准确性。
回复

使用道具 举报

8#
ID:679425 发表于 2020-2-13 11:40 | 只看该作者
加上拉电阻信号的抗干扰性较好
回复

使用道具 举报

9#
ID:446775 发表于 2020-8-4 12:43 | 只看该作者
幻剑心 发表于 2020-2-13 04:25
这个如果有看单片机说明文档的话就很好理解。一般单片机各数据引脚自身产生电压时电流非常小,而I2C有时候 ...

好的,我明白了
回复

使用道具 举报

10#
ID:811185 发表于 2020-8-4 14:20 | 只看该作者
一般模块规格书和电路中都有说明
回复

使用道具 举报

11#
ID:446775 发表于 2020-10-26 09:24 | 只看该作者
yuanyuantou 发表于 2020-8-4 14:20
一般模块规格书和电路中都有说明

好的,我多实验一下看看效果
回复

使用道具 举报

12#
ID:401564 发表于 2020-10-26 14:22 | 只看该作者
如果是STC的单片机,时钟是不需要上拉电阻的,可以把SCL端口设定为强推挽模式就可以了
SDA最好是要有,能正常工作只是运气好而已,
回复

使用道具 举报

13#
ID:446775 发表于 2020-10-26 22:35 | 只看该作者
Y_G_G 发表于 2020-10-26 14:22
如果是STC的单片机,时钟是不需要上拉电阻的,可以把SCL端口设定为强推挽模式就可以了
SDA最好是要有,能正常 ...

嗯嗯,受教了
回复

使用道具 举报

14#
ID:420836 发表于 2020-10-27 07:39 | 只看该作者
上拉电阻可能已经包含在I2C总线的另一侧。
回复

使用道具 举报

15#
ID:143767 发表于 2020-10-27 17:40 | 只看该作者
沙发是正解
回复

使用道具 举报

16#
ID:828160 发表于 2020-10-27 21:22 | 只看该作者
因为主机或从机已有上拉电阻,你把主机和从机都设置为开漏,不带上电阻试试
回复

使用道具 举报

17#
ID:446775 发表于 2020-10-27 22:05 | 只看该作者
单片机研究协会 发表于 2020-10-27 21:22
因为主机或从机已有上拉电阻,你把主机和从机都设置为开漏,不带上电阻试试

是的,我这边使用的一个I2C设备上已经有上拉电阻,一开始没有注意
回复

使用道具 举报

18#
ID:245053 发表于 2020-10-28 10:44 | 只看该作者
什么看干扰强啊,IIC的SDA是开漏输出,在电路设计时必须上拉电阻(一般是10K)才能正常工作,否则电平不确定通信受影响
回复

使用道具 举报

19#
ID:446775 发表于 2020-10-28 14:44 | 只看该作者
pcf2000 发表于 2020-10-28 10:44
什么看干扰强啊,IIC的SDA是开漏输出,在电路设计时必须上拉电阻(一般是10K)才能正常工作,否则电平不确定 ...

是的,确实是必须加上拉电阻才能正常工作
回复

使用道具 举报

20#
ID:839689 发表于 2020-11-6 11:06 | 只看该作者
为了加大IO的驱动能力,增大抗干扰能力和稳定性的,减低错码率,一次两次不错不代表一直不会出错,多组I2C、或者速率更高时就可能容易出错,加上拉会有一定保障
回复

使用道具 举报

21#
ID:446775 发表于 2020-11-6 16:22 | 只看该作者
1683296611 发表于 2020-11-6 11:06
为了加大IO的驱动能力,增大抗干扰能力和稳定性的,减低错码率,一次两次不错不代表一直不会出错,多组I2C ...

如果多组I2C的话,那么每个I2C器件都要加吗?还是说这些I2C器件共用上拉电阻?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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