La selezione e l'uso di FPGA per l'interfacciamento delle automobili, la sicurezza e i carichi ad alta intensità di calcolo

Di Clive "Max" Maxfield

Contributo di Editori nordamericani di DigiKey

Tradizionalmente, i compiti di calcolo nelle automobili sono stati eseguiti da unità microcontroller (MCU) e da processori per applicazioni (AP). Un tipico veicolo di fascia media può contenere da 25 a 35 MCU/AP, mentre le auto di lusso possono averne 70 o più. Sempre più spesso, le automobili richiedono capacità estremamente sofisticate e ad alto carico computazionale per compiti come i sistemi avanzati di assistenza alla guida (ADAS), l'infotainment, il controllo, la connettività di rete e la sicurezza. Molte di queste applicazioni coinvolgono la visione artificiale sotto forma di elaborazione di immagini e video accoppiata all'intelligenza artificiale (IA).

Da sola, l'architettura del processore fatica a gestire tutte le interfacce elettriche e i protocolli necessari alle periferiche come sensori, telecamere e display. Inoltre, in molti casi, questi processori semplicemente non possono soddisfare le richieste computazionali di operazioni come la visione artificiale e l'IA.

Per affrontare questa complessità, i progettisti di sistemi automotive si stanno rivolgendo ai gate array programmabili sul campo (FPGA), non per sostituire gli MCU/AP esistenti, ma per fungere da ponti tra questi e altri dispositivi e per potenziarli scaricando le comunicazioni e altri compiti computazionalmente intensi.

Poiché gli FPGA possono essere programmati per supportare un'ampia varietà di interfacce e protocolli elettrici, possono fungere da ponte tra MCU/AP e sensori, telecamere e display. Inoltre, poiché possono eseguire calcoli e operazioni in modo massicciamente parallelo, gli FPGA possono essere utilizzati per eseguire l'elaborazione ad alta intensità di calcolo delle operazioni di visione artificiale e IA, liberando così i processori host per altre attività.

Questo articolo discute i requisiti di elaborazione dei veicoli moderni e descrive alcune delle applicazioni automotive che possono essere risolte dagli FPGA. Presenta quindi alcuni FPGA di esempio di Lattice Semiconductor e mostra come usarli per risolvere problemi di connettività, elaborazione e sicurezza. Sono inoltre presentate le schede di sviluppo associate per aiutare i progettisti a muovere i primi passi.

Applicazioni automotive target degli FPGA

Per supportare le loro capacità ADAS, oggi le automobili impiegano molti sensori esterni al veicolo, tra cui telecamere, radar, LiDAR e rilevatori a ultrasuoni. In molti casi, si devono prendere i dati da sensori disparati, elaborarli (rimuovendo il rumore e formattandoli come richiesto) e utilizzare la fusione sensoriale per combinarli in modo che l'informazione risultante abbia meno incertezza di quanto sarebbe possibile se i dati dei vari sensori fossero usati individualmente. Spesso si utilizzano applicazioni IA per analizzare questi dati, prendere decisioni e intraprendere le azioni appropriate.

Una tendenza relativamente recente è la diffusione degli specchietti retrovisori elettronici (detti anche "digitali"). In questo caso, una telecamera grandangolare ad alta risoluzione è installata all'interno del finestrino posteriore. Il flusso video da questa telecamera è presentato su un display digitale che sostituisce lo specchietto tradizionale, con il risultato di una chiara visione posteriore non ostruita dai passeggeri nei sedili posteriori. In alcuni casi, i flussi video delle telecamere montate sugli specchietti laterali possono essere fusi con il flusso video della telecamera del finestrino posteriore. Questi tre feed sono "ricuciti" per fornire una singola immagine che viene presentata su un mega specchietto elettronico, fornendo così al conducente un livello maggiore di consapevolezza situazionale su ciò che sta succedendo intorno al veicolo.

