It is common to find both I²C and SPI used at the low end of the communication protocols. Both are interfacing between two integrated circuits - Master / Slave.
- I²C - Inter-Integrated Circuit
- SPI - Serial Peripheral Interface
| I²C | SPI | |
|---|---|---|
| Number of lines required | Only 2 signal lines (Clock x 1, Data x 1) | Minimum 4 signal lines (Clock x 1, Data_Out x 1, Data_In x 1, CS (chip select) x 1 |
| Data rate | Lower speed | Higher speed |
| Power consumption | More power | Less power |
| Multiple device communication | Communicates multiple devices on the same bus | Requires additional CS line to manage multiple devices on the same bus |
| Data Verification | Ensures the slave node receives the data | Does not verify data reception |
| Overhead | More overhead includes acknowledgement, Start and Stop | Less overhead |
| Noise Sensitivity | High | Less |
See Also:
An Overview of SPI, RS-485, and SSI Protocols
Here’s a video take on the topic if you would like to check it out.