Functional Description
MSC8144E Reference Manual, Rev. 3
Freescale Semiconductor
24-7
24.3.2 Target Address Transmission
The first byte of data is transferred by the initiator immediately after the START condition is the
target address. This is a seven-bit calling address followed by a R/W bit, which indicates the
direction of the data being transferred to the target. Each target in the system has a unique
address. In addition, when the I
2
C module is operating as an initiator, it must not transmit an
address that is the same as its target address. An I
2
C device cannot be initiator and target at the
same time. Only the target with a calling address that matches the one transmitted by the initiator
responds by returning an acknowledge bit (pulling the SDA signal low at the 9th clock) as shown
in Figure 24-2. If no target acknowledges the address, the initiator should generate a STOP
condition or a repeated START condition. When target addressing is successful (and SCL returns
to zero), the data transfer can proceed on a byte-to-byte basis in the direction specified by the
R/W bit sent by the calling initiator.
The I
2
C module responds to a general call (broadcast) command when I2CCR[BCST] is set. See
the Philips I
2
C specification for details. A broadcast address is always zero, however the I
2
C
module does not check the R/W bit. The second byte of the broadcast message is the initiator
device ID. Because the second byte is automatically acknowledged by hardware, the receiver
device software must verify that the broadcast message is intended for itself by reading the
second byte of the message. If the device ID is for another receiver device and the third byte is a
write command, then software can ignore the third byte during the broadcast. If the device ID is
for another receiver device and the third byte is a read command, software must write 0xFF to
I2CDR with I2CCR[TXAK] = 1, so that it does not interfere with the data written from the
addressed device. Each data byte is 8 bits long. Data bits can be changed only while SCL is low
and must be held stable while SCL is high, as shown in Figure 24-2. There is one clock pulse on
SCL for each data bit, and the most significant bit (msb) is transmitted first. Each byte of data
must be followed by an acknowledge bit, which is signaled from the receiving device by pulling
the SDA line low at the ninth clock. Therefore, one complete data byte transfer takes nine clock
pulses. Several bytes can be transferred during a data transfer session. If the target receiver does
not acknowledge the initiator, the SDA line must be left high by the target. The initiator can then
generate a stop condition to abort the data transfer or a START condition (repeated START) to
begin a new calling. If the initiator receiver does not acknowledge the target transmitter after a
byte of transmission, the target interprets that the end-of-data has been reached. Then the target
releases the SDA line for the initiator to generate a STOP or a START condition.
24.3.3 Repeated START Condition
Figure 24-2 shows a repeated START condition, which is generated without a STOP condition
that can terminate the previous transfer. The initiator uses this method to communicate with
another target or with the same target in a different mode (transmit/receive mode) without
releasing the 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 ...