Generic Embedded Protocol

SPI
UART
I2C

Difference between UART, I2C, and SPI

ProtocolComplexitySpeed# of Devices# of WiresDuplex# of master and slave
UARTSimpleSlowestUp to 2 devices1Full DuplexSingle to Single
I2CEasy to chain multiple devicesFaster than UARTUp to 127, but gets complex2Half DuplexMultiple slaves and master
SPIComplex as device increasesFastestMany, but gets complex4Full Duplex1 master, multiple slaves

Automotive Communication Protocols

CAN
LIN
FlexRay