I2C Module Registers
1021
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
C28 Inter-Integrated Circuit Module
Table 14-5. I2C Mode Register (I2CMDR) Field Descriptions (continued)
Bit
Field
Value
Description
10
MST
Master mode bit. MST determines whether the I2C module is in the slave mode or the master
mode. MST is automatically changed from 1 to 0 when the I2C master generates a STOP condition.
0
Slave mode. The I2C module is a slave and receives the serial clock from the master.
1
Master mode. The I2C module is a master and generates the serial clock on the SCL pin.
9
TRX
Transmitter mode bit. When relevant, TRX selects whether the I2C module is in the transmitter
mode or the receiver mode.
summarizes when TRX is used and when it is a don’t care.
0
Receiver mode. The I2C module is a receiver and receives data on the SDA pin.
1
Transmitter mode. The I2C module is a transmitter and transmits data on the SDA pin.
8
XA
Expanded address enable bit.
0
7-bit addressing mode (normal address mode). The I2C module transmits 7-bit slave addresses
(from bits 6-0 of I2CSAR), and its own slave address has 7 bits (bits 6-0 of I2COAR).
1
10-bit addressing mode (expanded address mode). The I2C module transmits 10-bit slave
addresses (from bits 9-0 of I2CSAR), and its own slave address has 10 bits (bits 9-0 of I2COAR).
7
RM
Repeat mode bit (only applicable when the I2C module is a master-transmitter). The RM, STT, and
STP bits determine when the I2C module starts and stops data transmissions (see
).
0
Nonrepeat mode. The value in the data count register (I2CCNT) determines how many bytes are
received/transmitted by the I2C module.
1
Repeat mode. A data byte is transmitted each time the I2CDXR register is written to (or until the
transmit FIFO is empty when in FIFO mode) until the STP bit is manually set. The value of I2CCNT
is ignored. The ARDY bit/interrupt can be used to determine when the I2CDXR (or FIFO) is ready
for more data, or when the data has all been sent and the CPU is allowed to write to the STP bit.
6
DLB
Digital loopback mode bit. The effects of this bit are shown in
0
Digital loopback mode is disabled.
1
Digital loopback mode is enabled. For proper operation in this mode, the MST bit must be 1.
In the digital loopback mode, data transmitted out of I2CDXR is received in I2CDRR after n device
cycles by an internal path, where:
n = ((I2C input clock frequency/module clock frequency) × 8)
The transmit clock is also the receive clock. The address transmitted on the SDA pin is the address
in I2COAR.
Note: The free data format (FDF = 1) is not supported in the digital loopback mode.
5
IRS
I2C module reset bit.
0
The I2C module is in reset/disabled. When this bit is cleared to 0, all status bits (in I2CSTR) are set
to their default values.
1
The I2C module is enabled. This has the effect of releasing the I2C bus if the I2C peripheral is
holding it.
4
STB
START byte mode bit. This bit is only applicable when the I2C module is a master. As described in
version 2.1 of the Philips Semiconductors I2C-bus specification, the START byte can be used to
help a slave that needs extra time to detect a START condition. When the I2C module is a slave, it
ignores a START byte from a master, regardless of the value of the STB bit.
0
The I2C module is not in the START byte mode.
1
The I2C module is in the START byte mode. When you set the START condition bit (STT), the I2C
module begins the transfer with more than just a START condition. Specifically, it generates:
1.
A START condition
2.
A START byte (0000 0001b)
3.
A dummy acknowledge clock pulse
4.
A repeated START condition
Then, as normal, the I2C module sends the slave address that is in I2CSAR.
3
FDF
Free data format mode bit.
0
Free data format mode is disabled. Transfers use the 7-/10-bit addressing format selected by the
XA bit.
1
Free data format mode is enabled. Transfers have the free data (no address) format described in
.
The free data format is not supported in the digital loopback mode (DLB=1).