La Rete CAN Automobilistica: Una Rivoluzione Silenziosa nel Cuore dei Veicoli

Il progresso dell’elettronica automobilistica ha subito una vera e propria rivoluzione grazie all’introduzione del Controller Area Network, o CAN Bus. Questo sistema, sviluppato negli anni ’80, è rapidamente diventato uno standard efficace ed efficiente in numerosi settori del trasporto, ben oltre l’industria automobilistica. La sua importanza è cresciuta esponenzialmente con l'aumento delle funzionalità elettroniche all'interno dei veicoli moderni, rendendolo il principale protagonista nella comunicazione a bordo.

Architettura di una rete CAN in un veicolo

La Nascita del CAN Bus: Un’Esigenza Dettata dal Progresso

Gli anni ’80, seppur lontani in termini di evoluzione tecnologica, sono stati un periodo di grande fermento per l’elettronica applicata ai veicoli. In quel decennio, l’aria condizionata, l’ABS, l’iniezione e l’accensione elettronica, e gli airbag, da optional di lusso, iniziavano a diventare standard. L’aumento esponenziale dei dispositivi elettronici a bordo ha generato una complessità crescente nei sistemi di comunicazione. I primi tentativi di far comunicare tra loro i vari dispositivi del veicolo si scontrarono con un problema non insignificante: la gestione dell’intero sistema. Nei primi anni ’80, le auto basate solo su microprocessori potevano avere una lunghezza dei cavi superiore ai 3 km e un peso di 50 kg, un fardello notevole sia in termini di costi che di complessità e potenziale di guasto.

La necessità di un controllo più efficiente e di una significativa riduzione del cablaggio era evidente. In questo contesto, il 1981 segna un anno chiave nella storia, poiché fu allora che Bosch sviluppò un dispositivo in grado di gestire tutte le comunicazioni richieste in maniera stabile ed efficace. Questo innovativo sistema, progettato per ridurre il numero di cavi necessari in un veicolo, aumentandone l’affidabilità e la sicurezza, fu chiamato CAN - Controlled Area Network.

Un’altra pietra miliare fu raggiunta nel 1985, quando Bosch iniziò una collaborazione con Intel per sviluppare i circuiti elettronici per la trasmissione CAN. Grazie a questo slancio nello sviluppo tecnologico, il CAN Bus si diffuse rapidamente, diventando uno standard. Oggi, questo sistema è impiegato in numerosi ambiti, non solo nell’industria automobilistica. Mentre un’auto di lusso a metà degli anni ’70 e ’80 aveva un’installazione di cavi del peso di 56 kg, il peso dei cavi di un elicottero all’epoca era di 200 kg. L'introduzione del CAN ha rivoluzionato molti veicoli, minimizzando i possibili punti di guasto e consolidando la comunicazione inviando dati su una singola linea, eliminando così le preoccupazioni riguardo a molteplici connessioni che potevano causare problemi difficili da identificare. La ridondanza migliorata di un CAN Bus migliora l'affidabilità consentendo al sistema principale di rimanere operativo anche se i sottosistemi dovessero presentare malfunzionamenti.

Come Funziona il CAN Bus e la Sua Incredibile Affidabilità

Il CAN Bus è, in termini semplici, un bus per lo scambio di dati. Consente ai moduli elettronici a bordo di un veicolo di comunicare tra loro. È una rete a due fili, half-duplex, capace di raggiungere velocità fino a 1 Mbps, con il valore massimo a 40 metri di distanza, e una diminuzione della velocità all’aumentare della distanza. Ogni sottosistema della rete è un "peer", cioè può iniziare la trasmissione.

La sua elevata affidabilità deriva dalla gestione del protocollo hardware e da un robusto controllo degli errori. Il CAN Bus esegue la trasmissione senza un "master", ovvero con un meccanismo di priorità che, in caso di collisione, assicura che il bus non perda informazioni. Questo è possibile grazie al protocollo di comunicazione standardizzato come ISO 11898-1 (2015), che descrive lo strato di scambio dati (data link layer) e alcuni aspetti dello strato fisico.

Il CAN trasmette dati secondo un modello basato su bit "dominanti" (0 logici) e "recessivi" (1 logici). Quando un bit recessivo viene trasmesso e contemporaneamente un altro dispositivo trasmette un bit dominante, si verifica una collisione, ma solo il bit dominante è visibile in rete, garantendo l'integrità del messaggio a priorità più alta. Questo meccanismo si applica lo schema CSMA/BA (Carrier Sense Multiple Access/Bitwise Arbitration): se due o più dispositivi iniziano a trasmettere contemporaneamente, si applica un meccanismo di arbitraggio basato sulla priorità per decidere a quale dispositivo permettere di proseguire la trasmissione. Durante la trasmissione, ogni nodo che trasmette controlla lo stato del bus e confronta il bit ricevuto con il bit trasmesso. Se un bit dominante viene ricevuto mentre un bit recessivo è trasmesso, il nodo interrompe la trasmissione, perdendo l'arbitrato. Questo processo di arbitrato avviene durante la trasmissione del pacchetto dei dati di identificazione del nodo. I nodi che iniziano contemporaneamente a trasmettere inviano un ID dominante a 0 binario, che inizia con il bit alto. Non appena il loro ID è rappresentato da un numero più grande (quindi a priorità minore), i nodi stessi inviano un bit 1 (recessivo) e aspettano la risposta di uno 0 (dominante), quindi interrompono la trasmissione.

Un'altra caratteristica fondamentale è l'elevata resistenza alle interferenze elettromagnetiche, ottenuta grazie a diverse tecniche di trasmissione dei bit. Statisticamente, si prevede un bit difettoso una volta ogni 1000 anni di funzionamento continuo, testimoniando l'eccezionale robustezza di questo sistema.

CENTRALINE - Come funzionano e come leggerne i parametri!

Struttura della Rete CAN e le Sue Configurazioni

La linea CAN è composta da due canali sui quali viaggiano il segnale alto (CAN H) e il segnale basso (CAN L). Il circuito presenta due resistenze di terminazione da 120 Ω ciascuna, collocate in due delle centraline facenti parte della rete. Le resistenze sono poste in parallelo, quindi il loro valore equivalente è pari a 60 Ω.

Il collegamento tra le varie centraline può essere realizzato in due modi principali:

  • In serie: Nelle linee "in serie", le centraline costituiscono parte integrante del circuito elettrico.
  • In parallelo: Nella configurazione "in parallelo", il circuito si sviluppa senza passare attraverso le singoline centraline.

Questa differenza è cruciale, specialmente in caso di guasto. Ipotizzando che una ECU si guasti o smetta di comunicare a causa di un connettore ossidato o una spinetta lenta:

  • In parallelo: Si perderebbe solo la comunicazione della singola ECU.
  • In serie: Si perderebbe la comunicazione dell’intera linea.

Se il problema si trovasse lungo il cablaggio dell’anello principale o in una delle centraline contenenti le resistenze, la comunicazione andrebbe persa sia nella CAN-serie che nella CAN-parallelo. Chiaramente, a seconda del tipo di problema che si presentasse, di quale centralina smettesse di comunicare o di quale linea dati venisse interrotta, la vettura potrebbe reagire in modi differenti. Ad esempio, potrebbero essere escluse alcune funzioni optional, il motore potrebbe andare in recovery, o potrebbe essere negato l’avviamento.

Schema di una rete CAN in serie e in parallelo

I nodi in un sistema CAN Bus automobilistico possono svolgere una varietà di ruoli. Le ECU possono servire come unità di controllo per il motore, i fari, il climatizzatore, gli airbag e altri sistemi necessari per il funzionamento del veicolo. Ogni nodo è composto almeno da un controller CAN e un microcontrollore incorporato. I dati digitali vengono convertiti in messaggi sul bus dal controller CAN. Il microcontrollore incorporato elabora i dati ed esegue compiti come accendere una luce all'interno dell'auto o abbassare un finestrino. Utilizzando il CAN Bus, una singola ECU può trasmettere dati a tutte le altre ECU collegate al sistema.

La norma ISO 11898-2 descrive le specifiche per gli elementi dello strato fisico come la lunghezza del cavo, la terminazione del cavo e la velocità di trasmissione. L'implementazione della tecnologia CAN Bus consente ai produttori di automobili di adottare protocolli di diagnostica a bordo (On-Board Diagnostics), che offrono codici di problema standardizzati facilmente interpretabili dai meccanici per risolvere i problemi.

Il CAN FD (Flexible Data-Rate) estende lo strato di collegamento dati CAN originale e consente un payload aumentato da 8 a 64 byte. Ciò significa che è possibile trasmettere una quantità maggiore di dati in un singolo messaggio, migliorando l'efficienza e la velocità della comunicazione.

