Guide to Arduino Communications:
If you spend any time playing with Arduinos, ATtinys or looking at AVR spec sheets, you soon encounter a bewildering smörgåsbord of acronyms for various communication protocols. With examples such as I2C, LIN, SPI, TWI, USI, etc., it can get pretty confusing. What do these terms mean? How do you choose the chip that meets your needs? How do you make use of these protocols? This guide will take the mystery out of all these acronyms, and provide a brief overview of what they mean and how you use them in your projects.
Guide to Arduino Communications - [Link]