English
Language : 

PXN20RM Datasheet, PDF (1054/1376 Pages) Freescale Semiconductor, Inc – PXN20 Microcontroller
Inter-Integrated Circuit Bus Controller Module (I2C)
Table 32-6. IBSR Field Descriptions (continued)
Field
Description
bit 4 Reserved for future use. A read returns 0; must be written as 0.
SRW
Slave Read/Write. When IAAS is set, this bit indicates the value of the R/W command bit of the calling address sent
from the master. This bit is valid only when the I-bus is in slave mode, a complete address transfer has occurred with
an address match and no other transfers have been initiated. By programming this bit, the CPU can select slave
transmit/receive mode according to the command of the master.
0 Slave receive, master writing to slave.
1 Slave transmit, master reading from slave.
IBIF I-Bus Interrupt Flag. The IBIF bit is set when one of the following conditions occurs:
• Arbitration lost (IBAL bit set)
• Byte transfer complete (TCF bit set and DMAEN bit not set)
• Addressed as slave (IAAS bit set)
• NoAck from slave (MS and TX bits set)
• I2C bus going idle (IBB high-low transition and enabled by BIIE)
A processor interrupt request is generated if the IBIE bit is set. This bit must be cleared by software, by writing a 1
to it. A write of 0 has no effect on this bit. In DMA mode (DMAEN set), a byte transfer complete condition does not
trigger the setting of IBIF. All other conditions apply.
RXAK
Received Acknowledge. This is the value of SDA during the acknowledge bit of a bus cycle. If the received
acknowledge bit (RXAK) is low, it indicates an acknowledge signal has been received after the completion of 8 bits
data transmission on the bus. If RXAK is high, it means no acknowledge signal is detected at the 9th clock.
0 Acknowledge received.
1 No acknowledge received.
32.3.2.5 I2C Bus Data I/O Register (IBDR)
Offset: 0x0004
Access: User read/write
0
1
2
3
4
5
6
7
R
Data
W
Reset
0
0
0
0
0
0
0
0
Figure 32-8. I2C Bus Data I/O Register (IBDR)
In master transmit mode, when data is written to IBDR, a data transfer is initiated. The most significant bit
is sent first. In master receive mode, reading this register initiates next byte data receiving. In slave mode,
the same functions are available after an address match has occurred. The TX bit in the IBCR must
correctly reflect the desired direction of transfer in master and slave modes for the transmission to begin.
For instance, if the I2C is configured for master transmit but a master receive is desired, then reading the
IBDR does not initiate the receive.
Reading the IBDR returns the last byte received while the I2C is configured in either master receive or
slave receive modes. The IBDR does not reflect every byte that is transmitted on the I2C bus, nor can
software verify that a byte has been written to the IBDR correctly by reading it back.
In master-transmit mode, the first byte of data written to IBDR following assertion of MS is used for the
address transfer and should comprise the calling address (in position D0–D6) concatenated with the
required R/W bit (in position D7).
32-10
PXN20 Microcontroller Reference Manual, Rev. 1
Freescale Semiconductor