Interfaccia I2C: descrizione in russo

Sommario:

Interfaccia I2C: descrizione in russo
Interfaccia I2C: descrizione in russo
Anonim

Negli elettrodomestici moderni, nell'elettronica industriale e nelle varie apparecchiature per le telecomunicazioni, spesso si possono trovare soluzioni simili, sebbene i prodotti possano essere praticamente estranei. Ad esempio, quasi tutti i sistemi includono quanto segue:

  • una certa unità di controllo "intelligente", che nella stragrande maggioranza dei casi è un microcomputer a chip singolo;
  • componenti generici come buffer LCD, RAM, porte I/O, EEPROM o convertitori di dati dedicati;
  • componenti specifici, inclusi circuiti di sintonizzazione digitale e di elaborazione del segnale per sistemi video e radio.

Come ottimizzare la loro applicazione?

breve descrizione delle interfacce uart spi i2c
breve descrizione delle interfacce uart spi i2c

Per sfruttare al meglio queste soluzioni comuni a vantaggio di progettisti e produttori, nonché per migliorare le prestazioni complessive di vari hardware e semplificare i componenti dei circuiti applicati, Philips ha deciso di sviluppare il più semplice bidirezionale a due fili bus che fornisce l'inter-chip più produttivocontrollo. Questo bus fornisce il trasferimento dei dati tramite l'interfaccia I2C.

Oggi, la gamma di prodotti del produttore comprende più di 150 CMOS, oltre a dispositivi bipolari compatibili con I2C e progettati per funzionare in una qualsiasi delle categorie elencate. Va notato che l'interfaccia I2C è inizialmente integrata in tutti i dispositivi compatibili, grazie alla quale possono comunicare facilmente tra loro utilizzando un bus speciale. Grazie all'uso di tale soluzione progettuale, è stato possibile risolvere un numero abbastanza elevato di problemi di interfacciamento di varie apparecchiature, il che è abbastanza tipico per lo sviluppo di sistemi digitali.

Vantaggi chiave

interfaccia i2c
interfaccia i2c

Anche se guardi una breve descrizione delle interfacce UART, SPI, I2C, puoi evidenziare i seguenti vantaggi di queste ultime:

  • Per funzionare, hai bisogno solo di due linee: sincronizzazione e dati. Qualsiasi dispositivo che si connette a tale bus può quindi essere indirizzato a livello di codice a un indirizzo completamente univoco. In ogni momento esiste una semplice relazione che permette ai master di agire come master-trasmettitore o master-ricevitore.
  • Questo bus offre la possibilità di avere più master contemporaneamente, fornendo tutti i mezzi necessari per determinare le collisioni, nonché l'arbitrato per prevenire il danneggiamento dei dati nel caso in cui due o più master inizino a trasmettere informazioni contemporaneamente. In modalità standardviene fornita solo la trasmissione dati seriale a 8 bit a una velocità non superiore a 100 kbps e in modalità veloce questa soglia può essere aumentata quattro volte.
  • I chip utilizzano uno speciale filtro integrato che sopprime efficacemente le sovratensioni e garantisce la massima integrità dei dati.
  • Il numero massimo possibile di chip che possono essere collegati a un bus è limitato solo dalla sua capacità massima possibile di 400 pF.

Vantaggi per i costruttori

interfaccia i2c lcd1602
interfaccia i2c lcd1602

L'interfaccia I2C, così come tutti i chip compatibili, possono accelerare notevolmente il processo di sviluppo, da un diagramma funzionale al suo prototipo finale. Allo stesso tempo, va notato che grazie alla possibilità di collegare tali microcircuiti direttamente al bus senza utilizzare tutti i tipi di circuiti aggiuntivi, viene fornito spazio per un'ulteriore modernizzazione e modifica del sistema prototipo scollegando e collegando vari dispositivi dal autobus.

Ci sono molti vantaggi che fanno ris altare l'interfaccia I2C. La descrizione, in particolare, permette di vedere i seguenti vantaggi per i costruttori:

  • I blocchi sullo schema funzionale corrispondono completamente ai microcircuiti e, allo stesso tempo, viene fornita una transizione abbastanza rapida dal funzionale al fondamentale.
  • Non è necessario sviluppare interfacce bus perché il bus è già integrato nativamente in chip dedicati.
  • Protocolli di comunicazione integrati el'indirizzamento del dispositivo consente al sistema di essere completamente definito dal software.
  • Gli stessi tipi di microcircuiti, se necessario, possono essere utilizzati in applicazioni completamente diverse.
  • Il tempo totale di sviluppo è notevolmente ridotto grazie al fatto che i progettisti possono familiarizzare rapidamente con i blocchi funzionali più comunemente utilizzati, nonché con vari microcircuiti.
  • Se lo desideri, puoi aggiungere o rimuovere chip dal sistema e allo stesso tempo non avere molto effetto su altre apparecchiature collegate allo stesso bus.
  • Il tempo totale di sviluppo del software può essere notevolmente ridotto consentendo una libreria di moduli software riutilizzabili.

Tra le altre cose, vale la pena notare la procedura estremamente semplice per la diagnosi dei guasti che si sono verificati e l'ulteriore debug, che contraddistingue l'interfaccia I2C. La descrizione suggerisce che, se necessario, anche piccole deviazioni nel funzionamento di tali apparecchiature possono essere monitorate istantaneamente senza alcuna difficoltà e, di conseguenza, possono essere adottate misure adeguate. Vale anche la pena notare che i progettisti ottengono soluzioni speciali, che, in particolare, sono piuttosto interessanti per varie apparecchiature e sistemi portatili che forniscono alimentazione a batteria utilizzando l'interfaccia I2C. La descrizione in russo indica anche che il suo utilizzo consente di fornire i seguenti importanti vantaggi:

  • Grado di resistenza sufficientemente alto a qualsiasi interferenza emergente.
  • Alla finebasso consumo energetico.
  • Gamma di tensione di alimentazione più ampia.
  • Ampia gamma di temperature.

Vantaggi per i tecnici

Vale la pena notare che non solo i designer, ma anche i tecnologi hanno recentemente iniziato a utilizzare un'interfaccia I2C specializzata abbastanza spesso. La descrizione in russo indica una gamma abbastanza ampia di vantaggi offerti da questa categoria di specialisti:

  • Un bus seriale standard a due fili con questa interfaccia riduce al minimo le interconnessioni tra i circuiti integrati, il che significa che sono necessari meno pin e meno tracce, rendendo i PCB meno costosi e molto più piccoli.
  • Un'interfaccia I2C completamente integrata LCD1602 o qualche altra opzione elimina completamente la necessità di decodificatori di indirizzi e altre piccole logiche esterne.
  • È possibile utilizzare più master contemporaneamente su un tale bus, il che velocizza notevolmente i test e la successiva configurazione delle apparecchiature, poiché il bus può essere collegato a un computer della catena di montaggio.
  • La disponibilità di circuiti integrati compatibili con questa interfaccia in pacchetti VSO, SO e DIL personalizzati può ridurre notevolmente i requisiti di dimensione del dispositivo.

Questo è solo un breve elenco di vantaggi che contraddistinguono l'interfaccia I2C dell'LCD1602 e altri. Inoltre, i chip compatibili possono aumentare notevolmente la flessibilità del sistema utilizzato, fornendoprogettazione estremamente semplice di varie opzioni di equipaggiamento, nonché aggiornamenti relativamente facili per supportare ulteriormente lo sviluppo al livello attuale. Pertanto, è possibile sviluppare un'intera famiglia di apparecchiature diverse, utilizzando un determinato modello di base come base.

Ulteriori ammodernamenti delle apparecchiature e ampliamenti delle sue funzioni possono essere effettuati tramite una connessione standard al bus del microcircuito corrispondente utilizzando l'interfaccia Arduino 2C o qualsiasi altra dall'elenco disponibile. Se è necessaria una ROM più grande, sarà sufficiente selezionare un altro microcontrollore con una ROM maggiorata. Poiché i chip aggiornati possono sostituire completamente quelli vecchi, se necessario, puoi facilmente aggiungere nuove funzionalità all'apparecchiatura o aumentarne le prestazioni complessive semplicemente scollegando i chip obsoleti e quindi sostituendoli con apparecchiature più recenti.

