I2C-I3C-Vergleich

Protocollo I2C vs I3C: differenze e analogie

Il bus I2C

L'I2C (Inter-Integrated Circuit) è un protocollo di comunicazione a bordo ideale per le brevi distanze e la bassa larghezza di banda. Ha un'architettura master-slave in cui tutti gli slave sono collegati al master tramite due linee: la linea dei dati seriali (SDA) e la linea del clock seriale (SCL). L'I2C è tipicamente utilizzato per collegare periferiche a bassa velocità, come i sensori, a processori e microcontrollori su brevi distanze, all'interno di un circuito integrato.
Il protocollo I2C definisce le modalità di invio dei dati. Inizialmente, il master emette una condizione di avvio seguita dall'indirizzo del dispositivo slave con cui sta comunicando. Una volta che lo slave corrispondente ha identificato il suo indirizzo, cerca il flag di lettura/scrittura progressivo emesso dal master. Questo flag indica allo slave se può ricevere o inviare dati. Una volta che lo slave ha riconosciuto il master, la comunicazione continua.
Una caratteristica dell'I2C è il sistema di controllo integrato: ogni byte di dati viene riconosciuto dal ricevitore con ACK o NAK per segnalare al trasmettitore se i dati sono stati ricevuti o meno. Una volta che il master ha terminato la comunicazione con lo slave indirizzato, emette una condizione di stop per segnalare la fine della trasmissione. Dopo la condizione di stop, la comunicazione con le altre unità slave può iniziare.

Il bus I3C

(Improved Inter Integrated Circuit) è noto anche come MIPI I3C e SenseWire. I3C è il nuovo standard industriale per i bus di dati seriali multi-drop. L'I3C è stato rilasciato nel 2016 come collaborazione tra aziende di elettronica e computer con la Mobile Industry Processor Interface Alliance (MIPI Alliance).  L'I3C aggiunge un numero significativo di funzionalità di interfaccia di sistema mantenendo la compatibilità verso l'alto con i dispositivi slave I²C esistenti, mentre i dispositivi I3C nativi supportano velocità di trasferimento dati più elevate simili a quelle dell'SPI (Serial Peripheral Interface). Con I3C, uno o più dispositivi master possono essere collegati a uno o più slave tramite il bus. Prodigy Technovations è uno dei primi produttori a offrire un analizzatore di protocollo I3C per questo scopo.
Analizzatori di protocollo I2C vs I3C: differenze e similitudini
L'I3C è l'evoluzione dell'I²C. L'I3C è stato originariamente concepito come interfaccia unica per tutti i sensori collegati digitalmente utilizzati in un'applicazione mobile. Tuttavia, il bus è adatto anche a tutte le applicazioni embedded a media e alta velocità che utilizzano sensori, controllori di potenza, attuatori, MCU e FPGA. L'I3C si basa e migliora le caratteristiche e i vantaggi dell'I2C mantenendo la compatibilità con il passato. L'interfaccia è utile per molte applicazioni in quanto consente il trasferimento di dati ad alta velocità a livelli di potenza molto bassi e permette il multi-drop tra il processore host e le periferiche, un aspetto molto auspicabile per qualsiasi sistema embedded. 

I2C vs I3C: quali sono le differenze?

- Design a risparmio energetico e di spazio per dispositivi mobili (smartphone e dispositivi IoT).
- Interfaccia a due pin che è un superset dello standard I2C. I vecchi dispositivi I2C slave possono essere collegati al nuovo bus.
- Interruzioni in-band sul bus seriale, invece di richiedere pin separati.
- Velocità di trasmissione dati standard (SDR) fino a 12,5 Mbit/s quando si utilizzano i livelli di I/O CMOS
- Le modalità High Data Rate (HDR) consentono una velocità di trasmissione paragonabile a quella dell'SPI, ma richiedono solo una frazione della potenza della modalità veloce dell'I2C.
- Un set standardizzato di codici di istruzioni comuni
- Supporto per code di comandi
- Rilevamento e recupero degli errori (controllo di parità in modalità SDR e CRC a 5 bit per le modalità HDR)
- Assegnazione dinamica dell'indirizzo (DAA) per gli slave I3C, ma supporta ancora gli indirizzi statici per i dispositivi I2C tradizionali
- Hot-join (alcuni dispositivi sul bus possono essere accesi e spenti durante il funzionamento)
- Funzionamento multi-master con handover chiaramente definito
- Su un bus I3C in modalità standard (SDR) possono essere supportate quattro diverse classi di dispositivi

Analizzatori di protocollo per I2C e I3C

Esistono diversi analizzatori di protocollo sul mercato. Alcuni sono specifici per un protocollo, mentre altri supportano più protocolli.
Le differenze funzionali tra la maggior parte degli analizzatori I2C e SPI sono poche. Possono presentare differenze di implementazione, come i tipi di intestazione, il numero di pin o le tolleranze di tensione/corrente, differenze che derivano dai progetti dei produttori.
La maggior parte degli analizzatori fornisce un software GUI per leggere le comunicazioni catturate sul bus. Gli analizzatori di protocollo in genere decodificano i segnali di controllo del protocollo e i dati, a differenza di un analizzatore logico standard che visualizza solo i segnali e i diagrammi di temporizzazione.
Non tutti i software sono uguali. La possibilità di visualizzare i dati in tempo reale, di avviare e interrompere le acquisizioni, di salvare e condividere le acquisizioni e di cercare e filtrare le acquisizioni non è sempre disponibile in tutti i software di analisi di protocollo. Per una maggiore flessibilità e utilizzo, alcuni analizzatori di protocollo sono dotati di un software API che consente all'utente di creare uno strumento personalizzato per le proprie esigenze specifiche.

Compatibilità degli analizzatori di protocollo e dei programmatori tra I2C e I3C

Una delle più note aziende specializzate in analizzatori di protocollo è Total Phase. Le serie Beagle e Promira sono particolarmente adatte al debug dei bus  I2C, SPI e USB. Tutti i prodotti hanno implementato una memoria interna in grado di memorizzare e visualizzare il traffico sul bus in tempo reale. Con il software gratuito Data Center di è possibile analizzare e valutare il flusso di dati,

Per eseguire il debug dell'I3C, invece, è necessario un analizzatore di protocollo I3C a causa delle velocità più elevate. Uno dei pochi analizzatori I3C disponibili sul mercato è stato sviluppato da Prodigy Technovation. Il PGY-I3C-EX-ED può essere configurato come master o slave, generare traffico I3C con iniezione di errori e decodificare i pacchetti del protocollo I3C.

Scheda host I2C/SPI di AardvarkScheda host I2C/SPI di Aardvark
Scheda host I2C/SPI di Aardvark
TP240141
L'adattatore host Aardvark I2C/SPI è uno strumento innovativo da utilizzare con i sistemi bus I2C e SPI.

309,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Analizzatore di protocollo Beagle I2C/SPI
TP320121
L'analizzatore di protocollo Beagle I2C/SPI è un adattatore host per bus I2C e SPI veloce e potente via USB

369,00 €*

Riassunto

Quando acquisti un analizzatore di protocollo o un programmatore , considera la compatibilità con il sistema operativo, le opzioni USB e il prezzo. Fai delle ricerche per ottenere esattamente ciò che ti serve e sapere cosa stai acquistando. Prendendo in considerazione tutte le opzioni disponibili, non solo potrai risparmiare, ma anche massimizzare il tuo lavoro: tu, il tuo team e i tuoi progetti potrete ottenere il massimo!