Panoramica e vantaggi del bus I2C

Sommario:

Panoramica e vantaggi del bus I2C
Panoramica e vantaggi del bus I2C
Anonim

Sviluppato da Philips negli anni '80, I2C (in alternativa I2C) è diventato uno dei protocolli di comunicazione seriale più comunemente usati nell'elettronica. I2C facilita la comunicazione tra componenti elettronici o circuiti integrati, indipendentemente dal fatto che i componenti si trovino sullo stesso PCB o siano collegati con un cavo.

Image
Image

Cos'è il protocollo I2C?

I2C è un protocollo di comunicazione seriale che richiede solo due linee di segnale. È stato progettato per la comunicazione tra chip su un circuito stampato (PCB). I2C è stato originariamente progettato per la comunicazione a 100 Kbps. Tuttavia, negli anni sono state sviluppate modalità di trasmissione dati più veloci per raggiungere velocità fino a 3.4 Mbit.

La caratteristica chiave di I2C è la capacità di avere molti componenti su un unico bus di comunicazione con solo due fili, il che rende I2C perfetto per applicazioni semplici. Il protocollo I2C è stato stabilito come standard ufficiale, consentendo la compatibilità con le versioni precedenti tra le implementazioni I2C.

Segnali I2C

Il protocollo I2C utilizza due linee di segnale bidirezionali per comunicare con i dispositivi sul bus di comunicazione. I due segnali utilizzati sono:

  • Linea dati seriale (SDL)
  • Orologio dati seriale (SDC)

Il motivo per cui I2C può utilizzare solo due segnali per comunicare con diverse periferiche risiede nel modo in cui viene gestita la comunicazione lungo il bus. Ogni comunicazione I2C inizia con un indirizzo a 7 bit (o 10 bit) che richiama l'indirizzo della periferica.

Ciò consente a più dispositivi sul bus I2C di svolgere il ruolo di dispositivo principale in base alle esigenze del sistema. Per prevenire le collisioni di comunicazione, il protocollo I2C include capacità di arbitraggio e rilevamento delle collisioni, che consentono una comunicazione fluida lungo il bus.

Vantaggi di I2C

Come protocollo di comunicazione, I2C presenta i seguenti vantaggi:

  • Tassi di trasmissione dati flessibili.
  • Comunicazione a distanza maggiore rispetto a SPI.
  • Ogni dispositivo sul bus è indirizzabile in modo indipendente.
  • I dispositivi hanno una semplice relazione primaria/secondaria.
  • Richiede solo due linee di segnale.
  • È in grado di gestire più comunicazioni primarie fornendo l'arbitrato e il rilevamento delle collisioni di comunicazione.

Limitazioni di I2C

Con tutti questi vantaggi, I2C ha anche alcune limitazioni che potrebbero dover essere progettate intorno. Le limitazioni I2C più importanti includono:

  • Poiché sono disponibili solo 7 bit (o 10 bit) per l'indirizzamento dei dispositivi, i dispositivi sullo stesso bus possono condividere lo stesso indirizzo. Alcuni dispositivi possono configurare gli ultimi bit dell'indirizzo, ma ciò impone una limitazione dei dispositivi sullo stesso bus.
  • Sono disponibili solo poche velocità di comunicazione limitate e molti dispositivi non supportano la trasmissione a velocità più elevate. È necessario un supporto parziale per ciascuna velocità dell'autobus per evitare che i dispositivi più lenti ricevano trasmissioni parziali che potrebbero causare problemi operativi.
  • La natura condivisa del bus I2C può causare la sospensione dell'intero bus quando un singolo dispositivo sul bus smette di funzionare. Spegnere e riaccendere il bus per ripristinare il corretto funzionamento.
  • Poiché i dispositivi impostano la propria velocità di comunicazione, i dispositivi operativi più lenti possono ritardare il funzionamento dei dispositivi più veloci.
  • I2C assorbe più energia rispetto ad altri bus di comunicazione seriale a causa della topologia open-drain delle linee di comunicazione.
  • Le limitazioni del bus I2C in genere limitano il numero di dispositivi su un bus a circa una dozzina.

Applicazioni I2C

I2C è un'ottima opzione per le applicazioni che richiedono un basso costo e un'implementazione semplice piuttosto che un' alta velocità. Ad esempio, gli usi comuni del protocollo di comunicazione I2C includono:

  • 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.

Consigliato: