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

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

3天内不再提示

如何确定上拉的大小?I2C总线如何实现双向通信

电子设计 来源:ADI公司 作者:ADI公司 2021-02-24 14:25 次阅读

内部集成电路总线(I2C)是一种同步串行数据通信总线,是一种极为常见的协议,用于连接微控制器及其外围设备。这种在每一个工程师的设计中几乎都可能遇到的总线技术,却总是可能因为各种不经意的问题为大家的设计带来不大不小的挑战。比如,一般器件都提供开漏输出,表示它们只能稍微下拉,这在实现双向通信的同时也意味着需要上拉才能在总线上实现高电平状态。如何确定上拉的大小?这是设计人员常常会提出的一个问题。

在网上找到许多相关资料,但是最后发现,需要满足的所有电气规格都已在如下的表中列出。在确定应用计划的数据速率运行之后,查看规格表找到所需的上升时间即可。如果不知道总线的电容,可以估测一个值,例如每个器件30微微法拉,然后据此实施调节。但是上拉电流和总线上的总电容都存在限值,所以在设置电路之后,都会使用I2C包进行通信。每一个经验丰富的硬件设计工程师大概还能提出曾经遇到过的很多类似问题,这里不妨以几个工程师共性的问题提出来给出设计建议。

使用I2C包进行通信,如何降低功耗?

如果更详细地考虑I2C信号,一般会使用上拉电阻来获得高电平信号,可为上升沿选择电阻。但是,当信号处于低电平时,上拉电阻只是在消耗功率,那么如何降低这种功耗呢?

ADUM1250是ADI公司的一款I2C电气隔离器,这里来比较一下ADUM1250的发射端和上拉电阻,然后再与添加到电路中的LTC4311上升时间加速度计比较。如下图所示,将电路中的器件电源和总线电源分开,用不同电源供电就能够看出电源消耗在哪些地方。

下表是测试结果。有2K欧上拉电阻,上升时间表现不错,但是有2.6毫安电流流过上拉电阻。如何节省功耗?根据功率预算,将上拉电阻调整为10 K,但是这样的话,上升时间又会出现问题。可以假设已知RC,但是需要设定功率预算。所以,对上升时间加速。当RTA发现电压阈值中有上升沿且压摆率最低时,会注入电流,加快上升时间,但不会大幅上拉。这里需要注意的是,上升时间时在需要的范围内。

再来看看RTA消耗多少电流。LTC4311与上拉电阻连接至同一电源,可以看到,消耗的电流比2K上拉时低得多。真正有利的是,RTA在剩余的波形内都保持闲置。LTC4311仅消耗约25微安电流,所以能够使用更弱一些的上拉电阻,但仍然让上升时间满足所需的I2C规格。这使得LTC4311成为一种非常有趣的器件,能够添加至移动应用或电池供电的应用中。

除此以外,还能给RTA电路带来另一项优势。要求开漏装置同步的电流越多,总线上的低电平越高,这是因为开漏两端存在压降。所以,当低电平升高,噪声裕量会越低。因此,RTA电路有助于降低开漏输出两端的压降,并保持低电平。在电源电压很低时,这尤其有用。LTC4311可以支持最低1.8V总线电线,所以上述电路中的RTA有助于满足所需的上升时间,后者会消耗电源,使VOL保持低电平。

LTC4311是一款双通道I2C有源上拉加速器,专为在远远超过400pF I2C规格限值的总线负载条件下提升数据传输速度和可靠性而设计。多个器件连接到同一总线的系统可能呈现远高于400pF I2C性能规格的大总线电容。容性加载引起较慢的上升时间,这可能影响数据可靠性并指定总线的实际最高速度。通过在总线上升跃变时采用升高的上拉电流,同时在下降跃变和逻辑低与逻辑高时禁止电流源以改善低态噪声容限,LTC4311减轻了这些问题。

总线缓冲器,解决不中断加入有源I2C总线等问题

下图这个系统具有背板,可能是服务器或者其他,上面插有很多卡。对于低速通信,I2C非常适用于与这些卡通信。但对于采用这种结构的总线需要调节上拉电阻,以获得固定电容。 如果没有固定数量的卡会怎样?或者,如果拔出一张卡,然后使用具有不同电气特性的卡进行替代,又会怎样?可以通过设计来分配一些上拉电阻,但是在可以同步多少电流量方面,仍然存在限制。所以,可以估测每个器件给总线增加30微微法拉。如果在卡终端添加连接器,那么背板或卡上的线路会很长,电容预算很快就会用完,所以建议在卡终端添加总线缓冲器,这些总线缓冲器会将电容隔离到各个分段。