ACCESS.bus

A causa del fatto che il bus ha una natura a due fili, oltre alla possibilità di indirizzamento del programma, una delle piattaforme più ideali per ACCESS.bus è l'interfaccia I2C. Le specifiche (la descrizione in russo è presentata nell'articolo) di questo dispositivo lo rendono un' alternativa molto più economica all'interfaccia RS-232C utilizzata in precedenza per il collegamento di varie periferiche ai computer utilizzando un connettore standard a quattro pin.

Introduzione alle specifiche

Descrizione dell'interfaccia i2c in russo
Descrizione dell'interfaccia i2c in russo

Per applicazioni moderneControllo a 8 bit, che utilizza microcontrollori, è possibile impostare alcuni criteri di progettazione:

  • Il sistema completo include principalmente un microcontrollore e altre periferiche, inclusa la memoria e varie porte I/O;
  • Il costo totale della combinazione di diversi dispositivi all'interno di un sistema dovrebbe essere ridotto al minimo il più possibile;
  • il sistema che controlla le funzioni non prevede la necessità di fornire un trasferimento di informazioni ad alta velocità;
  • l'efficienza totale dipende direttamente dall'attrezzatura scelta e dalla natura del bus di collegamento.

Per progettare un sistema che soddisfi pienamente i criteri elencati, è necessario utilizzare un bus che utilizzerà l'interfaccia seriale I2C. Sebbene il bus seriale non disponga della larghezza di banda del bus parallelo, richiede meno connessioni e meno pin del chip. Allo stesso tempo, non dimenticare che il bus include non solo i cavi di collegamento, ma anche varie procedure e formati necessari per garantire la comunicazione all'interno del sistema.

I dispositivi che comunicano utilizzando l'emulazione software dell'interfaccia I2C o del bus corrispondente devono disporre di un protocollo specifico che consenta di prevenire varie possibilità di collisione, perdita o blocco delle informazioni. I dispositivi veloci dovrebbero essere in grado di comunicare con quelli lenti e il sistema non dovrebbe dipenderedalle apparecchiature ad esso collegate, altrimenti non potranno essere utilizzate tutte le migliorie e modifiche. È inoltre necessario sviluppare una procedura con l'aiuto della quale sia realistico stabilire quale particolare dispositivo stia attualmente fornendo il controllo del bus e in quale momento. Inoltre, se allo stesso bus sono collegati dispositivi diversi con frequenze di clock diverse, è necessario decidere l'origine della sua sincronizzazione. Tutti questi criteri sono soddisfatti dall'interfaccia I2C per l'AVR e qualsiasi altro da questo elenco.

Concetto principale

Descrizione delle specifiche dell'interfaccia i2c in russo
Descrizione delle specifiche dell'interfaccia i2c in russo

Il bus I2C può supportare qualsiasi tecnologia di chip utilizzata. L'interfaccia I2C LabVIEW e altre simili prevedono l'uso di due linee per il trasferimento delle informazioni: dati e sincronizzazione. Qualsiasi dispositivo collegato in questo modo viene riconosciuto dal suo indirizzo univoco, indipendentemente dal fatto che sia un buffer LCD, un microcontrollore, un'interfaccia di memoria o tastiera, e può fungere da ricevitore o trasmettitore, a seconda dell'uso previsto per questa apparecchiatura.

Nella stragrande maggioranza dei casi, il buffer LCD è un ricevitore standard e la memoria può non solo ricevere, ma anche trasmettere vari dati. Tra le altre cose, in base al processo di spostamento delle informazioni, i dispositivi possono essere classificati come slave e master.

In questo caso, il master è il dispositivo che avvia il trasferimento dei dati e genera anchesegnali di sincronizzazione. In questo caso tutti i dispositivi indirizzabili saranno considerati slave rispetto ad esso.

L'interfaccia di comunicazione I2C prevede la presenza di più master contemporaneamente, cioè più di un dispositivo in grado di controllare il bus è in grado di collegarsi ad esso. La possibilità di utilizzare più di un microcontrollore sullo stesso bus significa che più di un master può essere inoltrato in un dato momento. Per eliminare il potenziale caos che rischia di manifestarsi quando si verifica una situazione del genere, è stata sviluppata una procedura di arbitrato specializzata che utilizza l'interfaccia I2C. Espansioni e altri dispositivi prevedono il collegamento dei dispositivi al bus secondo la cosiddetta regola del cablaggio.

