
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Differentiate Between I2C and SPI Protocol in Computer Network
I2C Protocol
I2C stands for the inter-integrated controller. It is a serial communication protocol that can connect low-speed devices. It is a master-slave communication in which we can link and control multiple slaves from a single master. In this, each slave device has a specific address.
SPI Protocol
SPI is an interface that enables the serial (one bit at a time) exchange of data between two devices, one called a master, and the other called a slave. In this protocol, devices are linked in the master-slave relationship.
The major differences between I2C protocol and SPI protocol are as follows −
I2C Protocol | SPI Protocol |
---|---|
There are two bus lines required as a serial data line (SDA) and a serial clock line (SCL). | Three bus lines are needed; a data input line (SI1), a data output line (SO1) and a serial clock line (SCK1) [plus 1 Chip Select (CS)]. |
It can support transfer speeds of around 100kHz (original standard, or 400kHz using the most recent standard) | It is used at higher data rates (up to 10 MHz or more). |
It is used to be more efficient in multi-master, multi-slave applications. | It is used to be more efficient in point-to-point (single master, single slave) applications. |
It is used for a built-in addressing scheme, and straightforward. | It can lack built-in device addressing. |
It is used for more overhead when handling point-to-point applications. | It can take less overhead when running a point-to-point application. |
It can be suited better for communication with onboard devices that are accessed on an occasional basis. | It can be served better for applications that are naturally thought of as data streams. |
It has an acknowledgement mechanism to confirm receipt of data. | It does not have an acknowledgement mechanism to confirm receipt of data. |
Advertisements