Below You'll Find Answers to the Questions We Get Asked the Most About Wireless IoT Technologies.
Interfacce periferiche universali: cos'è I2C, ADC, CAN Bus? Jun 13, 2023

Abbiamo discusso i due tipi di interfacce periferiche universali nei sistemi embedded UART e I2S nel capitolo Ⅰ . Ora impariamo a conoscere I2C, ADC e CAN bus nel capitolo.

Cos'è l'I2C?

I2C (Inter-Integrated Circuit) è un bus half duplex seriale a due fili sviluppato da Philips, utilizzato principalmente per la comunicazione tra chip a distanza ravvicinata e a bassa velocità. È uno standard bus ampiamente utilizzato nel campo del controllo della comunicazione microelettronica. È una forma speciale di comunicazione sincrona, con vantaggi quali meno linee di interfaccia, metodi di controllo semplici e packaging di dispositivi di piccole dimensioni.

I2C può trasmettere informazioni tra nodi multi-master e multi-salve utilizzando solo due fili: SDA (dati seriali) e SCL (clock seriale). La velocità di trasmissione dati bidirezionale seriale a 8 bit può raggiungere i 100 Kbit/s in modalità standard, 400 Kbit/s in modalità veloce e 3,4 Mbit/s in modalità ad alta velocità. La connessione del dispositivo è mostrata nella Figura 1.

Connessioni master-slave del bus I2C

Figura 1 Connessioni master-slave del bus I2C

Come funziona I2C?

I dati sulla linea SDA devono essere stabili durante il periodo alto della linea SCL. Lo stato HIGH o LOW della linea SDA può cambiare solo quando il segnale di clock sulla linea SCL è basso.

Il segnale dati sincrono


Figura 2 Il segnale di dati sincroni

Condizione iniziale : quando SCL è ALTO e SDA passa da ALTO a BASSO, inizia la trasmissione dei dati.

Condizione di arresto : quando SCL è ALTO e SDA passa da BASSO a ALTO, la trasmissione dei dati si interrompe.

Sia la condizione di avvio che la condizione di arresto sono emesse dai dispositivi master. Dopo che la condizione di avvio è stata generata, il bus è in uno stato occupato. E dopo che la condizione di arresto è stata generata, il bus viene rilasciato e si trova in uno stato inattivo.

In uno stato di inattività, sia SCL che SDA sono a livelli elevati. Il processo è illustrato nella Figura 3 di seguito.

Condizione di inizio e condizione di arresto

Figura 3 Condizione di avvio e condizione di arresto

Segnale di conferma: al termine della trasmissione di 1 byte, ovvero entro il 9° ciclo di clock SCL, il master deve rilasciare il bus SDA e trasferire il controllo del bus allo slave. A causa del ruolo della resistenza di pull-up, il bus è a un livello elevato in questo momento. Se lo slave riceve correttamente i dati inviati dal master, tirerà giù l'SDA, indicando un segnale di conferma.

Segnale di non riconoscimento : quando viene raggiunto il 9° ciclo di clock SCL, l'SDA rimane alto, indicando un segnale di non riconoscimento.

Ogni byte deve essere garantito per essere 8 bit. Durante la trasmissione dei dati, viene trasmesso per primo il bit più alto (MSB) e ogni byte trasmesso deve essere seguito da un bit di riconoscimento (ovvero un frame ha un totale di 9 bit). Se c'è un segnale di non riscontro da parte dello slave entro un certo tempo, automaticamente si considera che lo slave ha ricevuto correttamente i dati, e il master invia una condizione di stop per terminare la comunicazione. Il formato di trasmissione dei dati è mostrato in Figura 4.

Figura 4 Formato di trasmissione dei dati

I2C viene solitamente utilizzato per la comunicazione tra periferiche MCU o più MCU. L'interfaccia I2C ha le caratteristiche di un hardware semplice e di una facile programmazione software.


Cos'è il convertitore da analogico a digitale ( ADC )?

Nei sistemi di strumenti, è spesso necessario convertire i segnali analogici rilevati in continuo cambiamento come temperatura, pressione, portata, velocità e intensità della luce in segnali digitali discreti prima che possano essere immessi in un computer per l'elaborazione. Questi segnali analogici vengono convertiti in segnali elettrici (solitamente segnali di tensione) tramite sensori e, dopo essere stati amplificati da amplificatori, devono eseguire determinate elaborazioni per diventare segnali digitali. Il dispositivo che converte i segnali analogici in digitali è comunemente indicato come convertitore analogico-digitale (ADC), abbreviato in A/D.


Il processo di conversione A/D è un processo di campionamento, mantenimento, quantificazione e codifica. L'idea di base dell'ADC è confrontare la tensione analogica in ingresso con la tensione di riferimento (direttamente o indirettamente) e convertirla in un'uscita digitale. Esistono tre tipi di ADC: tipo a confronto parallelo, tipo ad approssimazioni successive e tipo a doppia integrazione.