La generazione del segnale di clock è responsabilità del master e ogni master genera il proprio segnale durante il trasferimento dei dati, che può cambiare solo in seguito se viene "tirato" da uno slave lento o da un altro master quando si verifica una collisione

Parametri generali

Sia SCL che SDA sono linee bidirezionali che si collegano a un alimentatore positivo con un resistore di pull-up. Quando il pneumatico è assolutamente libero, ogni linea è in posizione alta. Gli stadi di uscita dei dispositivi collegati al bus devono essere open-drain o open-collector in modo da poter fornire la funzione AND cablata Le informazioni attraverso l'interfaccia I2C possono essere trasmesse ad una velocità non superiore a 400 kbpsmodalità veloce, mentre la velocità standard non supera i 100 kbps. Il numero totale di dispositivi che possono essere collegati contemporaneamente al bus dipende da un solo parametro. Questa è la capacità di linea, che non supera i 400 pf.

Conferma

Descrizione dell'interfaccia i2c
Descrizione dell'interfaccia i2c

La conferma è una procedura obbligatoria nel processo di trasferimento dei dati. Il master genera l'impulso di sincronizzazione appropriato mentre il trasmettitore rilascia la linea SDA durante questo impulso di sincronizzazione come conferma. Dopodiché, il ricevitore deve assicurarsi che la linea SDA sia mantenuta stabile durante lo stato alto dell'orologio in uno stato basso stabile. In questo caso, assicurati di prendere in considerazione i tempi di configurazione e attesa.

Nella stragrande maggioranza dei casi, è obbligatorio che il destinatario indirizzato generi una conferma dopo ogni byte ricevuto, con l'unica eccezione quando l'inizio della trasmissione include un indirizzo CBUS.

Se il ricevitore-slave non ha modo di inviare conferma del proprio indirizzo, la linea dati deve essere lasciata alta, quindi il master potrà emettere un segnale di "Stop", che interromperà l'invio di tutte le informazioni. Se l'indirizzo è stato confermato, ma lo slave non può ricevere più dati per molto tempo, anche il master deve interrompere l'invio. Per fare ciò, lo slave non riconosce il byte successivo ricevuto e lascia semplicemente la linea alto, facendo sì che il master generi un segnale di arresto.

Se la procedura di trasferimento prevede la presenza di un master-ricevitore, allora in questo caso deve informare lo slave della fine della trasmissione, e ciò avviene non riconoscendo l'ultimo byte ricevuto. In questo caso, lo slave-trasmettitore rilascia immediatamente la linea dati in modo che il master possa emettere un segnale di "Stop" o ripetere nuovamente il segnale di "Start".

Per verificare se l'apparecchiatura funziona, puoi provare a inserire esempi standard di schizzi per l'interfaccia I2C in Arduino, come nella foto sopra.

Arbitrato

2c interfaccia arduino
2c interfaccia arduino

I master possono iniziare a inviare informazioni solo dopo che il bus è completamente libero, ma due o più master possono generare un segnale di avvio al tempo di attesa minimo. Questo alla fine si traduce in uno specifico segnale "Start" sul bus.

L'arbitrato funziona sul bus SDA mentre il bus SCL è alto. Se uno dei master inizia a trasmettere un livello basso sulla linea dati, ma contemporaneamente l' altro è alto, allora quest'ultimo viene completamente disconnesso da esso, perché lo stato SDL non corrisponde allo stato alto della sua linea interna.

L'arbitraggio può continuare su più bit. A causa del fatto che viene trasmesso prima l'indirizzo e poi i dati, l'arbitrato può durare fino alla fine dell'indirizzo e se i master si rivolgerannolo stesso dispositivo, quindi all'arbitrato parteciperanno anche dati diversi. A causa di questo schema di arbitrato, nessun dato verrà perso in caso di collisione.

Se il master perde l'arbitrato, può emettere impulsi di clock in SCL fino alla fine del byte, durante il quale l'accesso è stato perso.

Consigliato: