English
Language : 

HD64F3664FPV Datasheet, PDF (266/446 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
Section 15 I2C Bus Interface (IIC)
15.3 Register Descriptions
The I2C bus interface has the following registers. ICDR, SARX, ICMR, and SAR are allocated to
one address, and registers that can be accessed depend on the ICE bit in ICCR. When ICE = 0.
SAR and SARX can be accessed. When ICE = 1, ICMR and ICDR can be accessed.
• I2C bus control register (ICCR)
• I2C bus status register (ICSR)
• I2C bus data register (ICDR)
• I2C bus mode register (ICMR)
• Slave address register (SAR)
• Second slave address register (SARX)
• Timer serial control register (TSCR)
15.3.1 I2C Bus Data Register (ICDR)
ICDR is an 8-bit readable/writable register that is used as a transmit data register when
transmitting and a receive data register when receiving. ICDR is divided internally into a shift
register (ICDRS), receive buffer (ICDRR), and transmit buffer (ICDRT). Data transfers among the
three registers are performed automatically in coordination with changes in the bus state, and
affect the status of internal flags such as TDRE and RDRF. When TDRE is 1 and the transmit
buffer is empty, TDRE shows that the next transmit data can be written from the CPU. When
RDRF is 1, it shows that the valid receive data is stored in the receive buffer.
If I2C is in transmit mode and the next data is in ICDRT (the TDRE flag is 0) following
transmission/reception of one frame of data using ICDRS, data is transferred automatically from
ICDRT to ICDRS. If I2C is in receive mode and no previous data remains in ICDRR (the RDRF
flag is 0) following transmission/reception of one frame of data using ICDRS, data is transferred
automatically from ICDRS to ICDRR.
If the number of bits in a frame, excluding the acknowledge bit, is less than 8, transmit data and
receive data are stored differently. Transmit data should be written justified toward the MSB side
when MLS = 0, and toward the LSB side when MLS = 1. Receive data bits read from the LSB
side should be treated as valid when MLS = 0, and bits read from the MSB side when MLS = 1.
ICDR can be written and read only when the ICE bit is set to 1 in ICCR.
The value of ICDR is undefined after a reset.
Rev. 6.00 Mar. 24, 2006 Page 236 of 412
REJ09B0142-0600