Consumi: il codice a barre lascia il posto al Qr
Poco più di 50 anni fa, il 26 giugno 1974, il codice a barre veniva passato per la prima volta dalla cassa del supermercato Marsh nella città di Troy, in Ohio, su una confezione
Come funzionano le architetture elettriche ed elettroniche dei veicoli di nuova generazione e dove possiamo arrivare nei prossimi anni.
L’auto ha cambiato il mondo estendendo la possibilità di muoversi, anche individualmente, permettendo così di aumentare le opportunità di lavoro, di interazione con le altre persone, di possibilità di svago e vacanze.
Inizialmente l’auto altro non era che una carrozza, alla quale al posto dei cavalli veniva posto un motore a scoppio o a vapore. Era quindi puramente meccanica, con comandi meccanici verso il motore, acceleratore, le ruote, lo sterzo e i freni. Niente elettricità, le luci erano lampade ad olio. La prima rivoluzione è stata l’introduzione dell’elettricità: avviamento motore con motorino elettrico e luci elettriche. Poi è arrivata l’elettronica, che ha permesso di estendere l’utilizzo dell’elettricità per facilitare l’uso della vettura (servofreno, servosterzo), migliorare la sicurezza (ABS, Airbag, ESP) e introdurre la connettività: il veicolo può, pur muovendosi, connettersi e ricevere informazioni (radio) o trasmetterle (GSM, 5G).
L’elettronica ha permesso questo sviluppo grazie ai microcontrollori, cioè piccoli calcolatori elettronici in grado di eseguire programmi e quindi svolgere funzioni. Un microcontrollore (ECU, Electronic Control Unit) è tipicamente collegato a dei sensori e a degli attuatori. Ad esempio, la ECU che realizza la funzione ABS, cioè impedisce il bloccaggio delle ruote in frenata, permettendo un migliore controllo del veicolo in frenata, dispone di sensori che misurano la velocità delle ruote: se una di queste si blocca, l’azionamento del freno sulla stessa ruota viene opportunamente limitato, sbloccando la ruota stessa.
Le ECU, centraline elettroniche, sono state inizialmente sviluppate per realizzare funzioni autonome tra di loro: controllo del motore, dei freni, dello sterzo, delle luci, eccetera. Senza interconnessioni tra di loro. Ma questo approccio, man mano che il veicolo diventava più complesso, poneva molti limiti, era inefficiente e costoso. Si pensi ad esempio al quadro di bordo, quello che si trova di fronte al guidatore. Tutte le centraline devono informare il guidatore di quello che stanno facendo (ad esempio accensione di fari) e di eventuali anomalie. E ricevere comandi dal guidatore attraverso i pulsanti posti vicino a quadro. Per ogni diversa segnalazione (o comando) ogni centralina dovrebbe avere dei collegamenti elettrici verso il quadro di bordo, moltiplicando in modo esponenziale il numero di collegamenti. Diventa molto più efficiente avere un collegamento digitale con un “bus di comunicazione” dove possono essere trasmessi e ricevuti comandi e informazioni. Lo stesso bus, che tipicamente utilizza due soli fili, può collegare le diverse centraline al quadro di bordo.
Se il guidatore intende accendere le luci di posizione, ad esempio, preme il relativo pulsante e la centralina del quadro di bordo invia un comando su un bus verso la centralina che controlla le luci. Questa esegue il comando e poi, quando le luci sono effettivamente accese, invia l’informazione alla centralina del quadro di bordo, che provvede ad accendere la corrispondente spia per avvisare il conducente che il comando è stato eseguito e le luci di posizione sono accese.
Un bus di comunicazione è una linea di trasmissione condivisa utilizzata per inviare informazioni da un dispositivo all’altro all’interno di un sistema o di una rete. Vediamo nel seguito alcuni tra quelli maggiormente utilizzati sul veicolo.
Bus LIN
LIN è l’acronimo di Local Interconnect Network (rete locale di Interconnessione). È un bus molto semplice, permette quindi un basso costo pur avendo un’alta affidabilità. Sul veicolo troviamo molti dispositivi molto semplici, ad esempio l’alzacristalli elettrico: riceve il comando di alzare o abbassare il vetro, niente altro. Il modulo sulla portiera funziona in modo autonomo, cioè controlla il pulsante sulla portiera e comanda il relativo motorino elettrico, ma può ricevere anche un comando via LIN: in questo modo il guidatore può controllare tutti gli alzacristalli, sia con la pulsantiera posta sulla sua portiera, sia con il telecomando, per assicurarsi che tutti i vetri siano chiusi quando lascia in sosta la vettura. Questo bus è molto semplice, solamente uno dei dispositivi collegati può essere “master” cioè inviare comandi. Gli altri dispositivi possono solo rispondere. Per queste caratteristiche è adatto solo per funzioni semplici.
Bus CAN
Il Bus CAN (Controller Area Network) è uno standard di comunicazione seriale ampiamente utilizzato nell’industria automobilistica e in altri settori per consentire la comunicazione affidabile tra diversi dispositivi elettronici all’interno di una rete. Il bus CAN consente il trasferimento di dati ad alta velocità tra i vari componenti del, veicolo, come sensori, attuatori, moduli di controllo e altri dispositivi, senza la necessità di un controller centrale. Ogni dispositivo può decidere, se vede che il bus non è impegnato, di avviare una comunicazione, cioè inviare un messaggio. Se più dispositivi iniziano a comunicare nello stesso istante, il messaggio a priorità più alta ha la precedenza. Il bus CAN è noto per la sua robustezza, affidabilità e capacità di gestire condizioni di rumore e interferenze elettromagnetiche, il che lo rende particolarmente adatto all’impiego nell’auto.
Bus Ethernet
È un bus largamente diffuso nei personal computer, che si sta iniziando ad utilizzare anche sui veicoli per collegare tra loro centraline molto complesse, come i controllori di dominio, come vedremo nel seguito.
I bus permettono quindi di creare delle “reti” di comunicazione all’interno del veicolo, collegando tra loro le varie centraline che controllano i dispositivi di bordo, realizzando quindi una architettura di rete.
Architettura distribuita
Se i dispositivi sono tra loro collegati seguendo solo i requisiti funzionali, senza creare gerarchie tra le varie centraline si realizza quella che viene chiamata architettura distribuita.
Ad esempio, per realizzare la chiusura centralizzata delle portiere, le varie centraline che controllano le singole portiere sono collegate tra di loro, con la centralina del telecomando e il quadro di bordo, mediante un bus CAN dedicato. Questa soluzione è efficiente, però poco flessibile. Secondo l’esempio precedente, sarebbe difficile aggiungere la possibilità di aprire/chiudere le portiere con un comando che parte dal proprio telefonino.
Architettura a domini
Viene introdotta una gerarchia nella rete, dove alcune centraline, più potenti, controllano dei sottosistemi (domini) del veicolo. I domini possono essere, ad esempio:
Attraverso bus dedicati ogni controllore di dominio comunica con tutte le centraline relative alle funzioni che controlla.
La comunicazione tra i diversi controllori di dominio viene di solito mediata da un “gateway”, una centralina che viene inserita soprattutto per aspetti di sicurezza, per separare tra di loro i domini, soprattutto dal dominio connettività, maggiormente esposto ad attacchi cibernetici.
Questa architettura, oltre ad essere maggiormente robusta dal punto di vista della cybersecurity, è anche più flessibile. Tornando all’esempio precedente, se si vuole introdurre la possibilità di aprire le portiere tramite il telefonino è sufficiente inserire nel dominio che controlla la connettività la possibilità di ricevere questo comando, e inviarlo al dominio che controlla le funzioni di comfort, in particolare l’apertura del veicolo.
Architettura a zone
Le centraline sono raggruppate secondo zone “geografiche”, senza alcuna relazione con le funzioni veicolo, che vengono tutte realizzate da una unità centrale.
Una unità controlla, ad esempio, ciò che si trova nella parte anteriore sinistra del veicolo, un’altra tutta la connessione verso l’esterno, un’altra l’interazione con il guidatore ed i passeggeri e così via.
In questo modo tutte le funzioni sono realizzate dal software nell’unità centrale, si realizza quindi quello che si definisce “software defined vehicle”, ne abbiamo parlato in Changes.
Aggiungere nuove funzioni diventa quindi estremamente facile, esattamente come aggiungiamo nuove applicazioni sul PC o sullo smartphone.
Come si vede la tendenza delle nuove architetture elettroniche dei veicoli tende a privilegiare una maggiore flessibilità, a consentire di modificare ed aggiungere nuove funzionalità al veicolo senza modificare l’hardware, ma solo il software, i programmi installati.
Questa flessibilità permette anche di sfruttare meglio la connettività, cioè la possibilità di comunicare con server nel cloud, anche indipendentemente dalla presenza di uno smartphone a bordo veicolo. Moltissimi nuovi veicoli dispongono di questa funzionalità.
Attraverso questa connettività è quindi possibile aggiornare le funzionalità del veicolo, per migliorarle o correggere eventuali “bachi” nel software, come anche aggiungere nuove funzionalità. Oppure realizzare funzioni “remote”, come ad esempio programmare l’accensione dell’impianto di condizionamento, in modo da trovare il veicolo alla temperatura desiderata nel momento che lo si vuole utilizzare.
L’architettura a domini si presta poi particolarmente a realizzare funzionalità di guida autonoma. Dovendo garantire, per questi sistemi, una adeguata sicurezza funzionale (cos’è? Ne abbiamo parlato qui) occorre che i sistemi critici, ma solo quelli, siano “ridondati”, cioè almeno raddoppiati, in modo che un guasto grave non comprometta il sistema. Il controllo dello sterzo, ad esempio, deve essere ridondato.
L’architettura a zone invece si presta meglio ad un utilizzo massivo dell’intelligenza artificiale. L’architettura permette qualsiasi operazione, essendo il controllo centralizzato in una unica centralina. Non ci sono quindi limitazioni alle possibili combinazioni di comandi.
E il controllo del veicolo, in questa architettura, potrebbe essere completamente delegato all’esterno, da remoto. Ad esempio, un parcheggio potrebbe realizzare un valet parking da remoto: il conducente lascia il veicolo all’ingresso del parcheggio, attiva il valet parking e un operatore del parcheggio guida il veicolo da remoto, usando i suoi sensori, telecamere, verso il parcheggio assegnato. Per la massima sicurezza, anche perché la comunicazione potrebbe avere interferenze, il veicolo mantiene attive le sue funzionalità autonome di guida assistita, per evitare ogni possibile collisione. Soluzioni di questo tipo sono già in fase di sperimentazione.
Le diverse architetture, come abbiamo visto, differiscono soprattutto nella loro flessibilità, cioè nella possibilità di essere aggiornate con nuove funzioni:
Ulteriori evoluzioni non sono, al momento, previste. L’architettura a zone già rappresenta il punto di arrivo di una tendenza verso il “computer su ruote” che si immaginava già diversi decenni fa. Un unico computer che controlla l’intero veicolo, a cui i vari dispositivi del veicolo si collegano, senza però alcuna autonomia operativa, se non per aspetti di sicurezza. E il software che controlla tutto.