MSC8144E Reference Manual, Rev. 3
24-8
Freescale
Semiconductor
I
2
C
24.3.4 STOP Condition
The initiator can terminate the transfer by generating a STOP condition to free the bus. A STOP
condition is defined as a low-to-high transition of the SDA signal while SCL is high. For more
information, see Figure 24-2. Note that an initiator can generate a STOP even if the target has
transmitted an acknowledge bit, at which point the target must release the bus. The STOP
condition is initiated by a software write that clears I2CCR[MSTA]. As described in Section
24.3.3, the initiator can generate a START condition followed by a calling address without
generating a STOP condition for the previous transfer. This is called a repeated START
condition.
24.3.5 Arbitration Procedure
The I
2
C interface is a true multiple initiator bus that allows more than one initiator device to be
connected on it. If two or more initiators simultaneously try to control the bus, each initiator’s
(including the I
2
C module) clock synchronization procedure determines the bus clock—the low
period is equal to the longest clock low period and the high is equal to the shortest one among the
initiators. A bus initiator loses arbitration if it transmits a logic 1 on SDA while another initiator
transmits a logic 0. The losing initiators immediately switch to target-receive mode and stop
driving the SDA line. In this case, the transition from initiator to target mode does not generate a
STOP condition. Meanwhile, the I
2
C unit sets the I2CSR[MAL] status bit to indicate the loss of
arbitration and, as a target, services the transaction if it is directed to itself.
Arbitration is lost (and I2CSR[MAL] is set) in the following circumstances:
SDA sampled as low when the initiator drives a high during address or data-transmit
cycle.
SDA sampled as low when the initiator drives a high during the acknowledge bit of a
data-receive cycle.
A START condition is attempted when the bus is busy.
A repeated START condition is requested in target mode.
The I
2
C module does not automatically retry a failed transfer attempt. If the I
2
C module is
enabled in the middle of an ongoing byte transfer, the interface behaves as follows:
Target mode—the I
2
C module ignores the current transfer on the bus and starts operating
whenever a subsequent START condition is detected. If ICCR[MEN] is set and
ICCR[RX] is cleared while the SDA signal is low and SCL is high, a false start condition
is detected. If in this case, the data bits match the I
2
C target address, then I2CSR[MAAS]
is set. The application must correct the condition to release the SCL bus.
Summary of Contents for MSC8144E
Page 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Page 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Page 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Page 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Page 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Page 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Page 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Page 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Page 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Page 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...