0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么要在IIC信号线上加上拉电阻

硬件攻城狮 来源:CSDN-小鱼教你模数电 2023-12-25 13:41 次阅读

IIC 是一个两线串行通信总线,包含一个 SCL 信号SDA 信号,SCL 是时钟信号,从主设备发出,SDA 是数据信号,是一个双向的,设备发送数据和接收数据都是通过 SDA 信号。

24cc7c40-a2d8-11ee-8b88-92fbcf53809c.png

在设计 IIC 信号电路的时候我们会在 SCL 和 SDA 上加一个上拉电阻

24dc1e52-a2d8-11ee-8b88-92fbcf53809c.png

今天就来分享下,为什么要在 IIC 信号线上加上拉电阻。

主要原因就是 IIC 芯片的 SDA 和 SCL 的引脚是开漏输出,就是只有一个 NMOS 管,不像推挽输出有两个 MOS 管。

24e3876e-a2d8-11ee-8b88-92fbcf53809c.png

当芯片 SDA 和 SCL 的引脚输出 MOS 管导通,IIC 信号线电平为低电平。

24e8e222-a2d8-11ee-8b88-92fbcf53809c.png

当芯片 SDA 和 SCL 的引脚输出 MOS 管关闭,如果没有上拉电阻,IIC 信号线是处于一个高阻状态,电平是未知的,开漏输出是没有高电平的输出能力的。

24fa7c58-a2d8-11ee-8b88-92fbcf53809c.png

所以加上上拉电阻后,当芯片 SDA 和 SCL 的引脚输出 MOS 管关闭,IIC 信号线上的电平就是一个确切的高电平。

250634b2-a2d8-11ee-8b88-92fbcf53809c.png

当多个 IIC 设备通过 IIC 总线接在一起,这就要求 IIC 设备间可以实现线与,而芯片的 IIC 引脚是开漏输出的话就能很好的实现这个线与。只要有一个 IIC 设备的引脚电平是低电平,那么相应的 SCL 或 SDA 总线也会成为一个低电平。如果 IIC 设备引脚为推挽输出,多个 IIC 设备接在一条总线上很容易烧坏芯片。

251a1c16-a2d8-11ee-8b88-92fbcf53809c.png

IIC 上拉电阻的取值

IIC 信号的上拉电阻阻值不能太大,因为 IIC 芯片 SCL 和 SDA 引脚都存在寄生电容,同时 SDA 和 SCL 信号的走线也会有寄生电容,整个 IIC 总线上相当于接了一个负载电容 Cl

253839e4-a2d8-11ee-8b88-92fbcf53809c.png

上拉电阻过大,IIC 总线高电平的驱动能力差,总线电平从 0 到 1 变化时,等效为这个 RC 的充电电路,上拉电阻越大,波形上升沿会变缓,一定程度会影响 IIC 的时序,可能会出现误码。所以这个上拉电阻不能太大。

2540f264-a2d8-11ee-8b88-92fbcf53809c.png

IIC SDA 和 SCL 信号的上升时间和总线电容在不同的模式下有不同的要求,大家可以看下这个表。

2546e11a-a2d8-11ee-8b88-92fbcf53809c.png

IIC 总线信号上升时间可以根据公式 Tr=0.8473*R*Cl Cl 就是 IIC 总线的等效负载电容

IIC 信号上拉电阻也不能太小,如果太小了,当 IIC 引脚输出低电平时,灌进芯片 IIC 引脚的电流会变大,可能会使 IIC 信号线的低电平变大,同时 IO 口电流过大还可能烧坏芯片。

254e905e-a2d8-11ee-8b88-92fbcf53809c.png

我们一般要求,IIC 引脚低电平时,流过芯片 IIC 引脚的电流小于 3mA,所以如果是 3.3V 上拉的话,这个电阻就要 R>(3.3-VoL)l3KΩ=0.96KΩ ,其中 VoL 是 IIC 引脚为低电平时的最大电压,一般是 0.4V。再加上前面的这个公式我们就可以确定这个上拉电阻的取值范围。

2558696c-a2d8-11ee-8b88-92fbcf53809c.png

电源电压决定上拉电阻的最小值,总线负载电容决定上拉电阻的最大值。

IIC 信号上拉电阻取值常用的值就是 4.7K,一般小于 10K,大于 1K,如果 IIC 总线比较长,从设备比较多,可以适当降低电阻。

如果 IIC 总线接了很多 IIC 设备,是不是每个 IIC 设备都要加上拉电阻?

256201d4-a2d8-11ee-8b88-92fbcf53809c.png

答案是否定的,我们只要在 SDA 和 SCL 总线上合适的位置各加一个上拉电阻即可,如果每个设备都加上拉,相当于这些电阻是并联在一起了,减小了电阻值。至于上拉电阻的位置一般没有特别的要求。一般加在 IIC 的末端。

