The I2C module has the following features:
- Compliance with the Philips Semiconductors I2C-bus specification (version 2.1):
- Support for 1-bit to 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 of from 10 kbps up to 400 kbps (I2C Fast-mode rate)
- One 16-byte receive FIFO and one 16-byte transmit FIFO
- One interrupt that can be used by the CPU. This interrupt can be generated as a result of one of the following conditions:
- Transmit-data ready
- Receive-data ready
- Register-access ready
- No-acknowledgment received
- Arbitration lost
- Stop condition detected
- Addressed as slave
- An additional interrupt that can be used by the CPU when in FIFO mode
- Module enable/disable capability
- Free data format mode
Figure 6-66 shows how the I2C peripheral module interfaces within the device.