L’evoluzione della tecnologia in automobile – Puntata 2

automotive

Seconda puntata dell'articolo "L’evoluzione della tecnologia in automobile" per la Rubrica Firmware Reload di Elettronica Open Source. 

IL PROTOCOLLO CAN

L’acronimo CAN sta per: “Controller Area Network”. Realizzato e brevettato per la prima volta negli anni ottanta dalla “Robert Bosch GmbH”, si è diffuso a macchia d’olio in ambito automobilistico, grazie soprattutto alla grande presenza di Bosch all’interno di questo mercato. Può utilizzare, come mezzo di trasmissione, una linea a differenza di potenziale bilanciata come la RS-485. L’immunità ai disturbi EMC può essere ulteriormente aumentata utilizzando cavi di tipo “twisted pair” (doppini intrecciati), dove i due poli sono nominati rispettivamente “CAN-H” e “CAN-L”. In Figura 1a è mostrato un esempio di doppino e in Figura 1b quali vantaggi apporta se soggetto ad EMI. La rete nel veicolo è composta da una serie di nodi connessi tutti in parallelo con Alimentazione e CAN.

automotive

Figura 1a: Esempio di doppino intrecciato

 

automotive

Figura 1b: Rappresentazione grafica di come le EMC non compromettano l’informazione su doppino

Attraverso un’architettura parallela del genere, è davvero semplice per il progettista o il manutentore, riuscire a connettere o disconnettere una centralina senza compromettere l’integrità della rete stessa. In Figura 2 è riportato un esempio di Network in un veicolo.

CAN

Figura 2: Network CAN su veicolo con nodi principali

Questo protocollo è caratterizzato da una velocità di comunicazione che può variare dai 40 Kbit/s fino a 1 Mbit/s, a vantaggio della mole di dati trasmessa. Va altresì considerata la distanza che un segnale, avente dinamiche così rapide, può percorrere: per velocità di trasmissione pari a 1Mbit/sec, il segnale non decade per circa 40 cm. Mentre, per velocità pari a 125 Kbit/s, si riescono a percorrere anche 500 metri. È proprio per tale motivo che i costruttori di auto optano per velocità che non vanno mai oltre i 500 Kbit/s. Il CAN è considerato tra i protocolli più immuni non solo dai disturbi EMC, ma anche dai possibili guasti che possono colpire la rete. Infatti, essendo il CAN-H esattamente speculare rispetto al CAN-L, il nodo ricevente può verificare la coerenza del messaggio, semplicemente confrontando i due segnali.

Entrando più in dettaglio in quello che è il segnale CAN, si osserva una dinamica compresa tra 0 V e 5 V e, nello specifico, si considererà:

  • segnale logico ALTO se: CAN H > 3,5V e CAN L < 1,5V
  • segnale logico BASSO se: 1,5 V < CAN H e CAN L < 3,5 V

In pratica, si considera livello logico alto (detto Dominante), se la differenza di potenziale è maggiore di 2 V, mentre al di sotto di questa soglia è considerato livello logico basso (detto Recessivo), come mostrato in Figura 3.

CAN

Figura 3: Livelli logici del segnale CAN

In caso d’interruzione o corto circuito verso GND o VCC di uno dei due canali, i dati continuano comunque a raggiungere il nodo ricevente che riesce comunque, con i dovuti accorgimenti, a decodificare l’informazione trasmessa. L’architettura della rete appena descritta va anche a vantaggio di una notevole semplificazione del cablaggio, come mostrato in Figura 4. Oltre alla questione concernente la semplicità di scambio d’informazioni tra le diverse centraline, la rete comprende anche applicazioni destinate a comunicare ai dispositivi ad essa connessi eventuali informazioni riguardanti la diagnosi delle sue parti.

automotive

Figura 4: Esempio di cablaggi elettrici all’interno di un veicolo di fascia media

