I2C Module Registers
1019
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
C28 Inter-Integrated Circuit Module
forced to their default values, and the I2C module remains disabled until IRS is changed to 1. The SDA
and SCL pins are in the high-impedance state.
•
Initiate a device reset by driving the XRS pin low. The entire device is reset and is held in the reset
state until you drive the pin high. When XRS is released, all I2C module registers are reset to their
default values. The IRS bit is forced to 0, which resets the I2C module. The I2C module stays in the
reset state until you write 1 to IRS.
IRS must be 0 while you configure/reconfigure the I2C module. Forcing IRS to 0 can be used to save
power and to clear error conditions.
14.5 I2C Module Registers
lists the I2C module registers. All but the receive and transmit shift registers (I2CRSR and
I2CXSR) are accessible to the CPU.
Table 14-4. I2C Module Registers
Name
Address
Description
I2COAR
0x7900
I2C own address register
I2CIER
0x7901
I2C interrupt enable register
I2CSTR
0x7902
I2C status register
I2CCLKL
0x7903
I2C clock low-time divider register
I2CCLKH
0x7904
I2C clock high-time divider register
I2CCNT
0x7905
I2C data count register
I2CDRR
0x7906
I2C data receive register
I2CSAR
0x7907
I2C slave address register
I2CDXR
0x7908
I2C data transmit register
I2CMDR
0x7909
I2C mode register
I2CISRC
0x790A
I2C interrupt source register
I2CEMDR
0x790B
I2C extended mode register
I2CPSC
0x790C
I2C prescaler register
I2CFFTX
0x7920
I2C FIFO transmit register
I2CFFRX
0x7921
I2C FIFO receive register
I2CRSR
-
I2C receive shift register (not accessible to the CPU)
I2CXSR
-
I2C transmit shift register (not accessible to the CPU)
NOTE:
To use the I2C module the system clock to the module must be enabled by setting the
appropriate bit in the PCLKR0 register. See
TMS320x2833x, 2823x device System Control
and Interrupts Reference Guide
(literature number