Funzioni e Applicazioni del CAN Bus

La risposta a "a cosa serve il CAN Bus?" potrebbe essere semplicemente "per tutto", ma per illustrare cosa si intende per "tutto", si possono fare alcuni esempi. Il CAN Bus non si limita al funzionamento dei controlli elettronici, della radio, degli airbag e di tutto ciò con cui abbiamo a che fare quotidianamente in modo tangibile. La Controlled Area Network è anche responsabile della comunicazione con l’hardware del motore.

Il CAN Bus è in grado di gestire parametri quali il carico dell’asse, lo stato dei freni, il valore di coppia corrente, la posizione dell’acceleratore, la pressione del turbo e molti altri ancora. Questo rende la comunicazione all’interno del bus CAN estremamente efficace e completa. Ad esempio, in un veicolo non dotato di sistema CAN, la centralina ABS utilizza 4 sensori (uno per ogni ruota) per misurare la velocità delle ruote, mentre la centralina di iniezione utilizza un sensore di velocità solitamente posizionato sul cambio per controllare la velocità del veicolo. Con il CAN Bus, queste informazioni possono essere condivise e utilizzate da diverse centraline, ottimizzando il funzionamento e riducendo la ridondanza dei sensori.

Le velocità di trasmissione dati nel CAN Bus variano a seconda delle applicazioni: si passa da 125Kbps a 1Mbps per applicazioni nel vano motore (centralina gestione motore, ABS/ESP - Controllo elettronico della stabilità), e a velocità inferiori per distanze maggiori (ad es. 125 kbit/s per 500 m). Il bus è composto da un doppino che connette tutti i sottosistemi del veicolo, consentendo la comunicazione tra microcontrollori in una rete o bus. Un CAN offre un metodo semplificato per fornire controlli elettronici rispetto ai sistemi utilizzati precedentemente. La linea principale chiamata "backbone" forma la base di un sistema CAN Bus, collegando tutti i microcontrollori in un veicolo e fornendo informazioni a un controller primario centralizzato responsabile del monitoraggio di tutti i sistemi elettronici.

Applicazioni del CAN Bus in un'automobile

L'Immobilizer CAN: Una Protezione Efficace Contro i Furti d'Auto

Nonostante il CAN Bus abbia celebrato il suo 40° compleanno, non mostra alcun segno di obsolescenza. È un dispositivo stabile, estremamente affidabile, collaudato e sicuro. È proprio questa sua caratteristica che è alla base dell’efficacia dell’interruzione dell’accensione tramite il CAN Bus. A questo scopo viene utilizzato un immobilizer CAN, che comunica con vari dispositivi del veicolo, interrompendo di fatto la possibilità di accensione. In questo modo, protegge l’auto dal furto, anche con metodi sofisticati come il Relay Attack, che sfrutta la ritrasmissione del segnale della chiave per avviare il veicolo.

Diagnostica della Rete CAN: Identificazione dei Guasti

Per identificare i guasti nella rete CAN, è necessario dapprima verificare l’integrità del circuito e poi verificare che il segnale viaggi nella maniera corretta. Per il primo obiettivo si utilizza un multimetro, per il secondo un oscilloscopio.

Prova di Integrità della Linea CAN

A seconda della configurazione della rete, dell’ubicazione delle resistenze di terminazione del circuito e del collegamento della presa E-OBD alla rete, il tipo di prova da effettuare e il risultato possono cambiare. È importante distinguere le prove nei vari possibili casi.

Linea Collegata alla Presa E-OBD

Le vetture più moderne possono disporre di svariate linee CAN di scambio dati e non tutte queste sono connesse al connettore E-OBD. Tuttavia, come da protocollo, la rete CAN ad alta velocità è sempre collegata alla presa diagnosi sui pin 6 e 14. Per verificare se il circuito elettrico è integro, bisogna procedere come segue:

  1. Scollegare la batteria 12V.
  2. Impostare il multimetro in modalità Ohmetro.
  3. Collegare il multimetro ai pin 6 - 14 (utilizzando un’interfaccia collegata alla presa diagnosi).

A seconda della configurazione della linea, i risultati ottenuti possono avere interpretazioni diverse.

Rete in Serie

