18.3.3 Configuring the SMBus Module
The SMBus can operate in both Master and Slave modes. The interface provides timing and shifting control for serial transfers; higher
level protocol is determined by user software. The SMBus interface provides the following application-independent features:
• Byte-wise serial data transfers
• Clock signal generation on SCL (Master Mode only) and SDA data synchronization
• Timeout/bus error recognition, as defined by the SMB0CF configuration register
• START/STOP timing, detection, and generation
• Bus arbitration
• Interrupt generation
• Status information
• Optional hardware recognition of slave address and automatic acknowledgement of address/data
SMBus interrupts are generated for each data byte or slave address that is transferred. When hardware acknowledgement is disabled,
the point at which the interrupt is generated depends on whether the hardware is acting as a data transmitter or receiver. When a trans-
mitter (i.e., sending address/data, receiving an ACK), this interrupt is generated after the ACK cycle so that software may read the re-
ceived ACK value; when receiving data (i.e., receiving address/data, sending an ACK), this interrupt is generated before the ACK cycle
so that software may define the outgoing ACK value. If hardware acknowledgement is enabled, these interrupts are always generated
after the ACK cycle. Interrupts are also generated to indicate the beginning of a transfer when a master (START generated), or the end
of a transfer when a slave (STOP detected). Software should read the SMB0CN0 register to find the cause of the SMBus interrupt.
EFM8UB3 Reference Manual
System Management Bus / I2C (SMB0)
silabs.com
| Building a more connected world.
Rev. 0.2 | 235