彻底搞懂I2C总线(4)I2C总线的其他用途

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

 

摘要

本章节阐述了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

 

posted @ 2022-05-07 15:51  德力威尔王术平  阅读(1070)  评论(0编辑  收藏  举报