Facts SMBus

I2C Studio SMBUS Example

The System Management Bus (SMBus) is more or less a derivative of the I2C bus. The standard has been developed by Intel and is now maintained by the SBS Forum.The main application of the SMBus is to monitor critical parameters on PC motherboards and in embedded systems. For example there are a lot of supply voltage monitor ICs, temperature monitor ICs, and fan monitor/control ICs with an SMBus interface available.

There are some interesting differences between the I2C bus and the SMBus:

Supports “block read” and similiar non-I2C-compatible transfer types (not supported by most other similar products claiming to be SMBus-compatible)

35 ms timeout support

Using the SMBus master API it is possible to generate even complex SMBus messages with very few lines of code.

Tracer

I2C Studio offers several interesting features to analyse an SMBus with Tracii XL/Tracii XL 2.0:

Tracing of the ALERT and the SUSPEND lines

Tracing of power down and power up events

Checking of the PEC (CRC-8)

Trace plug-ins for common SMBus ICs (high-level analysing)

Address Resolution Protocol

SMBus Advanced ARP

On an I2C bus a fix slave address is assigned to each I2C slave during the development of the PCB. Typically the I2C address of an I2C slave gets selected by pulling some external pins to high or low level.

SMBus devices support fix addresses, too. Additionally, the SMBus specification defines a different approach, where the slave addresses are assigned dynamically during the runtime. This process is called SMBus ARP. The SMBus master is responsible for assigning the addresses.