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

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

3天内不再提示

I2C总线—电平转换

冬至子 来源:EDA365电子论坛 作者:John版主 2023-11-02 12:32 次阅读

我们先来看一张图,熟悉I2C的人一看,这不是I2C的level shifter电路嘛,在Philip的I2C标准里面有,没有啥复杂的。

图片

我们先来解读下这张图,I2C的level shifter是通过NMOS管来实现的,有人可能会问,为什么不用PMOS呢?一般情况下,只有在外部电源输入端,我们设计INRUSH电流缓启动或者防反插电路的时候才会用到PMOS。

理由很简单, PMOS是低电平打开,电源插入瞬间系统其实还没有用于打开MOSFET的高电平,所以只能选择PMOS, 而NMOS体积小,RDSON低,在系统内部会更多选择NMOS。

我们来举个PMOS的用例:

图片

言归正传,我们来继续讨论I2C问题。首先我们要牢牢记住,I2C是Open-drain,所以level shifter电路的两边都是上拉电阻Rp的,下面讲下这个电路是怎么工作的。

下图是两张I2C的基本操作时序图,分别是Master对Slave所做的读和写:

图片

图片

我们可以看到, SDA一定是双向的,既然是双向的,那么就有四种情况,我们来一一解释level shifter是怎么来cover它们的。(注意:这里面会含有一个Facebook的问题,不要忘记自测哦。)

01

第一步,Master往Slave发数据1

图片

**1) **左边MasterSDA_1为输出,驱H-3.3V,NMOS的VGS=0, 此时NMOS关闭;

**2) **右边的Slave的SDA_2是输入,对外呈现高阻;

**3) **NMOS关断和SLAVE为输入,导致SDA_2悬空;

**4) **最终SDA_2依靠RP2上拉到5V,完成3.3V到5V的转换。

02

第二步,Master往Slave发数据0

图片

1) 左边MasterSDA_1为输出,驱Low=0,NMOS的VGS>0, 此时NMOS打开;

**2) **右边的Slave的SDA_2是输入,对外呈现高阻;

3) NMOS打开和SLAVE为输入,导致SDA_2=SDA_1=0;

**4) **最终SDA_2被SDA_1拉到0,完成低电平的转换。

03

第三步,Slave往Master发数据1

图片

1) 右边Slave SDA_2为输出,驱H-5V;

**2) **左边Master SDA_1为输入,对外高阻, 被RP1上拉到3.3V;

**3) **NMOS 因为VGS=0一直关闭;

**4) **NMOS关闭,Master SDA_1维持3.3V高电平,完成电平转换。

04

第三步,Slave往Master发数据0

图片

**1) **右边Slave SDA_2为输出,驱LOW;

**2) **左边Master SDA_1为输入,对外高阻, 被RP1上拉到3.3V;

**3) **NMOS 因为VGS=0一直关闭;

**4) **NMOS关闭,Master SDA_1为3.3V高电平。

问题来了,我们看到右边的SDA_2位Low,但是左边的是SDA_1位High,那不是失败了嘛,不可能啊,这个电路是好的啊。

我们来看看下一步会发生什么,其实这个问题没有那么难,仔细看看这张图,还是比较容易发现线索的。

我们来揭晓答案: 大家看看上图的NMOS下面多了一个二极管,我们把这个二极管叫做Body Diode,它会在这个时候发挥作用。

**5) **由于左边SDA_1为高,右边SDA_2为LOW, Body Diode导通;

**6) **SDA_1被拉低,导致NMOS VGS>0 后打开;

**7) **NOMO打开后,SDA_1和SDA_2相当于短在一起;

**8) **最终左边SDA_1被右边的SDA_2拉低变为LOW。

我们看到由于体二极管的作用,打开NMOS管,使得右边Slave输出的L=0顺利到达左边的Master SDA_1输入端。

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

    关注

    5

    文章

    345

    浏览量

    30258
  • 电平转换
    +关注

    关注

    3

    文章

    99

    浏览量

    33646
  • I2C总线
    +关注

    关注

    8

    文章

    357

    浏览量

    60408
  • PMOS
    +关注

    关注

    4

    文章

    227

    浏览量

    28718
  • SDA
    SDA
    +关注

    关注

    0

    文章

    122

    浏览量

    27554
