首页 > 其他分享 >I2C总线与SMbus总线的区别

I2C总线与SMbus总线的区别

时间:2023-06-13 11:33:47浏览次数:49  
标签:SMBus IPMI CBUS 总线 SMbus I2C 设备

本文转载自: 彻底搞懂I2C总线(4)I2C总线的其他用途 (baidu.com)

摘要

本章节阐述了I2C总线的其他用途,如用于CBUS总线、SMBUS总线、PMBUS总线、IPMI接口、ATCA通信、DDC通信等。

四. I2C总线通信协议的其他用途

I2C总线被用作多种系统结构的通信协议。除了基本的I2C规范之外,这些体系结构还增加了命令集和特定于应用程序的扩展。

4.1 CBUS兼容性 

CBUS接收器可以连接到标准模式(Sm)的I2C总线(SCL、SDA)上,但是,还必须连接附加的第三根DLEN总线,并忽略应答位。通常,I2C传输是8位字节序列;但CBUS兼容设备有它自己不同的格式。

在混合总线(I2C+CBUS)结构中,有一个特殊的保留的CBUS地址(0000 001X),专用于寻址CBUS设备,所以I2C设备不会响应CBUS设备的信息。传送完CBUS地址后,就可以激活DLEN线路,发送CBUS格式的传输。在停止条件之后,所有设备再次准备好接受数据。

主机可以在发送CBUS地址后发送CBUS格式数据。所有设备均可识别停止条件,从而结束传输。

如果CBUS配置是已知的,并且CBUS兼容设备的扩展是不可预见的,允许设计者根据所用设备的具体要求调整保持时间。

4.2 系统管理总线(SMBus)

SMBus使用I2C硬件和I2C硬件寻址,但添加了用于构建特殊系统的二级软件规范。特别是,它的规范包括一个可以进行动态地址分配的地址解析协议。

硬件和软件的动态重新配置允许总线设备“热插拔”并立即使用,无需重启系统。设备会被自动识别并分配唯一的地址。这个优点使得用户可以即插即用。

SMBus目前在大多数电脑中被用作系统管理总线(如图1-53)。由英特尔及其他公司一起于1995年开发,它修改了I2C的一些电气和软件特性,以便更好地与便携式设备快速下降的电源预算兼容。

图1-53 Inter处理器的笔记本设备管理器中的SMBUS总线

SMBus也有一个“高功率”的2.0版本,其中包括一个4 mA吸收电流,不能由I2C芯片驱动,除非上拉电阻的大小符合I2C总线的电平。

4.2.1 I2C/SMBus合规性

SMBus和I2C协议基本相同:SMBus主机能够控制I2C从机,反之亦然。SMBus时钟的定义范围为10 kHz至100 kHz,而I2C可以是0 Hz至100 kHz、0 Hz至400 kHz、0 Hz至1 MHz和0 Hz至3.4 MHz,具体取决于模式。这意味着运行频率低于10 kHz的I2C总线不符合SMBus标准,因为SMBus设备可能会超时。

逻辑电平也略有不同:SMBus的TTL低电平≤ 0.8 V,TTL高电平≥ 2.1 V;而I2C则为CMOS电平,CMOS低电平≤30 %VDD,CMOS高电平≥70 % VDD。如果VDD > 3.0 V,这不是问题。如果I2C器件低于3.0 V,那么如果逻辑高/低电平不能被正确识别,就可能有问题。

4.2.2 超时功能(Time out feature)

SMBus具有超时功能,如果通信时间过长,它会重置器件。这解释了为什么最小时钟频率为10 kHz,以防止锁定总线。

I2C可以是“DC”总线,这意味着当主机访问从机设备时,从机设备在执行某些事务时会延长主机时钟(从机通知主机,我从机正忙,但不想失去通信)。从机设备将允许在其任务完成后继续。在I2C总线协议中,这种延迟时间没有限制,而对于SMBus系统,这种延迟时间限制在35毫秒。

SMBus协议规定,如果某件事情花费的时间太长,则意味着总线上有问题,所有器件必须复位才能清除该模式。然后,并且不允许从机设备将时钟保持在低电平太长时间。

4.2.3 SMBus 1.0和SMBus 2.0的区别

