The I2C module has the following features:
- Compliance with the NXP Semiconductors I2C-bus specification (version 2.1):
- Support for 8-bit format transfers
- 7-bit and 10-bit addressing modes
- General call
- START byte mode
- Support for multiple master-transmitters and slave-receivers
- Support for multiple slave-transmitters and master-receivers
- Combined master transmit/receive and receive/transmit mode
- Data transfer rate from 10 kbps up to 400 kbps (Fast-mode)
- One 16-byte receive FIFO and one 16-byte transmit FIFO
- Supports two ePIE interrupts
- I2Cx interrupt – Any of the below conditions can be configured to generate an I2Cx interrupt:
- Transmit Ready
- Receive Ready
- Register-Access Ready
- No-Acknowledgment
- Arbitration-Lost
- Stop Condition Detected
- Addressed-as-Slave
- I2Cx_FIFO interrupts:
- Transmit FIFO interrupt
- Receive FIFO interrupt
- Module enable and disable capability
- Free data format mode
Figure 7-79 shows how the I2C peripheral module interfaces within the device.