I2C Control Registers
1791
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Inter-Integrated Circuit (I2C) Module
Table 31-15. I2C Mode Register (I2CMDR) Field Descriptions (continued)
Bit
Field
Value
Description
9
TRX
Transmit/receive bit.
This bit determines the direction of data transmission of the I2C module. See
.
0
The module is in the receive mode and data on the SDA line is shifted into the data register I2CDRR.
1
The module is in the transmit mode and the data in the I2CDXR is shifted out on the SDA line.
8
XA
Expand address enable bit.
This bit controls the addressing mode. When XA is set to 1, the I2C does not support the combined
format in master mode operations. However, the I2C will acknowledge and support the formats when
configured as a slave. This bit needs to be configured even if the I2C is in slave mode.
0
The mode is set to 7-bit addressing mode (normal address mode).
1
The mode is set to 10-bit addressing mode (expanded address mode).
7
RM
Repeat mode enable bit (Master mode only).
This bit is a ‘don’t care’ if the module is configured in slave mode (MST = 0); see
. Each
time a byte of data is received, the user should decide whether or not to continue receiving more data.
See
for a diagram of this function.
0
The mode is not in repeat mode.
1
In repeat mode, data is continuously transmitted out of the ICDXR or received into the ICDRR until the
STP bit is set to 1 regardless of ICCNT value. See
for module conditions.
6
DLB
Digital loop back enable bit.
This bit enables the digital loopback mode of the I2C. This bit only applies in Master transmitter mode.
0
Digital loop back mode is disabled.
1
Digital loop back mode is enabled. In digital loop back mode, data transmitted out of the I2CDXR will be
received in the I2CDRR. The address of the I2COAR is output on SDA.
5
nIRS
I2C reset enable bit.
When cleared to 0, this bit will place all status registers in this module to their default state. Resetting
nIRS during a data transfer can hang the I2C bus.
0
I2C is in reset.
1
I2C is out of reset.
4
STB
Start byte mode enable bit (Master mode only).
The Start byte mode bit is set to 1 by the CPU to configure the I2C in Start byte mode. The I2C sends
00000001 regardless of the I2CSAR value. Refer to the Philips I2C specification for more details.
0
The module is not in START byte mode.
1
The module is in START byte mode.
3
FDF
Free data format enable bit.
This bit configures the module to operate in free data format mode (see
) in both master
and slave modes. When FDF is 0, ARDY is asserted after ACK for the slave address. When FDF is 1,
there is no slave address. Therefore, ARDY is asserted after sending the start condition. FDF mode is
not supported in digital loop back mode.
0
The module is not in free data format mode.
1
The module is in free data format mode.
2-0
BC
Bit count.
This bit defines the number of bits starting from the LSB (excluding the acknowledge bit) that are sent
on the bus when data is written to the data transmit register.
If the bits BC0, BC1, and BC2 are all 0, then the number of bits sent on the bus is 8. If the bit count bits
are a non-zero value, then the number of bits sent on the bus is that value. The value 001 is reserved.
When performing a transfer using the bit count of, for example, n (where n is nonzero), only the n least
significant bits in the data receive register are valid and correct. The rest of the bits should be
disregarded. See
for more information.