SMBus规范定义了两类电气特性:低功率和高功率。第一类最初在SMBus 1.0和1.1规范中定义,主要是为智能电池设计的,但也可以用于其他低功耗设备。

2.0版本引入了另一组更高功率的电气特性。此类适用于需要更高驱动能力的情况,例如PCI附加卡上的SMBus设备,以及通过PCI连接器将这些卡相互连接并连接到系统板上的SMBus设备。

设备可以由总线VDD或另一个电源Vbus(例如智能电池)供电,并且只要它们遵守本类的SMBus电气规范,就可以互操作。

恩智浦器件的电气特性比SMBus 1.0更强大。主要区别在于VOL = 0.4 V时的吸电流能力:①SMBus低功耗= 350 μA;②SMBus高功率= 4 mA;③I2C总线= 3毫安。

如果上拉电阻的限流大小为3 mA,SMBus“高功率”器件和I2C总线器件将协同工作。有关更多信息,请参考:http://www.smbus.org/。

4.3 电源管理总线(PMBus)

PMBus是通过SMBus在电源转换器和系统主机之间进行通信的标准方式,可为电源转换器提供更智能的控制。PMBus规范定义了一组标准的器件命令,因此来自多个源的器件功能相同。PMBus设备使用SMBus版本1.1 plus扩展进行传输。

有关更多信息,请参考:https://pmbus.org/。

4.4 智能平台管理接口(IPMI)

智能平台管理接口(IPMI)为智能平台管理硬件定义了标准化的、抽象的、基于消息的接口。IPMI还定义了描述平台管理设备及其特征的标准化记录。IPMI通过监控温度、电压、风扇和机箱入侵(非法打开机箱)等参数来提高系统的可靠性。

IPMI提供常规系统管理功能,如自动报警、自动系统关闭和重启、远程重启和电源控制。智能平台管理硬件的标准化接口有助于硬件故障的预测和早期监控以及硬件问题的诊断。

这种标准化的总线和协议用于扩展机箱内的管理控制、监控和事件交付。IPMI的特点是:兼容I2C总线;多控制器;简单请求/响应协议;使用IPMI命令集;支持非IPMI设备;不需要热插拔;使基板管理控制器(BMC)能够接受来自系统中其他管理控制器的IPMI请求消息;允许总线上的非智能设备和管理控制器;BMC充当控制器为系统软件提供对IPMB的访问;硬件实现与软件实现相隔离,因此无需任何软件更改即可添加新的传感器和事件。

有关更多信息,请参考https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-home.html。

4.5 高级电信计算架构(ATCA)

高级电信计算架构(ATCA)是紧凑型PCI (cPCI)的后续产品,提供标准化的外形,具有更大的卡面积、更大的间距和更大的电源,可用于高级机架式电信硬件。它包括一个热管理的容错方案,在板之间使用I2C总线通信。

高级电信计算架构(ATCA)得到了100多家公司的支持,其中包括许多大型公司,如英特尔、朗讯和摩托罗拉。

有两种通用的符合ATCA标准的风扇控制方法:第一种是智能FRU(现场可更换单元),这意味着风扇控制将直接连接到IPMB(智能平台管理总线);第二种是管理型或非智能型FRU。

ATCA要求管理双I2C总线的硬件和软件。这需要一个片上隔离电源为电路供电,一个带上升时间加速器的缓冲双I2C总线,以及三态功能。I2C控制器必须能够支持多控制器I2C双总线,并处理协议中概述的标准风扇命令集。此外,还需要板载温度报告、托盘功能报告、风扇关闭功能和非易失性存储。

有关更多信息,请参考:https://www.picmg.org/openstandards/advancedtca/。

4.6 显示数据通道(DDC)

显示数据通道(DDC)允许监视器或显示器通知主机其身份和功能。DDC版本2的规范要求符合I2C总线标准模式规范。它允许显示器和主机之间的双向通信,实现对监视器功能的控制,例如图像如何显示以及与连接到I2C总线的其他设备的通信。

有关更多信息,请参考https://vesa.org/。

未完待续,敬请关注《彻底搞懂IIC总线(5)I2C总线传输速度》。

本文由德力威尔王术平原创;转载、引用请注明出处,否则侵权。

本文参考资料:

①https://www.nxp.com/docs/en/user-guide/UM10204.pdf。

