7. I
2
C Interface > Tsi578 as I
2
C Master
150
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
7.4.3
Master Bus Arbitration
Because the Tsi578 can operate in a multi-master I
2
C system, it arbitrates for the I
2
C bus as required by
the
I
2
C Specification
. During the Start and Slave Address phase, any unexpected state on the bus
causes the Tsi578 to back off, release the bus, and wait for a Stop before retrying the transaction. If the
arbitration timer configured in the
“I2C_SCLK Low and Arbitration Timeout Register”
expires before
the device can get through the slave address phase without collision, then the transaction is aborted
with the MA_ATMO status in the
. An optional interrupt can also be sent
to the Interrupt Controller if enabled in the
7.4.4
Master External Device Addressing
A master transaction starts with a Start condition followed by the 7-bit slave address from the
DEV_ADDR field of the
C Master Configuration Register”
, followed by the R/W bit. Assuming the
8 bits did not collide with another master, an ACK/NACK response bit is expected. If an ACK is
received, the slave device exists and the transaction proceeds. If a NACK is received, the slave device
is presumed to not exist and the transaction is aborted with a Stop and an MA_NACK status in the
I2C_INT_STAT register, and an optional MA_NACK interrupt to the Interrupt Controller if enabled in
MA_NACK of
. In this case, the transaction is not automatically retried
and it is up to software to retry if needed.
7.4.5
Master Peripheral Addressing
Some devices, such as EEPROMs, require a peripheral address to be specified to set a starting position
in their memory or address space for the read or write. The Tsi578 supports transactions with 0, 1, or 2
bytes of peripheral address. Because this is device dependent, the correct setting for the target device
must be set in PA_SIZE of the
C Master Configuration Register”
; otherwise, the transaction
protocol is not correct.
The peripheral address is also set in the
C Master Configuration Register”
started. If the transaction is a read, the Tsi578 must switch the I
2
C bus protocol to read mode following
the peripheral address (sending the peripheral address requires write mode). To do this, a Restart
condition is generated, followed by a repeat of the slave address to readdress the device in read mode.
Because the bus was not released by the Restart, this phase is not subject to the arbitration timer,
therefore any mismatch on the bus aborts the transaction with a MA_COL interrupt. This restart is not
necessary if there is no peripheral address status in the
. An optional
interrupt can also be sent to the Interrupt Controller if enabled in MA_COL of the
If the Tsi578 loses the arbitration for the I
2
C bus, and the winning master selects the Tsi578 as
the target of its access, the Tsi578 responds as the slave.
If the master transaction addresses the slave address of the Tsi578, the slave logic responds
correctly as the target device.