256aed12-a2d8-11ee-8b88-92fbcf53809c.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 上拉电阻
    +关注

    关注

    5

    文章

    359

    浏览量

    30611
  • 总线
    +关注

    关注

    10

    文章

    2878

    浏览量

    88055
  • IIC
    IIC
    +关注

    关注

    11

    文章

    300

    浏览量

    38313
  • 信号线
    +关注

    关注

    2

    文章

    171

    浏览量

    21463
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17057

原文标题:讲解 I2C 信号线为何加上拉电阻(图文并茂)

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么要在信号线上串接电阻

    电源DIY电子威廉希尔官方网站
    学习电子知识
    发布于 :2023年09月05日 22:27:32

    SD卡的时钟线为什么可以不加上电阻呢?是因为时钟永远是输出信号吗?为什么输出信号就可以不加上电阻

    SD卡的时钟线为什么可以不加上电阻呢?是因为时钟永远是输出信号吗?为什么输出信号就可以不加上
    发表于 11-18 16:54

    PCA9685芯片的模拟的IIC需要加上电阻吗?

    pca9685用的是IIC通讯,如果用的是模拟的IIC,需要加上电阻吗?
    发表于 10-18 06:59

    关于单片机加上电阻的详细解释

    51单片机的时候对P0口必须加上电阻,否则P0就是高阻态,对这个问题可能感到疑惑,为什么是高阻态?加上
    的头像 发表于 12-18 17:09 1.1w次阅读
    关于单片机<b class='flag-5'>加上</b>上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b>的详细解释

    iic通信协议是什么

    IIC协议是二线制,信号线包含SDA和SCL,且信号线是双向的,开路结构,需要通过上电阻到VCC,具体的
    发表于 09-13 16:01 2w次阅读
    <b class='flag-5'>iic</b>通信协议是什么

    集电极加上电阻的作用

    集电极开路输出端或者MOS管漏极输出端其性质都是一样的,这种电路在数字电路中都要加上电阻。比如在单片机P0口其内部驱动电路是MOS构成的,其结构就是一个漏极开路电路,其内部没有上
    的头像 发表于 09-28 07:00 9425次阅读

    一文让你读懂上电阻与下拉电阻

    (Pull Up )或下拉(Pull Down)电阻(两者统称为“电阻”)最基本的作用是:将状态不确定的信号线通过一个
    的头像 发表于 01-02 17:01 5558次阅读
    一文让你读懂上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b>与下拉<b class='flag-5'>电阻</b>

    电阻与下拉电阻的概念详解

    (Pull Up )或下拉(Pull Down)电阻(两者统称为“电阻”)最基本的作用是:将状态不确定的信号线通过一个
    的头像 发表于 02-20 14:20 9459次阅读
    上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b>与下拉<b class='flag-5'>电阻</b>的概念详解

    IIC笔记

    一些单片机型号内部设置上电阻,因此有些上能力够,可以不加上电阻,有些不够,主要看所使用的单
    发表于 01-14 14:16 6次下载
    <b class='flag-5'>IIC</b>上<b class='flag-5'>拉</b>笔记

    IC之间的信号线为什么要接一个小电阻

    在电路设计和PCB布线中,常常会在IC之间的信号线上接一个小电阻,这是为什么呢?这篇文章将从几个方面来分析这个问题。
    的头像 发表于 05-08 09:49 1708次阅读
    IC之间的<b class='flag-5'>信号线</b>为什么要接一个小<b class='flag-5'>电阻</b>?

    什么是上电阻?如何计算I2C上电阻的大小值

    电阻主要用于为信号线或GPIO引脚提供默认状态。通常选择几K或几十K阻值的电阻。阻值较大的电阻确保不会通过
    发表于 10-12 09:19 6440次阅读
    什么是上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b>?如何计算I2C上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b>的大小值

    信号线或电源线上串个小电阻干啥用的?

    信号线或电源线上串个小电阻干啥用的? 在电子电路设计和信号传输中,信号线或电源线上串联小
    的头像 发表于 11-23 10:00 2704次阅读

    信号线上串接电阻的作用及其对整个电路的影响

    信号线上串接电阻的作用及其对整个电路的影响 在电子电路设计中,信号线上串接电阻是一种常见的电路调节元件。它能够对电路的传输特性、噪声抑制和电流变化等方面产生影响。本文将详细探讨
    的头像 发表于 12-21 13:59 3086次阅读

    信号线上为什么要加铁氧体磁环

    信号线上为什么要加铁氧体磁环  在电子设备中,信号线的干扰和噪声问题一直是一个挑战。为了解决这些问题,信号线上常常使用铁氧体磁环,以提高信号的传输质量。在本文中,我们将详细介绍为什么
    的头像 发表于 12-21 16:34 1246次阅读

    IIC信号线需要增加上电阻,是因为IIC的IO是什么

    IIC(Inter-Integrated Circuit,即集成电路总线)信号线需要增加上电阻,这主要是因为
    的头像 发表于 10-06 15:50 655次阅读