Solitamente, in fase di progettazione dell’architettura di un SW embedded, circa il 50% del codice scritto ha lo scopo di asservire tutte le logiche di diagnosi e gestione delle routine di recupero. Ovviamente, per la risoluzione di un guasto è necessario un intervento da parte di un tecnico d’officina, il quale interrogherà il sistema e, in funzione della risposta ricevuta, potrà individuare i componenti guasti effettuando l’intervento di riparazione. È semplice intuire che i singoli codici di errore delle varie centraline possono variare a discrezione dei diversi produttori, e possono differire a seconda del modello di vettura. Sarà quindi molto difficile, senza un database che ne consenta l’interpretazione, comprendere il significato dei vari codici diagnostici generati dal sistema. Oggi, la maggior parte dei veicoli di qualsiasi fascia (alta, media o bassa che sia) è dotata all’interno di una o più reti CAN. Per i più curiosi, sotto la scatola fusibili è solitamente presente una “presa diagnostica” (utilizzata dalle officine per eseguire l’analisi del veicolo), così rappresentata in Figura 5.

OBD

Figura 5: Presa OBD per la connessione alla rete CAN

Questo tipo di connettore ha una serie di poli attraverso i quali è possibile raggiungere, senza particolari difficoltà, i due pin del CAN. Come detto precedentemente, all’interno di un veicolo potranno essere presenti altre reti ausiliarie, come la K-Line o la rete LIN. Anche queste saranno riportare sulla OBD insieme all’alimentazione e alla massa, di modo che il sistema di diagnosi utilizzi gli stessi riferimenti di tensione del veicolo per eseguire le operazioni di analisi. Uno dei protocolli maggiormente usati, non solo in ambito automobilistico ma anche per lo sviluppo di applicazioni industriali come macchine a controllo numerico, è il CANopen. Come anticipato, la codifica del protocollo CAN varia da costruttore a costruttore, ma poiché una rete progettata con questa tipologia di protocollo presenta innumerevoli vantaggi in termini di robustezza e semplicità, si è pensato di realizzarne una codifica standard, riuscendo così a garantire un’uniformità tra i vari costruttori che utilizzano il suddetto sistema di comunicazione.

SVILUPPO HOBBISTICO SUL PROTOCOLLO CAN

Con l’avvento delle ultime piattaforme di sviluppo, oltre ai classici protocolli come SPI, Seriale e I2C, in numerosi modelli di micro è stato anche aggiunto il protocollo CAN. Prima, infatti, in caso di assenza di questo driver, era necessario acquistare moduli addizionali che convertissero il segnale codificato CAN in uno dei protocolli “canonici”. Oggi, i vari costruttori di microcontrollori mettono a disposizione degli utenti numerose librerie, semplificando notevolmente la vita del programmatore. È il caso della nuova famiglia Microchip PIC18 e PIC32, che all’interno del medesimo componente ha aggiunto, oltre al CAN, anche Ethernet ed USB. Negli ultimi anni, i sistemi Open-Source come Arduino hanno permesso agli hobbisti di avvicinarsi al mondo dell’elettronica, abbattendo le grandi barriere come, ad esempio, quella della configurazione di strumenti di sviluppo complessi. Ad oggi, purtroppo, nella famiglia Arduino non vi sono micro con driver CAN incorporati, ma con pochi euro è possibile acquistare una shield addizionale che permette di ricevere ed inviare dati su protocollo CAN, come mostrato in Figura 6.

Arduino

Figura 6: Shield Arduino CAN-bus

Grazie a questo sistema, moltissimi utenti hanno avuto la possibilità di realizzare piccoli sistemi di infotainment “home made” all’interno del proprio veicolo, utilizzando informazioni presenti sulla rete CAN, come le diverse temperature del motore e dell’abitacolo, il numero di giri o la velocità istantanea del veicolo, informazioni che potranno essere plottate su un TFT in maniera più o meno accattivante, o con l’ausilio di un ricetrasmettitore Bluetooth, si ha la possibilità di inviare i dati ad un tablet senza necessariamente cablare alcun collegamento all’interno del veicolo.

CONCLUSIONI

L’avvicendarsi delle sempre più moderne tecnologie, ha apportato negli ultimi trent’anni grandissimi cambiamenti nel nostro modo di vivere la quotidianità, e di certo il mondo dell’automobile non ne è stato esente. Difatti, per tutti i lettori della rivista che trascorrono almeno qualche ora della loro giornata in automobile, questo articolo potrebbe essere spunto di riflessione sul come, anche all’interno di un autoveicolo, il firmware sia uno degli attori principali, e su come l’evoluzione tecnologica dei sistemi elettromeccanici, in complessi insiemi di centraline, capaci di comunicare e cooperare tra loro attraverso protocolli come il CAN, stia migliorando gli standard di sicurezza e comfort di chi passa lunghe ore alla guida di un veicolo.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend