23 Inter-Integrated Circuit (I2C)
The Inter-Integrated Circuit (I2C) module is a serial interface useful for communicating with other peripheral or microcontroller (MCU) devices. The external peripheral devices may be serial EEPROMs, display drivers, Analog-to-Digital Converters (ADC) and so on.
The I2C module can operate as any one of the following in the I2C system:
- Client Device
- Host Device in a Single Host System (Client May Be Active)
- Host or Client Device in a Multi-Host System (Bus Collision Detection and Arbitration are Available)
Key features of the I2C module include the following:
- Independent Host and Client Logic
- Supports 100 kHz, 400 kHz and 1MHz Bus Specifications
- 7-bit and 10-bit Device Addresses.
- Client Mode Can be Configured for:
- Two unique addresses
- Range of address
- General call address
- Address bit masking
- Automatic Clock Stretching Provides Delays for the Processor to Respond to a Client Data Request
- Multi-Host Support Which Prevents Message Losses in Arbitration
- Smart Mode for Minimal User Interaction and Simpler Application Code
- Supports Data Hold Time for SMBus (300 nS or 150 nS) in Client Mode
- Supports SMBus v2.0 and v3.0 Input Voltage Levels.
- Supports the Intelligent Platform Management Interface (IPMI) Standard
- System Management Bus (SMBus) and Power
Management Bus (PMBus) Support:
- Packet Error Checking (PEC) using CRC-8 calculator
- Clock low timeout, Bus idle timeout and cumulative timeout
- Frame error detection