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

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

3天内不再提示

I²C总线与SMBus的比较指南

星星科技指导员 来源:ADI 作者:ADI 2023-01-13 15:26 次阅读

I²C总线和SMBus™是流行的2线总线,基本上相互兼容。通常,设备(主机和从设备)可以在两条总线之间自由互换。两条总线都具有可寻址从站(尽管两者之间的特定地址分配可能有所不同)。总线以相同的速度工作,最高可达100kHz,但I²C总线具有400kHz和2MHz版本。两条总线之间的完全兼容性仅在100kHz以下得到保证。本应用笔记重点介绍I²C和SMB之间的显著差异。

I²C总线和SMBus是流行的2线总线,基本上相互兼容。通常,设备(主机和从设备)可以在两条总线之间自由互换。两条总线都具有可寻址从站(尽管两条总线之间的特定地址分配可能有所不同)。总线以相同的速度工作,最高可达100kHz,但I²C总线具有400kHz和2MHz版本。显然,使用所有器件的两条总线之间的完全兼容性仅在100kHz以下才能得到保证。

本应用笔记重点介绍两条总线之间的显著差异。虽然假设读者对I²C总线和/或SMBus有一定的了解,但让我们首先回顾一些协议基础知识:

启动和停止事件。这些尤其重要,因为 它们是向接口发出信号的方式,表明它需要转到 已初始化或重置状态。

数据和时钟必须很高才能生成启动和停止。一位大师 无法生成启动或停止,除非数据(I²C的SDA和 SMBData for SMBus)和时钟(SCL 用于 I²C,SMBClk 用于 SMBus)线路 是自由的(不是拉低的)。这是成为开放收藏家的结果 总线。

启动和停止条件是唯一的时间 在时钟为高电平时成为数据线上的过渡。

仅当通信期间时钟为低电平时,数据才能更改状态。 数据上的数据必须始终在时钟高电平之前准备就绪 并且仅在时钟变低后更改(除了 启动和停止)。

pYYBAGPBCEaAdH9EAAAp182H5ng706.png

图1.典型的通信,显示启动和停止条件。

超时和时钟速度

超时和(由于超时)最小时钟速度是I²C总线和SMBus之间最重要的区别。

I²C 总线 = 直流 (无超时)
SMBus = 10kHz (35mS 超时)

超时是指每当时钟变为低电平的时间超过超时时间(通常为 35 毫秒)时,从设备就会重置其接口。超时的使用也决定了时钟的最低速度,因为它永远不会静止。因此,SMBus 具有最低时钟速度规格。相比之下,I²C总线可以无限期地变为静态。在I²C总线中,主站或从站都可以根据需要保持时钟低电平以处理数据。

所有这些都是两条总线如何处理从站错误并从这些错误中恢复的结果。要了解错误恢复,请考虑有两种状态,即启动和停止,在正确设计的I²C或SMBus从机上,这两种状态指示从接口进入特定状态。在 Start 的情况下,接口应自行初始化并准备好接收通信。无论启动条件之前是什么,都应该发生这种情况(例如,如果从站处于通信过程中,主设备感到困惑并不得不重新开始)。在 Stop 的情况下,接口应再次初始化自身,但应在任何新通信之前期待启动。“开始”和“停止”都是时钟为高电平时发生的唯一数据转换。为了使数据上的转换发生,数据线(和时钟线)必须是“自由的”,以允许主站根据需要在线上放置高点和低点。

在I²C总线中,如果从机锁定并保持时钟或数据低电平,则无法进行错误恢复。实际上很少有从设备能够保持时钟。因此,最常见的总线错误是从设备最终处于数据(数据线)低电平的状态。在I²C总线中,主机通过时钟时钟直到数据为高电平,然后发出启动后停止信号来完成错误恢复。

与I²C总线相比,只要时钟处于低电平,时间超过SMBus规范中规定的35ms超时,SMBus从站就会复位其接口。因此,英特尔 PIIX4 等 SMBus 主站没有内置任何错误恢复例程。实际上,从设备需要检查时钟和数据,即使SMBus规范没有规定这一点。应该这样做,因为经验表明,处于错误状态的从站可以保持低数据,即使时钟可能很高。完全按照 SMBus 规范实现超时并不能解决此错误模式。


I²C Slave
SMB Slave
I²C Slave
I²C Master I²C Master
SMB Master Potential for bus lockup SMB Master

SMBus的时钟速度限制为100kHz,而I²C允许高达400kHz的速度。