如果在应用中,卡是在I2C总线处于激活状态时插入,那么应该以适当的方式插入。所以基本上,我们希望尽可能减少造成数据混乱或数据丢失,甚至导致总线锁定的机率。许多总线缓冲器都有一个预充电功能。所以在总线连接之前,它可以让总线引脚的电压升高到约1V,相当于200Ω的串联电阻。此举的作用是,在新总线分段进行机械接触时,1V预充电会尽量减少对信号的干扰。

此外,如果不希望在总线缓冲器或总线分段未上电时,产生电气干扰,也不想给总线电压轨馈电。总线缓冲器可以解决这些问题。I2C总线缓冲器的输出级是末端通道开漏下拉电阻,它们的栅极接地,直到满足一系列启动条件。所以在上电时不允许电压反馈,且缓冲器远端的电容从不可见。

总线缓冲器是一种常见的系统结构,LTC4330是ADI总线缓冲器系列中的最新产品,它会隔离总线电容,采用RTA,会断开和恢复卡塞总线,进行预充电,但仍然采用3x3毫米封装。该产品的运行温度最高可以达到125℃,余下的总线缓冲器的最高运行温度为85℃。其他总线缓冲器支持400KHz,LTC4330最高支持1MHz总线,还为第三个通道提供双向支持,所以这对于PM总线通信非常有用。

另外,总线缓冲器具有VOL偏移。但LTC4330没有采用VOL偏移,其两端都是固定的VOL电平。所以,如果应用以串行方式使用缓冲器,LTC4330的表现会很出色,因为设计师无需担心VOL偏移累计问题。此外,LTC4330还提供极为可靠的系统级ESD保护,这是一个非常有用的功能,尤其当缓冲器位于卡终端上时,不仅可以让总线缓冲器实施逻辑电平转换,还可以实施接地电平转换。

LTC4330虽然不是电气隔离器,但是可以用在只需偏移基准电压源电平的应用中。有时候,隔离器会起到这个作用。就像48V系统一样,它可以偏移基准电压源电平,并在两端之间通信,而且,如果这些接地相对于彼此移动,那么LTC4330也具备非常出色的CMCI性能。

±150V I2C总线缓冲器的典型应用:-48V基准电压源电平偏移,并提供第三个通道支持

如何控制I2C上的流量?

总线缓冲多路复用器不仅可以将总线电容隔离到各个分段,如果需要还能以不同的电压电平操作总线分段。对于要求I2C总线扇出且ATI的I2C总线缓冲器盒包含2个和4个通道的应用,它们表现会十分出色。另一个有用的功能是,有时I2C器件采用固定的硬连接地址,但是需要更多这种器件时,数量超过可用地址的数量,这时可以使用多路复用器来获取冗余地址,这意味着,设计师可以控制信息发送到总线的哪个分段。可以采用不同的方法来控制I2C流量,例如LTC4305和LTC4306,或者用具有控制线路的其他器件,例如LTC4312和LTC4314,利用多路复用器和控制线路,它们可以实施转换。

使用多路复用器来控制I2C上的流量,使用总线缓冲器也可以实现同样的效果。但是通过使用地址转换器,无需花费成本来开关流量,也无需使用控制引脚或任何额外的I2C命令。或者使用LTC4316之类的器件来修改7位地址通信。所以,当使用采用复用地址的从机时,从主机角度它们是唯一的。

总结

ADI公司的I2C解决方案系列支持热插拔、双线式双向总线缓冲器,可将I/O卡插入带电背板中,而不会损坏数据和时钟总线。I2C加速度计可改善总线转换特性,支持多个器件连接或更长、更多容性互连,而不影响压摆率或总线性能。另外,ADI的软件可编程和引脚可选I2C多路复用器有助于解决I2C地址限制,增加扇入或扇出能力,并为一体化解决方案集成总线缓冲器和上升时间加速度计。电阻可配置I2C地址转换器可配置超过100个独特的从机地址,使多个具有相同地址的从器件可在同一总线上共存。
编辑:hfy

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

    关注

    48

    文章

    7423

    浏览量

    150788
  • 集成电路
    +关注

    关注

    5374

    文章

    11290

    浏览量

    360202
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1473

    浏览量

    122973
  • 多路复用器
    +关注

    关注

    9

    文章

    868

    浏览量

    65263
  • 电气隔离器
    +关注

    关注

    0

    文章

    42

    浏览量

    5566