Un'altra tendenza recente è quella di distribuire telecamere in cabina montate sul cruscotto, sul piantone dello sterzo o integrate nello specchietto retrovisore (normale o elettronico). Se accoppiati con l'IA, questi specchietti in cabina possono essere impiegati per un'ampia varietà di operazioni, come riconoscere chi è seduto al posto di guida per regolare gli specchietti di conseguenza. Oltre a monitorare i conducenti per assicurarsi che stiano prestando attenzione alla strada e non si assopiscano, un tale sistema può anche fare attenzione ai segni di sonnolenza, problemi medici o difficoltà come una crisi epilettica o un infarto e intraprendere le azioni appropriate. Queste azioni possono includere l'attivazione delle luci di emergenza, l'applicazione dei freni e la guida del veicolo sulla corsia di emergenza a lato della strada. Altre applicazioni includono la garanzia che i bambini piccoli e gli animali domestici non vengano erroneamente lasciati incustoditi sui sedili posteriori, impedendo la chiusura dell'auto e facendo lampeggiare i fanali, avvisando il conducente se un passeggero dimentica qualcosa (un telefono, una borsa o un pacchetto) sul sedile posteriore.

Per quanto riguarda le applicazioni basate sul video, in alcuni casi è necessario dividere un singolo ingresso video in più flussi; in altri la progettazione potrebbe richiedere di aggregare più flussi video in uno solo.

Con la crescente diffusione dei veicoli elettrici (EV) arriva la necessità di monitorare e controllare i motori, nonché di monitorare e gestire il processo di ricarica per la massima durata della batteria.

Oltre a tutto questo, molte delle automobili di oggi stanno iniziando ad essere abilitate per il 5G o V2X, dove V2X ("Vehicle-to-everything") si riferisce alla comunicazione tra un veicolo e qualsiasi altra entità che può influenzare o essere influenzata dal veicolo, dall'infrastruttura stradale ad altri veicoli. Insieme a questa connettività arriva la necessità di sicurezza per evitare attacchi di hackeraggio.

Dispositivi di livello automotive

È importante ricordare che non tutti gli FPGA sono adatti alle applicazioni automotive. L'Automotive Electronics Council (AEC) è un'organizzazione originariamente fondata negli anni '90 da Chrysler, Ford e GM allo scopo di stabilire standard comuni di qualificazione dei componenti e dei sistemi di qualità. Uno dei documenti AEC più comunemente citati è AEC-Q100, "Failure Mechanism Based Stress Test Qualification for Integrated Circuits".

IATF 16949:2016 è una specifica tecnica finalizzata allo sviluppo di un sistema di gestione della qualità che prevede un miglioramento continuo, enfatizzando la prevenzione dei difetti e la riduzione delle variazioni e degli sprechi nella supply chain e nel processo di assemblaggio del settore automotive. Basata sulla norma ISO 9001, IATF 16949:2016 è stata creata dall'International Automotive Task Force (IATF) e dal Comitato Tecnico dell'ISO.

I fornitori di sistemi elettronici per il mercato automotive richiedono sempre di più che i fornitori di semiconduttori propongano prodotti conformi allo standard AEC-Q100 e possano dimostrare la certificazione ISO/TS-16949 dei loro sistemi di qualità.

Scegliere il giusto FPGA per ogni compito

Gli FPGA sono estremamente flessibili, ma diverse famiglie di dispositivi offrono varie combinazioni di capacità e funzioni che li rendono più adatti a compiti specifici. Nel caso delle applicazioni di visione embedded, ad esempio, le telecamere e i display moderni spesso impiegano interfacce MIPI. I protocolli MIPI CSI-2 (telecamera/sensore) e DSI (display) utilizzano uno strato fisico (PHY) di comunicazione chiamato D-PHY. Gli MCU/AP legacy potrebbero non supportare questa interfaccia, alcuni FPGA tuttavia lo fanno, come gli FPGA di visione embedded ed elaborazione CrossLink-NX di Lattice Semiconductor.

Oltre a due transceiver MIPI D-PHY a quattro canali che supportano 10 Gbit/s per PHY, i dispositivi CrossLink-NX supportano anche PCIe a 5 Gbit/s, input/output programmabili (I/O) a 1,5 Gbit/s e DDR3 a 1066 Mbit/s. Questi dispositivi supportano anche interfacce e protocolli elettrici tradizionali come LVDS (segnalazione differenziale a bassa tensione), Sub-LVDS (una versione a tensione ridotta di LVDS), Open LVDS Display Interface (OLDI) l'interfaccia seriale a Gigabit indipendente dal mezzo (SGMII). Di conseguenza, questi dispositivi possono essere utilizzati per aggregare e dividere i flussi video, eseguire applicazioni IA, e - nel contempo - fungere anche da ponte tra MCU/AP legacy e sensori e display moderni.

