智能平台管理总线(IPMB)的设计是为了在 mission-critical 服务器平台支持“Server Platform Management”(服务器平台管理)的,该总线也可以用来支持外围机架和非服务器系统的平台管理。

 

IPMB 协议要实现下列目标:


1、 支持分布式管理机制。传感器和控制器分布在各个管理模块上,它们的信息通过 IPMB 传输。

 

2、 支持异步事件通知机制和危机事件日志机制。IPMB 应用多主协议,这样可以允许控制器抢占总线来发送事件消息到一个事件接收器(Event Receiver)节点。

 

3、 提供一个可扩展的平台管理结构。新的管理信息资源可以很容易的加入到平台管理总线上,而不会影响总线上的其他控制器。

 

4、 多主操作。IPMB 应用多主操作来支持分布式管理机制、异步事件通知机制以及平台扩展功能,这种机制支持任何两个智能设备之间的通信。

 

5、 支持非智能 I2C 设备。

 

6、 支持“Out-of-Band”访问。IPMB 是独立于系统处理器和内存总线的,这样,即使是在系统失败的情况下还可以访问。

 

7、 降低系统管理布线的复杂程度以及成本。

 

8、 为机架外部管提供途径。

 

l IPMB 总线平台管理网络架构

我们用微控制器(也叫做管理控制器“management controllers”或者节点“nodes”),独立于系统软件收集系统状态和事件信息,这些信息包括:单板电压、温度、风扇转速、处理器或者总线失败、FRU(现场可替换单元)信息等,来提高提高系统可靠性(RAS)。

 

IPMB 协议所使用的物理层主要是 I2C 总线,下面是 I2C 总线的一些特征:

 

1、I2C 传输的起始和停止条件

在 I2C 总线中唯一出现的是被定义为起始 S 和停止 P 条件见图 5 的情况。其中一种情况是在 SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件,当 SCL 是高电平时 SDA 线由低电平向高电平切换表示停止条件。起始和停止条件一般由主机产生总线在起始条件后被认为处于忙的状态,在停止条件的某段时间后总线被认为再次处于空闲状态。

 

如果产生重复起始 Sr 条件而不产生停止条件,总线会一直处于忙的状态。此时的起始条件 S 和重复起始 Sr 条件在功能上是一样的。如果连接到总线的器件合并了必要的接口硬件。那么用它们检测起始和停止条件十分简便,但是没有这种接口的微控制器在每个时钟周期至少要采样 SDA 线两次来判别有没有发生电平切换。

 

图 5 起始和停止条件

 

2、I2C 传输数据

2.1 字节格式

发送到 SDA 线上的每个字节必须为 8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位首先传输的是数据的最高位 MSB。如果从机要完成一些其他功能后例如一个内部中断服务程序才能接收或发送下一个完整的数据字节,可以使时钟线 SCL 保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线 SCL 后,数据传输继续。在一些情况下可以用与 I2C 总线格式不一样的格式例如兼容 CBUS 的器件,甚至在传输一个字节时用这样的地址起始的报文可以通过产生停止条件来终止此时不会产生响应。

 

2.2 响应

数据传输必须带响应,相关的响应时钟脉冲由主机产生,在响应的时钟脉冲期间发送器释放 SDA 线高,在响应的时钟脉冲期间接收器必须将 SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平,当然必须考虑建立和保持时间。通常被寻址的接收器在接收到的每个字节后除了用 CBUS 地址开头的报文必须产生一个响应。

 

当从机不能响应从机地址时,例如它正在执行一些实时函数不能接收或发送从机必须使数据线保持高电平,主机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输,如果从机接收器响应了从机地址但是在传输了一段时间后不能接收更多数据字节,主机必须再一次终止传输,这个情况用从机在第一个字节后没有产生响应来表示,从机使数据线保持高电平主机产生一个停止或重复起始条件。

 

如果传输中有主机接收器,它必须通过在从机不产生时钟的最后一个字节不产生一个响应,向从机发送器通知数据结束,从机发送器必须释放数据线允许主机产生一个停止或重复起始条件。

 

IPMB 支持两类 I2C 设备,非智能和智能的。典型的非智能设备如温度传感器,通过 I2C 总线可以读到当前的温度读数。非智能设备只能作为一个从设备,缺少 IPMB 通信协议的应用。非智能从设备可以和运行 IPMB 协议的智能设备同时存在与同一个 IPMB 总线上,地址冲突避免在 I2C 总线级,只要分配一个独一无二的从地址给总线上的所有设备即可。IPMB 协议也可以支持 SMBus 从设备,不过要有一些限制。

 

下图为 IPMB 总线的连接架构:

 

 

典型的智能设备如服务器底板上的管理控制器。在智能设备中装有实现 IPMB 协议的固件和底板相关的其他功能固件,下面讲的 IPMB 请求应答通信协议是指在智能设备间的通信。