The I2C bus provides
bidirectional data transfer through a 2-wire design (a serial data line SDA and a
serial clock line SCL). The I2C bus interfaces to external I2C
devices such as serial memory (RAM and ROM), networking devices, LCDs, tone
generators, and so on. The I2C bus can also be used for system testing
and diagnostic purposes in product development and manufacturing.
The CC23xx device
includes an I2C module with the following features:
- Devices on the I2C
bus can be designated as either a controller or target:
- Supports both
transmitting and receiving data as either a controller or a
target
- Supports simultaneous
controller and target operation
- Four I2C modes:
- Controller
transmit
- Controller
receive
- Target transmit
- Target receive
- Two transmission speeds:
- Standard (100
kbps)
- Fast (400 kbps)
- Controller and target
interrupt generation:
- Controller generates
interrupts when a TX or RX operation completes (or aborts due to an
error)
- Target generates
interrupts when data is transferred or requested by a controller or
when a START or STOP condition is detected
- Controller with
arbitration and clock synchronization, multi-controller support, and
7-bit addressing mode