收藏 人收藏

    评论

    相关推荐

    I2C总线电平转换芯片在安防产品的应用

    所谓电平转换芯片就是能连接两个不同供电电压的IC或是模块,解决这些IC或是模块的系统供电问题,使这些IC或模块能正常通信。##UM3212是一款支持I2C总线和SMBUS的自动双向,带
    发表于 05-20 11:37 1.5w次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b><b class='flag-5'>电平</b><b class='flag-5'>转换</b>芯片在安防产品的应用

    i2c总线协议pdf

    ................................................... 3518 F/S 模式I2C 总线系统的双向电平转换
    发表于 08-13 17:16

    i2c总线规范

    增加到3.4Mbit/s Hs 模式的器件可以和I2C 总线系统中快速和标准模式器件混合使用位速率从0~3.4Mbit/s? 电源电压是2V 或更低的器件的低输出电平和滞后被调整到符合
    发表于 08-13 17:18

    I2C规范,I2C总线原理

    ................................................... 3518 F/S 模式I2C 总线系统的双向电平转换
    发表于 04-09 18:34

    I2C总线协议详解

    个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。I2C总线应用 目前有很多半导体集成电路上都集成
    发表于 02-01 09:56

    浅谈I2C总线

    一个上拉电阻接到正电源,因此在不使用的时候扔保持高电平。使用 I2C 总线进行通信的设备驱动这两根线变为低电平,在不使用的时候就让它们保持高电平
    发表于 11-30 11:50

    如何驱动I2C总线

    KC705用户指南,IIC_MUX_RESET_B在低电平时有效,因此我必须将其驱动为高电平以启用FPGA U1与I2C总线上其他组件之间的I2C
    发表于 09-20 07:25

    I2C总线是什么

    I2C总线I2C总线(读做“IC”或“I2C
    发表于 07-21 09:03

    怎样去设计一个不同电源系统下I2C总线电平转换电路

    硬件设计:接口--不同电源系统下I2C总线电平转换电路(电桥)设计参考资料:I2C总线3.3V与
    发表于 12-31 08:33

    I2C总线简析

    在硬件上,I2C 总线是由时钟总线 SCL 和数据总线 SDA 两条线构成,连接到总线上的所有器件的 SCL 都连到一起,所有 SDA 都连
    发表于 01-07 06:03

    I2C总线的原理是什么

    SDA,另外一根时钟线SCL,接上拉电阻,总线空闲为高电平。只要有低电平总线就会被拉低电平。主机通过I
    发表于 01-18 07:36

    I2C总线的学习资料分享

    数据线,为OD门,与其它任意数量的OD与OC门成\线与\关系。I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平(SDL=1;SCL=1)。连到
    发表于 01-19 08:05

    电平转换I2C总线中的应用(英)

    电平转换I2C总线中的应用(英)
    发表于 07-23 16:16 29次下载

    mos管电平转换电路原理与mos电平转换电路分析

    会出现电压域不一致的情况,所以模块间的通讯就要使用电平转换电路了。 上图是用MOS管实现的I2C总线电平
    发表于 04-09 15:26 5.4w次阅读
    mos管<b class='flag-5'>电平</b><b class='flag-5'>转换</b>电路原理与mos<b class='flag-5'>电平</b><b class='flag-5'>转换</b>电路分析

    硬件设计:接口--不同电源系统下I2C总线电平转换电路(电桥)设计

    硬件设计:接口--不同电源系统下I2C总线电平转换电路(电桥)设计参考资料:I2C总线3.3V与
    发表于 01-11 12:54 8次下载
    硬件设计:接口--不同电源系统下<b class='flag-5'>I2C</b><b class='flag-5'>总线</b><b class='flag-5'>电平</b><b class='flag-5'>转换</b>电路(电桥)设计