Se la rete è integra, il valore misurato deve essere 60 Ω (±5%). Se invece il circuito fosse interrotto, il multimetro fornirebbe una misura pari a 120 Ω (±5%). Nel caso in cui i due fili, CAN H e CAN L, fossero in cortocircuito reciproco, la misura di resistenza risulterebbe pari a 0 Ω.

MisuraEsito
60 ΩLinea integra
120 ΩCircuito aperto
0 ΩCorto tra CAN H e CAN L

Tabella interpretazione misure rete CAN in serie

Rete in Parallelo

Collegando il multimetro nelle stesse condizioni precedentemente indicate, i risultati avranno bisogno di interpretazioni leggermente differenti. Infatti, il circuito sarà composto da un anello principale (cablaggio centrale + le 2 ECU contenenti le resistenze) e dal parallelo delle varie centraline in derivazione. È evidente che, a seconda di dove si presenti il guasto, l’effetto potrà essere diverso.

MisuraEsito
60 ΩAnello principale integro; derivazioni in parallelo (rosso): circuito aperto.
120 ΩAnello principale (azzurro): circuito aperto.
0 ΩCorto tra CAN H e CAN L.

Attenzione: Il valore di 60 Ω ci dice che l’anello principale è sicuramente integro, ma non che siano integre anche tutte le derivazioni in parallelo. In altre parole, il segnale CAN può viaggiare correttamente ma non è detto che tutte le centraline possano comunicare.

Le operazioni appena descritte sono state eseguite per mezzo della presa OBD, ma potevano essere eseguite indifferentemente su un qualsiasi punto del circuito CAN, come il connettore di una delle centraline facenti parte della rete. Queste prove possono velocizzare l’individuazione del guasto, soprattutto se supportate dall’utilizzo di attrezzatura diagnostica e dell’oscilloscopio.

Protocolli di Livello Applicativo e Bit Stuffing

Poiché lo standard CAN non prevede di per sé protocolli di livello applicativo, come ad esempio il controllo di flusso, l'indirizzamento dei dispositivi collegati al bus e la trasmissione di blocchi dati più grandi di un singolo messaggio, si è resa necessaria l'implementazione di appositi protocolli di livello applicativo. Questi protocolli sono responsabili della gestione di queste funzioni aggiuntive, garantendo che i dati possano essere inviati e ricevuti correttamente tra le diverse unità di controllo.

Un meccanismo fondamentale utilizzato nella trasmissione dei dati CAN è il bit stuffing (letteralmente riempimento di bit). Consiste nell'inserire un bit di valore opposto dopo cinque bit consecutivi dello stesso valore. Questa pratica è necessaria a causa della codifica utilizzata nel frame, di tipo NRZ (Non Return to Zero), che in caso di valori consecutivi uguali mantiene lo stesso valore di tensione e non genera transizioni utili a risincronizzare i dispositivi comunicanti. In assenza di transizioni, i dispositivi di ricezione potrebbero perdere la sincronizzazione con il trasmettitore, portando a errori nella decodifica dei dati.

I frame sottoposti a questa operazione vengono poi "decodificati" dal ricevitore, che rimuove i bit precedentemente inseriti, ripristinando il messaggio originale. Di conseguenza, quando vengono ricevuti sei bit uguali consecutivi dello stesso valore (ad esempio, 111111 oppure 000000), essi vengono considerati un errore, indicando un problema nella trasmissione o nel bit stuffing.

Il CAN base permette 211 = 2048 tipi di messaggi diversi, ma da specifiche Bosch se ne possono usare solo 2031. I frame che eseguono l'effettiva trasmissione dei dati sono fondamentali per il funzionamento del sistema. Un altro tipo di frame è l'Overload frame, che contiene due campi: Overload Flag e Overload Delimiter. Un overload frame dovuto a specifiche condizioni è consentito solo per essere avviato al momento del primo bit di un intervallo previsto, mentre un overload frame dovuto ad altre condizioni inizia un bit dopo aver rilevato il bit dominante. L'Overload Flag è costituito da sei bit dominanti (tutti pari a 0). La forma complessiva è come quella di un active error flag, che azzera i campi intervalli. Conseguentemente, anche gli altri nodi della rete rilevano una condizione di overload e trasmettono un overload flag. Questo meccanismo assicura che l'intera rete sia consapevole di una situazione di sovraccarico e possa reagire di conseguenza.

tags: #rede #can #automotiva