Gli sviluppatori di sistemi automotive interessati a valutare gli FPGA CrossLink-NX troveranno interessante la combinazione della scheda di input sensori VIP CrossLink-NX LIFCL-VIP-SI-EVN (Figura 1) e il kit di visione embedded modulare LF-EVDK1-EVN (la prima può fungere da scheda di input per la seconda). Oltre a un FPGA CrossLink-NX, la scheda di input sensori dispone anche di quattro sensori di immagine CMOS MIPI da 13 MP Sony IMX258, che supportano 4K2K a 30 fps o 1080p a 60 fps. Supportano anche una facile connettività dei sensori tramite tre interfacce PMOD indipendenti.

Immagine della scheda di input sensori CrossLink-NX VIP di Lattice SemiconductorFigura 1: La scheda di input sensori CrossLink-NX VIP, che può fungere da input per il kit di sviluppo di visione embedded, contiene un FPGA CrossLink-NX e supporta l'aggregazione di quattro sensori di immagine MIPI Sony IMX258. (Immagine per gentile concessione di Lattice Semiconductor)

Per le applicazioni ad alta intensità di calcolo che richiedono anche un'elevata larghezza di banda I/O, come IA per il riconoscimento e il controllo dei gesti, il riconoscimento e il controllo vocale, il rilevamento della presenza umana, l'identificazione degli occupanti e il monitoraggio dei conducenti, gli FPGA ECP5 di Lattice sono dotati di un serializzatore/deserializzatore (SERDES) fino a 3,2 Gbit/s, fino a quattro canali per dispositivo in blocchi a doppio canale per una maggiore granularità, fino a 85K tabelle di ricerca (LUT), blocchi di elaborazione dei segnali digitali (DSP) migliorati che forniscono 2 volte il miglioramento delle risorse per i filtri simmetrici e il supporto SEU (disturbo evento singolo). Questi FPGA offrono inoltre il supporto I/O programmabile per le interfacce di I/O LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL e MIPI D-PHY.

Un esempio di dispositivo ECP5 è LFE5U-85F-6BG554C, con 84.000 elementi logici, 3,75 Mbit di RAM e 259 I/O. È interessante anche il kit di sviluppo LFE5UM-45F-VERSA-EVNG ECP5 Versa (Figura 2). La scheda utilizza un fattore di forma PCI Express (PCIe) a metà lunghezza e permette ai progettisti di valutare le caratteristiche di connettività chiave dell'FPGA ECP5, tra cui le prestazioni PCIe, Gigabit Ethernet (GbE), DDR3 e SERDES generico.

Immagine del kit di sviluppo ECPe Versa di Lattice SemiconductorFigura 2: Presentato in un fattore di forma PCI Express a metà lunghezza, il kit di sviluppo ECPe Versa permette ai progettisti di valutare le caratteristiche di connettività chiave dell'FPGA ECP5, comprese le prestazioni PCIe, GbE, DDR3 e SERDES generico. (Immagine per gentile concessione di Lattice Semiconductor)

Proteggere le automobili con gli FPGA

Le minacce alla sicurezza da parte degli hacker stanno aumentando; le nuove violazioni sono costanti. Nel caso delle automobili, un attacco potrebbe causare la perdita di controllo con conseguenti lesioni anche fatali per i passeggeri e i pedoni, oltre che danni all'auto, ad altri veicoli e ai beni immobili.

Un aspetto importante di una soluzione di sicurezza di un'automobile è stabilire una radice di attendibilità (RoT); cioè, una risorsa hardware all'interno del sistema di cui ci si può sempre fidare. Una soluzione è una RoT hardware basata su FPGA (HRoT), come quella fornita dalla famiglia di dispositivi MachXO3D di Lattice. Oltre alle notevoli risorse LUT e al gran numero di I/O, questi dispositivi basati su flash offrono capacità di accensione istantanea e inserimento a caldo. Le applicazioni di uso generale includono glue logic, la derivazione in parallelo dei bus, l'interfacciamento dei bus, il controllo motori, il controllo dell'accensione e altre applicazioni di logica di controllo.

Di particolare interesse è il fatto che MachXO3D è l'unico FPGA con capacità dual-boot e meno di 10K LUT ed è dotato di un Immutable Security Engine certificato dal National Institute of Standards and Technology (NIST). Questo permette a MachXO3D di agire come HRoT dell'automobile sotto forma di dispositivo "primo acceso - ultimo spento" del sistema. Quando il sistema viene acceso, MachXO3D controlla prima di tutto che stia eseguendo un firmware autenticato. Poi controlla il firmware degli altri dispositivi nel sistema. Se uno qualsiasi dei componenti del sistema ha subito un attacco o risulta compromesso, incluso se stesso, MachXO3D rifiuta il firmware sospetto e ricarica quel componente con un'immagine firmware nota e autenticata.

Per gli sviluppatori interessati a valutare i progetti basati su MachXO3D, la scheda di sviluppo LCMXO3D-9400HC-D-EVN MachXO3D è una piattaforma di prototipazione estensibile (Figura 3). La scheda dispone di un dispositivo di gestione hardware L-ASC10 (rilevamento e controllo analogico), un'interfaccia I/O generale per l'uso con schede Arduino e Raspberry Pi, due posizioni per basetta Hirose FX12-40 (DNI), una basetta Aardvark (DNI) e 128 Mbit di SPI (interfaccia periferica seriale) Flash con funzione di lettura quadrupla.

Immagine della scheda di sviluppo MachXO3D di Lattice SemiconductorFigura 3: La scheda di sviluppo MachXO3D presenta un FPGA MachXO3D, un dispositivo di gestione hardware L-ASC10 (rilevamento e controllo analogico), supporto per schede Arduino e Raspberry Pi, due posizioni per basette Hirose FX12-40 (DNI), una basetta Aardvark e una connessione USB-B per la programmazione del dispositivo. (Immagine per gentile concessione di Lattice Semiconductor)

La scheda ha un fattore di forma di 102 x 152 mm e dispone di un connettore USB Mini-B per l'alimentazione e la programmazione, nonché di posizioni multiple per basette che supportano Arduino, Aardvark, FX12, Hirose e Raspberry Pi. Sono inclusi sia un cavo USB sia una guida rapida.

Conclusione

I moderni componenti elettronici per il settore automotive richiedono un numero sempre crescente di sensori, interfacce elettriche e protocolli, con corrispondenti esigenze di potenza di elaborazione e larghezza di banda. L'aggiunta dell'IA e dell'elaborazione di visione artificiale, così come i requisiti di sicurezza, complicano l'implementazione di soluzioni che utilizzano approcci classici tramite MCU o AP.

Come mostrato, con l'uso appropriato degli FPGA, i progettisti possono aggiungere un grado di flessibilità e potenza di elaborazione capace di collegare ambienti di elaborazione disparati, eseguire funzioni di aggregazione e fusione sensoriale, affrontare i requisiti di larghezza di banda I/O ed eseguire calcoli e operazioni in modo massicciamente parallelo, liberando i processori host per altre attività.

Per la sicurezza, un FPGA basato su flash con capacità dual-boot e Immutable Security Engine certificato dal NIST può agire come HRoT dell'automobile e assicurare che esso - e altri dispositivi - eseguano solo firmware autenticato, impedendo così agli hacker di compromettere crittograficamente i sistemi dell'automobile.

Ulteriori letture

  1. Nozioni di base sugli FPGA: cosa sono gli FPGA e perché sono necessari?
DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield ha conseguito la laurea in ingegneria di controllo nel 1980 presso l'Università di Sheffield Hallam, Inghilterra, e ha iniziato la carriera lavorativa come progettista delle unità di elaborazione centrale (CPU) per computer mainframe. Nel corso degli anni, Max ha progettato di tutto, dai chip di silicio alle schede a circuito stampato, dagli amplificatori per onde cerebrali ai motori di prognosticazione steampunk (davvero!). È stato anche a capo della Electronic Design Automation (EDA) per oltre 30 anni.

Max è autore e/o coautore di diversi libri, tra cui i titoli: Designus Maximus Unleashed (vietato in Alabama), Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), EDA: Where Electronics Begins, FPGAs: Instant Access e How Computers Do Math. Visita il suo blog "Max's Cool Beans".

Informazioni su questo editore

Editori nordamericani di DigiKey