cancel
Showing results for 
Search instead for 
Did you mean: 

What is I2C SMBAI?

AScar.1
Associate

I'm laying out a board using a STM32F103CB and I'm connecting to an I2C peripheral, and I noticed that on the STM32 there's a third I2C pin, labelled SMBAI - what is this pin, I'm unfamiliar. Is this an address pin for the STM32 for slave option? I couldn't find reference to it in the datasheet. Thanks! 

1 REPLY 1
Danish1
Lead II

You will find it in the Reference Manual for your microcontroller. This is an essential document.

Quote from 26.3.6 SMBus:

SMBus alert mode

SMBus Alert is an optional signal with an interrupt line for devices that want to trade their ability to master for a pin. SMBA is a wired-AND signal just as the SCL and SDA signals are. SMBA is used in conjunction with the SMBus General Call Address. Messages invoked with the SMBus are 2 bytes long.

A slave-only device can signal the host through SMBA that it wants to talk by setting ALERT bit in I2C_CR1 register. The host processes the interrupt and simultaneously accesses all SMBA devices through the Alert Response Address (known as ARA having a value 0001 100X). Only the device(s) which pulled SMBA low will acknowledge the Alert Response Address. This status is identified using SMBALERT Status flag in I2C_SR1 register. The host performs a modified Receive Byte operation. The 7 bit device address provided by the slave transmit device is placed in the 7 most significant bits of the byte. The eighth bit can be a zero or one.

If more than one device pulls SMBA low, the highest priority (lowest address) device will win communication rights via standard arbitration during the slave address transfer. After acknowledging the slave address the device must disengage its SMBA pull-down. If the host still sees SMBA low when the message transfer is complete, it knows to read the ARA again.

A host which does not implement the SMBA signal may periodically access the ARA.

For more details on SMBus Alert mode, refer to SMBus specification ver. 2.0 (http://smbus.org/specs/).

Hope this helps,

Danish