②https://www.nxp.com/docs/en/application-note/AN10216.pdf。

③https://www.i2c-bus.org。

标签:SMBus,IPMI,CBUS,总线,SMbus,I2C,设备
From: https://www.cnblogs.com/hxing/p/17477061.html

相关文章

  • 关于Digispark安装驱动后插入在设备管理器的“通用串行总线设备”分类下显示为“micro
    依据micronucleus的github和查询到的另一些资料解决了该问题,在此处备份防止遗忘。前往https://zadig.akeo.ie/下载Zadig,然后从micronucleus的github下载micronucleus.cfg。打开Zadig,在菜单栏中选择Device-LoadPresetDevice,选择刚刚下载的cfg,然后在下方点击小箭头选择libusb-w......
  • Vue 中通过事件总线方式组件间传递数据及调用 Vue脚手架中的axios数据调用方式获取git
    1:看界面效果2:代码结构3:代码内容3.1:引入第三方css样式表:bootstrap.css/*!*Bootstrapv3.3.5(http://getbootstrap.com)*Copyright2011-2015Twitter,Inc.*LicensedunderMIT(https://github.com/twbs/bootstrap/blob/master/LICENSE)*//*!normalize.cssv3.0.3|......
  • RK3588-CAN总线
    简介ArmSoM-W3RK3588开发板中已集成AN总线:CAN(controllerAreaNetwork)CANBUS:控制器局域网络总线目前世界上绝大多数汽车制造厂商都采用CAN总线来实现汽车内部控制系统之间的数据通信。RK3568/RK3588的CAN驱动文件:drivers/net/can/rockchip/rockchip_canfd.c2.内核配置rockc......
  • Vue全局事件总线(GlobalEventBus)
    Vue全局事件总线1、一种组件间通信的方式,适用于任意组件间通信。2、安装全局事件总线//main.js中安装全局事件总线newVue({render:h=>h(App),beforeCreate(){Vue.prototype.$bus=this//安装全局事件总线,$bus就是当前的vue实例}}).$mount('#app')......
  • Linux驱动开发(I2C系统的重要结构体)
    @TOC前言本篇文章来讲解I2C系统的重要结构体,了解这些结构体对于编写I2C驱动来说是至关重要的,所以要想编写好一个I2C驱动程序那么就必须先了解这些结构体。一、I2C硬件框架这里使用百问网的一张图片来讲解:一个芯片中可以有多个I2C控制器,并且一个I2C控制器可以控制多个设备。那么在对......
  • 【计算机组成原理期末总预习-自顶向下方法】第8章 IO与总线
    一、I/O设备与磁盘I/O系统性能指标:吞吐率(I/O带宽):单位时间内从系统输入/输出多少数据响应时间:在多长时间内完成请求的任务外设的通用模型(抽象模型)通过电缆与计算机内部I/O接口进行数据、状态和控制信息的传送。电缆线中包括控制信号、状态信号和数据信号三种......
  • 全局事件总线
       ......
  • Linux Kernel 设备驱动之I2C之client描述
    前面我们已经了解到i2c的host描述,对于设备来说,其描述较为简单,数据结构实现如下:/***structi2c_client-representanI2Cslavedevice*@flags:I2C_CLIENT_TENindicatesthedeviceusesatenbitchipaddress;*I2C_CLIENT_PECindicatesitusesSMBusPacketErro......
  • 自己动手写事件总线(EventBus)
    事件总线核心逻辑的实现。<!--more-->EventBus的作用Android中存在各种通信场景,如Activity之间的跳转,Activity与Fragment以及其他组件之间的交互,以及在某个耗时操作(如请求网络)之后的callback回调等,互相之之间往往需要持有对方的引用,每个场景的写法也有差异,导致耦合性较高且不便维护......
  • DP1040 DP国产代替TJA1040 CAN总线收发器接口芯片 SOP8
    1简述DP1040C是一款应用于CAN协议控制器和物理总线之间的接口芯片,可应用于卡车、公交、小汽车、工业控制等领域,速率可达到1Mbps,具有在总线与CAN协议控制器之间进行差分信号传输的能力,完全兼容“ISO11898”标准。2短路保护DP1040C的驱动级具有限流保护功能,以防止驱动电路短......