Spiegazione dettagliata dei fondamenti del bus CAN

Nov 05, 2025 Lasciate un messaggio

Il bus CAN (Controller Area Network) è un protocollo di comunicazione seriale in tempo reale- altamente affidabile utilizzato nei veicoli, nell'automazione industriale e in altri campi. Consente a più microcontrollori e dispositivi di comunicare tra loro senza un computer host.

 

 
 

e9496828-f803-11ee-a297-92fbcf53809c.png

Il bus CAN è stato originariamente sviluppato da Bosch in Germania all'inizio degli anni '80 per la comunicazione a bordo dei veicoli. Nel 1993, l'ISO ha pubblicato lo standard del bus CAN (ISO 11898), che comprende sia il protocollo del livello di collegamento dati che quello del livello fisico.

ISO 11898-1: definisce il protocollo del livello di collegamento dati.

ISO 11898-2: definisce il protocollo del livello fisico per il bus CAN ad alta-velocità, supportando una velocità di trasferimento dati massima di 1 Mbps. Raccomanda una topologia lineare ed è adatto per applicazioni con elevati requisiti di tempo reale.

ISO 11898-3: definisce il protocollo del livello fisico per il bus CAN a bassa-velocità, con velocità di trasferimento dati comprese tra 40 Kbps e 125 Kbps. Conosciuto anche come CAN tollerante ai guasti-, consente la comunicazione continua anche in caso di guasto di una linea di segnale, rendendolo adatto per applicazioni con requisiti di tempo reale inferiori.

 

Caratteristiche del bus CAN:

 

Controllo multi-master:Il bus CAN supporta più dispositivi master che coesistono sulla rete senza una gerarchia master{0}}slave. I dispositivi comunicano in base alla priorità del messaggio.

 

Segnalazione differenziale:Utilizza due fili (CAN_H e CAN_L) per trasmettere segnali differenziali, migliorando la resistenza alle interferenze elettromagnetiche.


Arbitrato non-distruttivo:Durante la trasmissione del messaggio, se si verifica una collisione, il messaggio con priorità-più alta viene trasmesso mentre il messaggio con priorità-bassa attende la ritrasmissione.

 

Rilevamento e gestione degli errori:Presenta robuste funzionalità di rilevamento e gestione degli errori, inclusa la verifica del checksum CRC e il controllo degli errori di bit.

 

Topologia flessibile:Supporta più topologie di rete come configurazioni lineari, a stella, ad albero e ad anello.

 

Sul CAN-Bus la notevole differenza di tensione tra "0" e "1" logico garantisce una comunicazione affidabile. Facendo riferimento a quanto sopra descritto i due livelli logici presenti sul bus CAN sono:

Dominante: 0

Recessivo: 1

I livelli del segnale sul bus CAN mostrano la linea-e le caratteristiche. Questa linea-e questo comportamento costituiscono la base del circuito per l'arbitraggio del bus CAN: il livello dominante (0) maschera sempre il livello recessivo (1). Se diversi nodi trasmettono simultaneamente livelli dominanti e recessivi, il bus presenta il livello dominante (0). Solo quando tutti i nodi trasmettono il livello recessivo (1) il bus mostra lo stato recessivo.

Livello dominante:0 logico. Nel CAN ad alta-velocità, il pin CAN_H porta a 5 V, mentre il pin CAN_L porta a 0 V.

Livello sottomesso:Logica 1. Nessuno dei due pin è azionato.

e95a17f4-f803-11ee-a297-92fbcf53809c.png

 

I bus CAN ad alta-velocità e CAN a bassa-velocità differiscono nelle definizioni del livello del segnale del livello fisico:

Il CAN ad alta-velocità definisce un "1" logico quando le tensioni CANH e CANL sono uguali (CANH=CANL=2.5V) e uno "0" logico quando la differenza di tensione tra CANH e CANL è 2 V (CANH=3.5V, CANL=1.5V).

All'interno dell'intervallo di tensione di modo comune- (da -12 V a 12 V), il ricetrasmettitore CAN ad alta velocità interpreta una differenza di tensione maggiore di 0,9 V tra CANH e CANL come stato dominante e una differenza inferiore a 0,5 V come stato recessivo. Un circuito di isteresi interno riduce le interferenze.

Il CAN a bassa-velocità definisce un "1" logico quando la differenza di tensione tra CANH e CANL è 5 V (CANH=0V, CANL=5V) e uno "0" logico quando la differenza di tensione è 2,2 V (CANH=3.6V, CANL=1.4V).

e968b9bc-f803-11ee-a297-92fbcf53809c.pngLivelli di segnale CAN ad alta-velocità (ISO 11898-2)e976dace-f803-11ee-a297-92fbcf53809c.pngLivelli di segnale CAN-a bassa velocità (ISO 11898-3)

 

Meccanismi di gestione degli errori CAN:

Errori CRC:Rileva gli errori calcolando e verificando il valore CRC dei dati.

Errori di bit:Rileva gli errori di bit in tempo reale-durante la trasmissione.

Frame di errore:Invia frame di errore per richiedere la ritrasmissione quando vengono rilevati errori.


Riepilogo

 

Il bus CAN ha ottenuto un'adozione diffusa in più campi grazie alla sua elevata affidabilità, prestazioni in tempo reale-e flessibilità. Con l'avanzare della tecnologia, il bus CAN continua ad evolversi-ad esempio, lo standard CAN FD (Flexible Data-Rate) rilasciato da BOSCH migliora ulteriormente la velocità di trasmissione dei dati per soddisfare le esigenze delle applicazioni che richiedono una larghezza di banda più elevata.

Invia la tua richiesta

whatsapp

Telefono

Posta elettronica

Inchiesta