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.

Table 5-23. PIC16F, PIC18F and PIC32CM I2C Features
FeaturePIC16F MSSPPIC18F MSSP/I2CPIC32CM (All Families)
Integration

Host Synchronous Serial Port (MSSP)

Stand-alone I²C

MSSP

Stand-alone I²C

Mode in SERCOM peripheral
Host/Client ModesSupportedSupportedSupported
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 BufferingUp to eight bytes FIFOUp to 16 bytes FIFO16-byte internal FIFO
DMA Support N/ASupportedSupported
Bus Speeds Supported100 kHz, 400 kHz100 kHz, 400 kHz, 1 MHz 100 kHz, 400 kHz, 1 MHz, 3.4 MHz
SMBus/PMBus SupportSMBus and PMBus compatibleSMBus and PMBus compatibleSMBus and PMBus compatible
Multi-Host ArbitrationSupportedSupportedSupported
Wake-up from SleepSupported (on address match)Supported (on address match and byte transfer)Supported (on address match)
Input FilteringSelectable SDA hold times to assist with bus capacitanceDedicated pad control with slew rate and threshold selectionsFiltered inputs, slew-rate limited outputs
4-Wire OperationN/AN/AYes (for advanced protocols)
Data Extension N/AN/A32-bit data extension
FIFO1-byte FIFO2-byte FIFO16-byte FIFO
Max Clock SpeedUp 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 IntegrationN/AN/ASupported