5.6.3 Inter-Integrated Circuit (I2C)
The PIC16F/PIC18F MSSP/I2C and the PIC32CM Serial Communication (SERCOM) provide I2C-compatible peripherals for flexible inter-device communication on a shared bus. These peripherals support Host and Client modes, standard and fast I2C speeds (up to 1 MHz), multi-host arbitration, and bus error detection. PIC18F also has an Improved I2C (I3C®) peripheral that is significantly faster and offers more advanced features. Refer to the Other PIC16F/PIC18F Features and Peripherals table for more details. Table 5-23 provides a comparison of features between PIC16F, PIC18F and PIC32CM.
| Feature | PIC16F MSSP | PIC18F MSSP/I2C | PIC32CM (All Families) |
|---|---|---|---|
| Integration |
Host Synchronous Serial Port (MSSP) Stand-alone I²C |
MSSP Stand-alone I²C | Mode in SERCOM peripheral |
| Host/Client Modes | Supported | Supported | Supported |
| Addressing |
7-bit 10-bit General call Address masking |
7-bit 10-bit General call Address masking |
7-bit 10-bit General call Address masking Dual address match |
| Data Buffering | Up to eight bytes FIFO | Up to 16 bytes FIFO | 16-byte internal FIFO |
| DMA Support | N/A | Supported | Supported |
| Bus Speeds Supported | 100 kHz, 400 kHz | 100 kHz, 400 kHz, 1 MHz | 100 kHz, 400 kHz, 1 MHz, 3.4 MHz |
| SMBus/PMBus™ Support | SMBus and PMBus compatible | SMBus and PMBus compatible | SMBus and PMBus compatible |
| Multi-Host Arbitration | Supported | Supported | Supported |
| Wake-up from Sleep | Supported (on address match) | Supported (on address match and byte transfer) | Supported (on address match) |
| Input Filtering | Selectable SDA hold times to assist with bus capacitance | Dedicated pad control with slew rate and threshold selections | Filtered inputs, slew-rate limited outputs |
| 4-Wire Operation | N/A | N/A | Yes (for advanced protocols) |
| Data Extension | N/A | N/A | 32-bit data extension |
| FIFO | 1-byte FIFO | 2-byte FIFO | 16-byte FIFO |
| Max Clock Speed | Up to 400 kHz (Fast mode) | Up to 1 MHz (Fast mode Plus) Up to 12.5 MHz (High-Speed I3C®) | Up to 3.4 MHz (High-Speed mode) |
| Event System Integration | N/A | N/A | Supported |
