Nations Technologies Inc.
Tel
:
+86-755-86309900
:
Address: Nations Tower, #109 Baoshen Road, Hi-tech Park North.
Nanshan District, Shenzhen, 518057, P.R.China
439
/
631
Bus protocol
SMBus specification include eight bus protocols. If want browse the details on protocols or SMBus address types,it
can refer to the SMBus specification v2.0(
). User’s software can device what protocols are
implemented.
Every packet through the SMBus complies with the SMBus protocol predefined format. SMBus is a subset of the
data transfer format of I2C specification. As long as an I2C device can be accessed through one of the SMBus
protocols, it is considered to be SMBus compliant.
Note: SMBus does not support Quick command protocol.
Address resolution protocol
The SMBus resolves address conflicts by dynamically assigning a new unique address to each slave device. This is
the address resolution protocol(ARP) .
Any master device can connected bus to access all devices.
SMBus physical layer arbitration enable to distribute addresses.When device power on, the device’s distribute address
is not change, the protocol allows address retain when device power off.
When address is distributed, there is no extra SMBus packaging cost(the cost time that access distribute address
device and access fixed address device is same).
Timeout function
A kind of feature related to timeout on SMBus: if it has taken too long time during the communication, it
automatically resets the device. This is the reason why SMBus has a minimum transmission rate limitation -- to
prevent the bus from locking up for a long time after the timeout occurs. I2C bus is essentially a "DC" bus, that is
to say, if the slave is executing some subroutines and cannot respond in time while the master is accessing the slave,
it can hold the clock. That can remind the host that the slave is busy but does not want to give up the current
communication. This session can continue after the current task of the slave is over. I2c doesn’t have a maximum
limitation for the delay, but it is limited to 35ms in the SMBus system. According to the SMBus protocol, if a session
takes too long, it means something is wrong with the bus, and all devices should be reset to eliminate this state. Like
this, the slave device is not allowed to pull the clock down for too long. I2C_STS1.TIMOUT bit indicates the status
of this feature.
SMBus alter mode
SMBus offer a optional interrupt signal SMBALERT(like SCL and SDA,is a wired-and signal) that devices uses to
extend their control capabilities at expense of a pin. SMBus broadcast call address often combine with SMBALERT.
There is 2 bytes message about SMBus.
A device which only has slave function can set I2C_CTRL1.SMBALERT bit to indicate it want to communicate with
host. The host handles the interrupt and accesses all SMBALERT devices through the ARA (Alert Response Address,
address value 0001100x). Only those devices that pull SMBALERT low can respond to ARA. This state is identified
by the I2C_STS1.SMBALERT. The 7-bit device address provided from the sending device is placed on the 7 most
significant bits of the byte, the eighth bit can be either '0' or '1'.
When more than one device’s SMBALERT is low, the highest priority(The smaller the address, the higher the priority)