Home | S-100 Boards | History | New Boards | Software | Boards For Sale |
Forum | Other Web Sites | News | Index |
IC2 | SPI | ||
I2C can be multi-master and multi-slave, which means there can be more than one master and slave attached to the I2C bus | SPI can be multi-save but not a multi-master. That means there can be only one master attached to the SPI bus. | ||
I2C is a half-duplex communication protocol | SPI is a full duplex commination protocol. | ||
I2C has the feature of clock stretching, that means if the slave cannot able to send fast data as fast enough then it suppresses the clock to stop the communication. | Clock stretching is not possible with SPI. | ||
I2C uses only two wires for the communication, one wire is used for the data and the second wire is used for the clock. | SPI needs three or four wire for communication (depends on requirement), MOSI, MISO, SCL and Chip-select. | ||
I2C lines require pull-up resistors. | There is no requirement of a pull-up resistor in case of the SPI. | ||
In I2C communication we get an acknowledgment bit after each byte. | Acknowledgment bits are not supported by the SPI communication protocol. | ||
I2C ensures that data sent is received by the slave device. | SPI does not verify that data was received correctly. | ||
I2C is an address base bus protocol, you have to send the address of the slave for the communication. | In case of the SPI, you have to select the slave using the slave select pin for the communication. | ||
I2C has some extra overhead due to start and stop bits. | SPI does not have start and stop bits. | ||
I2C supports multiple devices on the same bus without any additional select lines (works on the basis of device address). | SPI requires additional signals (slave select lines) lines to manage multiple devices on the same bus. | ||
I2C is better for long distances. | SPI is better for the short distances. |
This page was last modified on 07/31/2019