Quando si utilizza ADC, le preoccupazioni più importanti sono l'accuratezza della conversione e il tempo di conversione. La precisione della conversione è principalmente influenzata da fattori esterni come la stabilità della tensione di alimentazione e della tensione di riferimento, la stabilità dell'amplificatore operazionale e la temperatura ambientale. I fattori influenzati dal chip stesso includono risoluzione, errore di quantizzazione, errore relativo, errore lineare e così via.

Cos'è il CAN Bus (Controller Area Network)?

Il nome completo del bus CAN è Controller Area Network. È un bus seriale, sincrono e half duplex. Sviluppata dalla società BOSCH in Germania, questa interfaccia periferica è uno dei bus di campo più utilizzati a livello internazionale.


Le caratteristiche del bus CAN sono le seguenti:

  • Due linee di segnale, segnale differenziale.
  • La velocità massima può raggiungere 1 Mbps.
  • Il controller CAN dispone di un potente meccanismo di rilevamento ed elaborazione degli errori integrato, con una forte tolleranza ai guasti.
  • Un frame di un messaggio CAN può trasmettere fino a 8 byte di dati utente.
  • Dotato di un meccanismo di arbitraggio del bus, può formare un sistema multi-master.

Il protocollo di comunicazione CAN è il seguente:


CAN specifica un totale di 5 tipi di frame, noti anche come pacchetti. I frame di dati sono i più importanti e complessi nella comunicazione CAN. Il frame di dati inizia con un bit esplicito (0 logico) e termina con sette bit impliciti consecutivi (1 logico).


Accesso multiplo al rilevamento della portante (CSMA): ogni nodo deve ascoltare il bus prima di tentare di inviare un messaggio. Solo quando il bus è inattivo può essere inviato.


Collision Detection+Arbitration on Message Priority (CD+AMP): risolve le collisioni attraverso la priorità del messaggio pre-programmata per bit arbitrato, con la priorità del messaggio situata nel dominio di identificazione di ciascun messaggio. I messaggi con identificatori di priorità più alta possono sempre ottenere l'accesso al bus, il che significa che l'ultimo messaggio nell'identificatore che rimane logicamente alto continuerà ad essere trasmesso perché ha una priorità più alta.

Telaio dati bus CAN

Figura 5 Frame dati del bus CAN

CAN standard : viene utilizzato solo un identificatore a 11 bit per determinare la priorità di un messaggio. Minore è il valore in questo campo, maggiore è la priorità. Come mostrato nella Figura 6.


Figura 6 Identificatore standard CAN a 11 bit

 

CAN esteso : un identificatore a 29 bit. Come mostrato nella figura 7.

Identificatore CAN esteso a 29 bit


Figura 7 Identificatore CAN esteso a 29 bit


Il bus CAN utilizza principalmente CAN a bassa velocità (ovvero lo standard ISO11898-3) nel campo del controllo industriale e utilizza CAN ad alta velocità a 125 Kbps nel campo automobilistico. Il protocollo CAN è ampiamente utilizzato in tutti i tipi di applicazioni dell'industria automobilistica, comprese autovetture, autocarri pesanti e veicoli multiuso, nonché veicoli agricoli.


La maggior parte dei moduli RF-star sono integrati con periferiche UART, ADC, I2C e I2S nell'hardware. A causa delle esigenze del mercato, UART è una delle nostre modalità di comunicazione più importanti nel software. Quasi tutti i moduli BLE e i moduli Wi-Fi di RF-star basati su TI, Silicon Labs, Nordic, Realtek e i nostri circuiti integrati auto-sviluppati sono dotati di protocollo di porta seriale UART per una trasmissione trasparente al fine di facilitare lo sviluppo dell'integrazione della fine prodotti, abbreviare il ciclo di sviluppo, risparmiare tempo e costi di qualificazione del certificato con moduli certificati e maggiore flessibilità con più progetti RF di moduli. Ad esempio, questi moduli wireless sono molto graditi:


RF-BM-2642B1 , RF-BM-BG22A1 , RF-BM-ND04 , RSBRS02ABR , RF-WM-20CMB1

Informazioni sulla tecnologia RF-star

Shenzhen RF-star Technology Co., Ltd. (RF-star) è un'azienda high-tech focalizzata sui dispositivi a radiofrequenza ed è stata l'IDH ufficiale di terze parti di Texas Instruments per oltre un decennio. RF-star fornisce moduli wireless IoT e un set completo di soluzioni, tra cui BLE, Wi-Fi, ZigBee, Thread, Matter, Wi-SUN, Sub-1G, ecc. Per ulteriori informazioni, visitare il sito Web ufficiale https: // www.rfstariot.com/ o contattaci a info@szrfstar.com.


Lasciate un messaggio

Lasciate un messaggio
Se sei interessato ai nostri prodotti e vuoi conoscere maggiori dettagli, lascia un messaggio qui, ti risponderemo il prima possibile.

Casa

Prodotto

skype

whatsapp