7. I
2
C Interface > Tsi578 as I
2
C Master
147
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
The
start/restart
and
stop
conditions delineate a transaction – a master issues a
start
to claim ownership
of the bus and a
stop
to release ownership. A
restart
is a repeated start condition between the first
start
and the terminating
stop
, and is used by a master to start a new transaction without giving up bus
ownership. Between the start and stop, data is transferred one bit at a time, with the basic protocol
calling for full bytes of data, this being 8 consecutive bits from master to slave or slave to master,
followed by 1 more bit driven by the device receiving the data to acknowledge the receipt of the byte.
The first stream of bytes following a start/restart is the
device connection sequence
, where the master
places a slave address on the bus to make a connection to the device with which it needs to
communicate. It is also during this period that primary arbitration for bus ownership is completed for
the bus between multiple masters. If more than one master attempts to address a slave, a well-defined
procedure results in all but one master backing off and waiting for a stop condition, when the bus
ownership is again released.
Once a connection is made between a master and a slave, data can be transferred to or from the slave in
the
data read/write sequence
phase of the transaction. This sequence is device-dependent, but a
common protocol used by memory-oriented devices such as EEPROMs involves the master sending
one or more bytes of
memory address
to the slave to position the slave’s memory address (or peripheral
address), then the master writes/reads data to/from the slave. Eventually the master ends the transaction
with a
stop condition
, at which point the bus is free for other masters to start transactions.
These I
2
C master and slave operations are explained in the following sections.
7.4
Tsi578
as I
2
C Master
When the Tsi578 is an I
2
C master, it addresses an external slave device, generates the I2C_SCLK
clock, and controls the overall transfer protocol. There are two instances where the Tsi578 is master:
boot loading (see
), and transactions initiated by setting the START bit in the
Software can instruct the Tsi578 to read or write to an external slave device using the following
registers:
•
C Master Configuration Register”
to configure external device parameters
•
to select and start the transaction
•
C Master Receive Data Register”
for data to be read (received)
•
C Master Transmit Data Register”
for data to be written (transmitted)
•
depicts the sequences on the I
2
C bus when the Tsi578 is mastering a read or write
transaction:
Ti
p
Because EEPROM devices do not have reset pins, if the Tsi578 is reset the EEPROM is
unaffected and can continue to drive data at the previous state. For more information on how
this issue may affect your application, and possible work around options, see “Masterless bus
busy” in the
Tsi578 Design Notes
.