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

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

3天内不再提示

I2C总线一定要接上拉电阻?上拉电阻阻值怎么确定?

h1654155971.8456 来源:CSDN技术社区 作者:CSDN技术社区 2021-06-21 10:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

I2C为什么要接上拉电阻?因为它是开漏输出。

1

为什么是开漏输出?

I2C协议支持多个主设备与多个从设备在一条总线上,如果不用开漏输出,而用推挽输出,会出现主设备之间短路的情况。

所以总线一般会使用开漏输出。

2

为什么要接上拉电阻?

接上拉电阻是因为I2C通信需要输出高电平的能力。一般开漏输出无法输出高电平,如果在漏极接上拉电阻,则可以进行电平转换。

I2C由两条总线SDA和SCL组成。连接到总线的器件的输出级必须是漏极开路,都通过上拉电阻连接到电源,这样才能够实现“线与”功能。

当总线空闲时,这两条线路都是高电平。

3

上拉电阻阻值怎么确定?

一般IO端口的驱动能力在2mA~4mA量级。

阻值不能过小

功耗问题。如果上拉阻值过小,VDD灌入端口的电流将较大,功耗会很大,导致端口输出的低电平值增大(I2C协议规定,端口输出低电平的最高允许值为0.4V)。

故通常上拉电阻应选取不低于1K的电阻(当VDD=3V时,灌入电流不超过3mA)。

阻值不能过大

速度问题。它取决于上拉电阻和线上电容形成的RC延时,RC延时越大,波形越偏离方波趋向于正弦波,数据读写正确的概率就越低,所以上拉电阻不能过大。

I2C总线上的负载电容不能超过400pF。当I2C总线上器件逐渐增多时,总线负载电容也相应增加。当总的负载电容大于400pF时,就不能可靠的工作。这也是I2C的局限性。

建议上拉电阻可选用1.5K,2.2K,4.7K。

4

I2C总线基本操作

根据I2C总线规范,总线空闲时两根线都必须为高。假设主设备A需要启动I2C,他需要在SCL高电平时,将SDA由高电平转换为低电平作为启动信号

主设备A在把SDA拉高后,它需要再检查一下SDA的电平。为什么? 因为线与,如果主设备A拉高SDA时,已经有其他主设备将SDA拉低了,由于 1 & 0 = 0 那么主设备A在检查SDA电平时, 会发现不是高电平,而是低电平。

说明其他主设备抢占总线的时间比它早,主设备A只能放弃占用总线。如果SDA是高电平,说明主设备A可以占用总线,然后主设备A将SDA拉低,开始通信。

因此,模拟I2C一定要将GPIO端口设置为开漏输出并加上拉电阻。

编辑:jq

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

    关注

    88

    文章

    5740

    浏览量

    178605
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1547

    浏览量

    130525
  • SDA
    SDA
    +关注

    关注

    0

    文章

    125

    浏览量

    29424

原文标题:I2C总线为什么要接上拉电阻?

文章出处:【微信号:eda365wx,微信公众号:EDA365电子论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EMMC电阻需要规律放置吗?

    般情况,电阻都是放在EMMC侧打孔连接,但是我的主控和EMMC不在同层,
    发表于 12-10 15:49

    基于CW32 MCU的I2C接口优化稳定读写EEPROM关键技术

    过低的频率导致通信错误。 电阻的选择与配置:探讨I2C总线
    发表于 12-03 07:29

    I2C的缺点介绍

    影响信号完整性并导致通信错误。电阻值的计算取决于总线电容、所需上升时间和电源电压等因素。 寻址限制: I2C 协议支持有限数量的唯
    发表于 11-27 06:10

    请问I2C和驱动能力怎么修改?

    我想关闭芯片内部I2C并调整引脚的驱动能力,软件怎么操作呢?
    发表于 08-11 06:54

    CYW5557x 的内部/下拉电阻值是多少?

    CYW5557x 的内部/下拉电阻值是多少? 我想知道的值是带引脚(GPIO_1 和 GPIO_12)的电阻值, 以及其他 GPIO
    发表于 07-17 07:03

    【技术说明】数字输出压力传感器的I2C通信

    介绍I2C总线个简单的,串行8位面向计算机总线有效的I2C(集成电路间)控制。It提供了良好的支持不同电路板距离之间的通信,例如与各种低
    的头像 发表于 06-19 11:02 1541次阅读
    【技术说明】数字输出压力传感器的<b class='flag-5'>I2C</b>通信

    电路设计基础:电阻、下拉电阻分析

    电阻、下拉电阻在电子元器件间中,并不存在上电阻和下拉
    的头像 发表于 05-22 11:45 1635次阅读
    电路设计基础:<b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>电阻</b>、下拉<b class='flag-5'>电阻</b>分析

    次性说清电阻和下拉电阻

    在电子元件领域,电阻与下拉电阻并非独立的物理实体,而是依据电阻在不同电路场景中的功能定义。它们的本质仍是普通
    的头像 发表于 04-03 19:34 1466次阅读
    <b class='flag-5'>一</b>次性说清<b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>电阻</b>和下拉<b class='flag-5'>电阻</b>

    STM32F413ZGT6的NRST需要接上电阻吗?

    STM32F413ZGT6在使用的过程中经常复位,现在NRST只是接了100nf的电容,是否要接上电阻。已知芯片内部有弱,典型值40K
    发表于 03-12 08:27

    在DLPC3430不与主控通信的情况下,主控的I2C总线会被低,为什么?

    ,主控的I2C总线会被低。 我们做了个对比测试,将DLPC3430与主控断开连接,此时主控的I2C
    发表于 02-18 06:28

    电阻阻值怎么选择

    在电子电路设计中,电阻种常用的元件,它的阻值选择至关重要,需要综合考虑多个因素来确定合适
    的头像 发表于 02-05 17:25 1345次阅读

    I2C总线通信原理 如何设计I2C总线电路

    I2C总线通信原理 I2C(Inter-Integrated Circuit)总线种用于集成电路之间进行通信的串行通信协议。它最早由飞利
    的头像 发表于 01-31 15:01 1911次阅读

    如何选择I2C总线电阻

    I2C总线种广泛使用的串行通信协议,它允许多个设备通过两条线(数据线SDA和时钟线SCL)进行通信。为了确保数据信号的稳定性和减少反射,I2C
    的头像 发表于 01-17 15:43 1127次阅读

    I2C总线应用实例分析

    I2C总线使用两条线进行通信:数据线(SDA)和时钟线(SCL)。这种双线制设计使得I2C总线能够在多个设备之间共享,而不需要为每个设备单独布线。 应用实例:温湿度传感器 假设我们正
    的头像 发表于 01-17 15:09 1267次阅读

    I2C总线电阻阻值如何确定

    导读I2C总线在产品设计中被广泛应用,尽管其结构简单,但经常发生电阻设计不合理的问题。本文将对I2C
    的头像 发表于 12-27 11:34 2426次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b>上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b><b class='flag-5'>阻值</b>如何<b class='flag-5'>确定</b>?