收藏 人收藏

    评论

    相关推荐

    I2C协议的基础知识

    本文从I2C协议的概述开始,描述协议的历史、不同速度模式、物理层和数据帧结构,最后介绍I2C混合电压系统中电平兼容性以及电阻大小计算。
    的头像 发表于 10-22 15:51 169次阅读
    <b class='flag-5'>I2C</b>协议的基础知识

    详解I2C总线与SPI总线的区别

    I2C(Inter-Integrated Circuit)表示集成电路互连,是一种用于线路板内部芯片之间通信总线
    的头像 发表于 10-16 15:16 1238次阅读
    详解<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>与SPI<b class='flag-5'>总线</b>的区别

    了解I2C总线

    电子发烧友网站提供《了解I2C总线.pdf》资料免费下载
    发表于 10-08 11:13 1次下载
    了解<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>

    I2C总线电阻计算

    电子发烧友网站提供《I2C总线电阻计算.pdf》资料免费下载
    发表于 10-08 09:54 1次下载
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b>上<b class='flag-5'>拉</b>电阻计算

    I2C总线电阻的必要性

    数据线加上电阻。这一设计不仅关乎技术的实现,更涉及系统安全和信号传输效率的优化。本文将深入探讨在I2C总线上加上电阻的必要性及其带来的技
    的头像 发表于 09-09 17:16 590次阅读

    简单认识I2C通信协议

    I2C(Inter-Integrated Circuit)通信协议是由飞利浦公司(现为恩智浦半导体)开发的一种简单、双向二线制同步串行总线协议。自1982年发布以来,
    的头像 发表于 07-25 18:06 1194次阅读

    I2C通讯为什么要用开漏输出和电阻?

    每个设备都可以将线低(Ground),但不能将线拉高(Vcc)。这种设计使得多个设备可以共享同一条总线,以进行通信。二、I2C接口接外部
    的头像 发表于 05-16 08:10 5311次阅读
    <b class='flag-5'>I2C</b>通讯为什么要用开漏输出和<b class='flag-5'>上</b><b class='flag-5'>拉</b>电阻?

    逼真动画展示I2C、SPI、UART的通信过程

    串行通信协议,通常用于连接低速设备,如传感器、存储器和其他外设。它使用两根线(SCL和SDA)来实现双向通信,具有地址定向性和主从模式。优点:多设备支持:I2C
    的头像 发表于 04-12 08:27 873次阅读
    逼真动画展示<b class='flag-5'>I2C</b>、SPI、UART的<b class='flag-5'>通信</b>过程

    蓝牙串口通讯总线——I2C/SPI/UART

    嵌入式工程师在做串口通信调试工作的时候,会经常用到I2C、SPI、UART这3条总线I2C、SPI、UART这三种通信
    的头像 发表于 01-22 09:41 1355次阅读
    蓝牙串口通讯<b class='flag-5'>总线</b>——<b class='flag-5'>I2C</b>/SPI/UART

    关于I2C总线的6个问题分析

    I2C总线上的电阻范围是多少? 回答: 总线电容是走线部分、连接部分、管脚部分的电容的总和。
    发表于 12-25 09:19 1351次阅读

    i2c工作原理及使用方法

    的标准。 I2C协议具有以下特点: 简单:I2C使用两根线(数据线SDA和时钟线SCL)进行通信,极大地简化了连接的线路。 多主机:支持多个主机设备同时连接到总线上,可以进行多路复用和
    的头像 发表于 12-19 16:17 1123次阅读

    I2C通信序列的典型特征

     通信I2C总线空闲开始,时钟和数据线都不被驱动,因此被上电阻拉高。然后,主机(启动通信的器件)启动
    发表于 11-27 15:32 464次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>序列的典型特征

    I2C总线信号与测试案例(一)

    I2C bus是Inter-IC bus的缩写,意思是IC器件之间的通讯总线I2C 总线的特点如下
    的头像 发表于 11-20 15:45 1771次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>总线</b>信号与测试案例(一)

    模拟I2C总线的多主节点通信原理及实现方法

    电子发烧友网站提供《模拟I2C总线的多主节点通信原理及实现方法.doc》资料免费下载
    发表于 11-17 14:30 0次下载
    模拟<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>的多主节点<b class='flag-5'>通信</b>原理及<b class='flag-5'>实现</b>方法

    UART、SPI、I2C比较 串口通信介绍

    UART、SPI、I2C比较 I2C线更少,比UART、SPI更为强大,但是技术也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上
    的头像 发表于 11-09 18:06 1251次阅读
    UART、SPI、<b class='flag-5'>I2C</b>比较 串口<b class='flag-5'>通信</b>介绍