7. I
2
C Interface > Boot Load Sequence
168
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
7.8.1
Idle Detect
Upon exit from reset, it is unknown if another master is active. The Idle Detect period determines if the
I2C_SCLK signal remains high long enough (roughly 50 microseconds) that it is unlikely another
master is active. If I2C_SCLK is seen low during this period, it is assumed another master is active, the
EEPROM Reset phase is skipped, and boot sequence proceeds to the Wait for Bus Idle phase. This
detection is performed whether or not the boot sequence is disabled using the I2C_DISABLED pin. If
the boot sequence is disabled, the BL_OK interrupt status is asserted immediately in the
I2C_INT_STAT register, and an optional interrupt can be sent to the Interrupt Controller if enabled
using BL_OK in the
. If a master transaction is initiated before the idle
detect completes, the transaction is started once the idle detect completes.
Upon exit from reset, if I2C_SDA is seen low the device assumes the bus is busy and does not attempt
to reset the bus. Therefore the boot sequence will not take place.
7.8.2
EEPROM Reset Sequence
The EEPROM reset sequence is intended to cover the condition where a hard reset occurs while a
transaction is active on the I
2
C bus. In this case, because the Tsi578 I
2
C master may have been reset
and stopped generating the I2C_SCLK clock, one or more slave devices may be in a hung state where
they are expecting a read or write to complete, and may be holding the I2C_SD signal low, preventing
the generation of a STOP or START condition.
To try to force these devices out of their hung state, the Tsi578 allows the I2C_SD signal to stay high
and generate 9 clock pulses on the I2C_SCLK signal. If no device was hung, this should not cause any
problems because all devices are looking for a START condition. If a device was in the middle of a
receiving a byte, the remainder of the byte will appear to have all 1s, and the device can generate an
ACK or NACK. It is possible it may look to the device as if part of another byte is being sent, but
because this is the master transmitting part of the protocol, the device will have released its control on
the I2C_SD signal, so the master can force a START or STOP condition, even in the middle of the byte.
If a device was in the middle of sending a byte, the clocks pulses will allow it to finish the transmission.
The I2C_SD left high by the master (the Tsi578) will appear as a NACK to the device and it will not try
to transmit another byte, but will leave the I2C_SD signal free so that another master can force a
START or STOP condition.
This sequence is sent only once after a hard reset, and only if the Idle Detect phase was successful, and
the Tsi578 believes it is not interfering with another master.
7.8.3
Wait for Bus Idle
Before attempting to access an EEPROM device, the boot loader waits for the bus to be idle. This is
either the result of a successful Idle Detect phase, or, if the Idle Detect phase failed, once a STOP
condition is seen on the bus, indicating another master has released control. In addition, if the
I2C_SCLK and I2C_SD signals are both high for longer than the idle detect period while waiting for a
STOP condition, the bus is assumed idle and the boot load process proceeds.
Содержание Tsi578
Страница 1: ...IDT Tsi578 Serial RapidIO Switch User Manual June 6 2016 Titl ...
Страница 20: ...About this Document 20 Tsi578 User Manual June 6 2016 Integrated Device Technology www idt com ...
Страница 102: ...4 Internal Switching Fabric Packet Queuing 102 Tsi578 User Manual June 6 2016 Integrated Device Technology www idt com ...
Страница 228: ...11 Signals Pinlist and Ballmap 228 Tsi578 User Manual June 6 2016 Integrated Device Technology www idt com ...
Страница 504: ...B Clocking P_CLK Programming 504 Tsi578 User Manual June 6 2016 Integrated Device Technology www idt com ...
Страница 526: ...Index 526 Tsi578 User Manual June 6 2016 Integrated Device Technology www idt com ...