L'I2C sta per il controller inter integrato. Il protocollo I2C è un protocollo di comunicazione seriale utilizzato per collegare dispositivi a bassa velocità. Per esempio, EEPROM, microcontrollori, convertitori A/D e D/A, E interfacce di ingresso/uscita . È stato sviluppato da Semiconduttore Philips In 1980 per la comunicazione tra chip. Quasi tutti i principali produttori di circuiti integrati ora lo utilizzano. Si tratta di una comunicazione master-slave in cui è possibile connettere e controllare più slave da un unico master. In questo ogni dispositivo slave ha un indirizzo particolare. Supporta varie velocità dati a seconda delle versioni che vanno da 100 Kbps, 400 Kbps, 1 Mbps a 3,4 Mbps. È una comunicazione sincrona come SPI.
Interfaccia I2C
Il protocollo I2C utilizza solo due cavi per la comunicazione in cui un cavo viene utilizzato per i dati (SDA) e un altro cavo viene utilizzato per l'orologio (SCL). Entrambi i cavi devono essere collegati con un resistore per + Vdd. Può essere utilizzato per collegare due bus I2C con tensioni diverse.
Applicazioni dell'I2C
È la scelta migliore per quelle applicazioni che richiedono un'implementazione semplice e meno costosa piuttosto che un'alta velocità.
- Lettura di alcuni circuiti integrati di memoria
- Accesso a DAC e ADC
- Trasmissione e controllo delle azioni dirette dall'utente
- Lettura dei sensori hardware
- Comunicare con più microcontrollori
Vantaggi dell'I2C
Ci sono i seguenti vantaggi:
- Fornisce velocità di trasmissione dati flessibili.
- Fornisce comunicazioni a lunga distanza rispetto a SPI.
- Ogni dispositivo sul bus è controllato in modo indipendente.
- Aumenta la complessità del firmware o dell'hardware di basso livello.
- Questo protocollo impone un sovraccarico che riduce anche la velocità effettiva.
- Questo protocollo richiede solo due cavi.
- Può ospitare diverse interazioni master attraverso l'arbitraggio e il rilevamento delle collisioni.
Svantaggi dell'I2C
- La complessità dell'hardware aumenta quando no. di dispositivi master/slave sono alti nel circuito.
- Fornisce una modalità half-duplex per la comunicazione.
- È gestito dallo stack.
- Molti dispositivi hanno più indirizzi memorizzati, il che può causare conflitti.
Differenza tra il protocollo I2C e SPI.
2C | SPI |
---|---|
I2C sta per controller interintegrato. | SPI sta per Serial Peripheral Interface. |
È stato sviluppato da Philips semiconductor nel 1980. | È stato sviluppato da Motorola a metà degli anni 80. |
È un protocollo half-duplex. | È un protocollo full-duplex. |
Supporta la configurazione multimaster. | Non supporta la configurazione multiple master. |
Più spese generali. | Meno spese generali. |
Il protocollo I2C utilizza due cavi per la comunicazione (CCL e SDA). | Il protocollo SPI utilizza quattro cavi per la comunicazione (MISO, MOSI, CS e CLK). |
La sua velocità di trasferimento dati varia da 100kHz a 400kHz. | La velocità di trasferimento dati arriva fino a 25 MHz. |
È un protocollo multimaster. | È un protocollo master unico. |