逻辑电平

尽管两条总线之间的逻辑电平规格存在差异,但通常器件可以混合使用,并可以放弃匹配。事实证明,SMBus或I²C总线很少因电平差异而发生故障。当我们比较相应的电平规格时,这可能会令人惊讶,如图1所示。

pYYBAGPBCD6AYcJYAAAfXMgpPt4107.png

图2.这是I²C总线和SMBus之间电平规格的比较。I²C-VDD显示了 3 V 至 5 V 电源的相关高值和低值范围。

为了进一步比较,表 2 一起列出了规格。

High I2C VDD Dependent 0.7 × VDD
I²C Fixed 3.0V
SMBus 2.1V
Low I2C VDD Dependent 0.3 × VDD
I2C Fixed 1.5V
SMBus 0.8V

尽管电平规格之间似乎存在相当大的差异,但在这方面,器件互换性并未被证明是一个问题。这是因为主机和从站的输出电压摆幅几乎总是接近全电源电压。

上拉电阻电流电平

在讨论电压电平时,不明显的是,这些电平也由总线之间的不同电流指定。SMBus的最小灌电流为100μA,最大灌电流为350μA,而I²C总线的最小灌电流为3mA。这反过来又将确定上拉电阻的最低可接受值,其示例如下表所示。

3V VDD 5V VDD
I2C 总线 > 1k > 1.6k
SMBus > 8.5k > 14k

实际上,在SMBus系统中遇到上拉电阻值并不罕见,因为上拉电阻值低于推荐值,因此违反了此规范。即使在某些SMBus系统中,上拉电阻值的一个非常普遍的范围似乎是2.4k至3.9k。

一般呼叫和警报响应

I²C总线有一个称为通用呼叫的地址,即0000 000,所有设计用于响应通用呼叫的从站都将相应地采取行动。这是一种可以同时与系统上的多个设备通信的方法。

SMBus还规定了一条名为ALERT#的线路,不要与I²C通用呼叫地址混淆。此行充当 SMBus 主服务器的中断。收到中断后,SMBus 主服务器可以发出警报响应。此警报响应被发送到地址 0001 100,任何生成中断的从设备都试图通过将自己的地址放在总线上来识别自己。地址最低的设备将占主导地位(由于集电极开路总线)。如果它被维修和清除,主服务器可以重复该过程并通过可能发生的任何其他中断进行处理。

其他小细节

有一些与上升和下降时间和总线电容有关的微妙问题通常不是问题。此外,在使用“确认”和“不确认”条件方面,还存在一些很少遇到的协议差异。对于大多数主流的主人和从属选择,这些因素通常都不是问题。

显著差异总结

超时和最小时钟速度

电压等级

上拉电阻值和电流水平

I2C SMBus
Timeout No Yes
Minimum Clock Speed DC 10kHz
Maximum Clock Speed 100kHz (400kHz and 2MHz also available) 100kHz
VHIGH 0.7 × VDD, 3.0V Fixed 2.1V
VLOW 0.3 × VDD, 1.5V Fixed 0.8V
Max I 3mA 350µA
Clock Nomenclature SCL SMBCLK
Data Nomenclature SDA SMBDAT
General Call Yes Yes
Alert# No Yes

审核编辑:郭婷

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

    关注

    10

    文章

    2864

    浏览量

    87972
  • SMBus
    +关注

    关注

    0

    文章

    115

    浏览量

    22032
  • I²C总线
    +关注

    关注

    0

    文章

    14

    浏览量

    2120
收藏 人收藏

    评论

    相关推荐

    SMBusI2C有什么差别?

    系统管理总线(SMBus)是一个两线接口。通过它,各设备之间以及设备与系统的其他部分之间可以互相通信。它基于I2C操作原理。SMBus为系统和电源管理相关的任务提供一条控制
    发表于 03-20 09:01

    PCA9519 4通道I2C-bus SMBus 中继器

    PCA9519 是一个4 通道的I2C 总线/SMBus 中继器,可以实现将低电压两线串行总线接口的处理器与标准的I2C
    发表于 11-11 13:34 19次下载

    PCA9511—热插拔型I2CSMBus总线缓存器产品数据手册

    PCA9511 是一款具有双向缓存功能、支持热插拔的I2CSMBus 总线缓存器
    发表于 03-11 16:19 28次下载

    PCA9519—4通道I2C-bus SMBus中继器产品数据手册

    PCA9519 是一个4 通道的I2C 总线/SMBus 中继器,可以实现将低电压两线串行总线接 口的处理器与标准的I2C
    发表于 03-12 14:18 11次下载

    SPI总线I2C总线工作原理

    SPI总线I2C总线工作原理,本内容详细介绍了SPI总线I2C总线的工作原理和
    发表于 12-08 16:55 0次下载

    CAN、I2S、I2C、SPI、SSP总线的介绍和比较

    CAN、I2S、I2C、SPI、SSP总线的介绍和比较
    发表于 07-14 16:20 53次下载

    MSP430硬件I2C如何实现SMBus

    该应用报告描述了使用MSP430硬件I2C外围设备实现系统管理总线SMBus)。
    发表于 05-08 09:34 18次下载
    MSP430硬件<b class='flag-5'>I2C</b>如何实现<b class='flag-5'>SMBus</b>

    LTC4303/LTC4304 - 可恢复阻塞总线I<sup>2</sup>C/SMBus 缓冲器

    LTC4303/LTC4304 - 可恢复阻塞总线I2C/SMBus 缓冲器
    发表于 03-21 02:32 9次下载
    LTC4303/LTC4304 - 可恢复阻塞<b class='flag-5'>总线</b>的 <b class='flag-5'>I</b><sup>2</sup><b class='flag-5'>C</b>/<b class='flag-5'>SMBus</b> 缓冲器

    TCAL9538 8位I2C总线,SMBus I/O扩展器数据表

    电子发烧友网站提供《TCAL9538 8位I2C总线,SMBus I/O扩展器数据表.pdf》资料免费下载
    发表于 06-19 10:04 0次下载
    TCAL9538 8位<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>,<b class='flag-5'>SMBus</b> <b class='flag-5'>I</b>/O扩展器数据表

    TCAL6408 8位转换I2C总线SMBus I/O扩展器数据表

    电子发烧友网站提供《TCAL6408 8位转换I2C总线SMBus I/O扩展器数据表.pdf》资料免费下载
    发表于 06-19 09:58 0次下载
    TCAL6408 8位转换<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>,<b class='flag-5'>SMBus</b> <b class='flag-5'>I</b>/O扩展器数据表

    TCAL9539-Q1汽车类低压16位I2C总线SMBus I/O扩展器数据表

    电子发烧友网站提供《TCAL9539-Q1汽车类低压16位I2C总线SMBus I/O扩展器数据表.pdf》资料免费下载
    发表于 06-19 11:54 0次下载
    TCAL9539-Q1汽车类低压16位<b class='flag-5'>I2C</b><b class='flag-5'>总线</b><b class='flag-5'>SMBus</b> <b class='flag-5'>I</b>/O扩展器数据表

    TCA39306-Q1双路双向I3CI2C总线SMBus电压电平转换器数据表

    电子发烧友网站提供《TCA39306-Q1双路双向I3CI2C总线SMBus电压电平转换器数据表.pdf》资料免费下载
    发表于 06-21 11:03 0次下载
    TCA39306-Q1双路双向<b class='flag-5'>I3C</b>、<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>和<b class='flag-5'>SMBus</b>电压电平转换器数据表

    TCA9509电平转换I2CSMBUS总线中继器数据表

    电子发烧友网站提供《TCA9509电平转换I2CSMBUS总线中继器数据表.pdf》资料免费下载
    发表于 06-24 10:13 0次下载
    TCA9509电平转换<b class='flag-5'>I2C</b>和<b class='flag-5'>SMBUS</b><b class='flag-5'>总线</b>中继器数据表

    具有阻塞总线恢复功能的TCA4307热插拔 I2C 总线SMBus缓冲器数据表

    电子发烧友网站提供《具有阻塞总线恢复功能的TCA4307热插拔 I2C 总线SMBus缓冲器数据表.pdf》资料免费下载
    发表于 06-27 10:39 0次下载
    具有阻塞<b class='flag-5'>总线</b>恢复功能的TCA4307热插拔 <b class='flag-5'>I2C</b> <b class='flag-5'>总线</b>和 <b class='flag-5'>SMBus</b>缓冲器数据表

    TCA9511A热插拔I2C总线SMBus缓冲器数据表

    电子发烧友网站提供《TCA9511A热插拔I2C总线SMBus缓冲器数据表.pdf》资料免费下载
    发表于 07-02 10:41 0次下载
    TCA9511A热插拔<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>和<b class='flag-5'>SMBus</b>缓冲器数据表