Selectarea și utilizarea FPGA-urilor pentru interfațare, securitate și sarcini care necesită putere mare de calcul în domeniul auto

By Clive "Max" Maxfield

Contributed By DigiKey's North American Editors

În mod tradițional, sarcinile de calcul din automobile au fost efectuate de unități microcontroler (MCU) și procesoare de aplicații (AP). Un vehicul tipic de clasă medie poate conține între 25 și 35 de MCU-uri/AP-uri, în timp ce mașinile de lux pot folosi 70 sau mai multe. Din ce în ce mai des, automobilele necesită capacități extrem de sofisticate, cu putere mare de calcul, pentru sarcini precum cele ale sistemelor avansate de asistență pentru șofer (ADAS), infotisment, control, rețele și securitate. Multe dintre aceste aplicații implică vederea artificială sub formă de procesare a imaginilor și a imaginilor video, în tandem cu inteligența artificială (AI).

Singură, arhitectura procesorului se luptă să gestioneze toate interfețele și protocoalele electrice solicitate de dispozitivele periferice, cum ar fi senzorii, camerele și afișajele. De asemenea, în multe cazuri, aceste procesoare pur și simplu nu pot îndeplini cerințele extreme de calcul ale unor sarcini precum vederea artificială și inteligența artificială.

Pentru a aborda această complexitate, proiectanții de sisteme pentru automobile apelează la rețelele de porți programabile în câmp (FPGA), nu pentru a înlocui MCU-urile/AP-urile existente, ci mai degrabă pentru a acționa ca punți între acestea și alte dispozitive și pentru a le îmbunătăți prin descărcarea comunicațiilor și a altor sarcini care necesită putere mare de calcul.

Deoarece FPGA-urile pot fi programate pentru a accepta o mare varietate de interfețe și protocoale electrice, acestea pot acționa ca punți de legătură între MCU/AP și senzori, camere și afișaje. De asemenea, deoarece pot efectua calcule și operațiuni de tipul „massively parallel”, FPGA-urile pot fi utilizate pentru a executa sarcini de procesare a vederii și de inteligență artificială care necesită putere mare de calcul, eliberând astfel procesoarele gazdă pentru alte activități.

Acest articol analizează cerințele de procesare ale vehiculelor moderne și descrie unele dintre aplicațiile auto care pot fi abordate de FPGA-uri. În continuare, sunt prezentate câteva exemple de FPGA-uri de la Lattice Semiconductor și se arată cum pot fi acestea utilizate pentru a rezolva probleme de conectivitate, procesare și securitate. De asemenea, se prezintă plăci de dezvoltare asociate, pentru a-i ajuta pe proiectanți să înceapă.

Aplicații auto țintă pentru FPGA-uri

Pentru a-și susține capacitățile ADAS, automobilele din ziua de azi utilizează numeroși senzori în afara vehiculului, inclusiv camere de luat vederi, radare, LiDAR și detectoare cu ultrasunete. În multe cazuri, este necesar să se preia date de la senzori diferiți, să se preproceseze aceste date (eliminând zgomotul și formatându-le după cum este necesar) și să se utilizeze fuziunea senzorilor pentru a combina datele, astfel încât informațiile rezultate să aibă mai puțină incertitudine decât ar fi posibil în cazul în care datele de la diferiți senzori ar fi utilizate individual. În multe cazuri, aplicațiile de inteligență artificială sunt utilizate pentru a analiza datele, a lua decizii și a aplica acțiunile adecvate.

O tendință relativ recentă este implementarea oglinzilor retrovizoare electronice (cunoscute și ca „digitale”). În acest caz, o cameră cu unghi larg și de înaltă rezoluție este instalată în interiorul lunetei. Fluxul video de la această cameră este prezentat pe un afișaj digital care înlocuiește oglinda tradițională, rezultând într-o vedere clară în spate, care nu este obstrucționată de pasagerii de pe locurile din spate. În unele cazuri, fluxurile video de la camerele montate pe oglinzile laterale pot fi combinate cu fluxul video de la camera de pe lunetă. Aceste trei fluxuri sunt „îmbinate” pentru a furniza o singură imagine care este prezentată pe o oglindă electronică foarte largă, oferind astfel șoferului un grad mult mai mare de conștientizare situațională a ceea ce se întâmplă în jurul vehiculului.

O altă tendință recentă constă în instalarea de camere de luat vederi în cabină, montate pe tabloul de bord, pe coloana de direcție sau integrate în oglinda retrovizoare (obișnuită sau electronică). În combinație cu inteligența artificială, aceste oglinzi din cabină pot fi utilizate pentru o mare varietate de sarcini, cum ar fi recunoașterea persoanei de pe scaunul șoferului și reglarea scaunului și a oglinzilor în mod corespunzător. În plus, pe lângă monitorizarea șoferilor pentru a evita situațiile în care atenția le este distrasă și ațipesc, un astfel de sistem poate să detecteze semne de somnolență, precum și probleme medicale sau de stres, cum ar fi o criză de epilepsie sau un atac de cord, și să aplice acțiunile necesare. Aceste acțiuni pot include activarea luminilor de avarie, aplicarea frânelor și ghidarea vehiculului spre marginea drumului. Alte aplicații ajută la evitarea situațiilor în care copiii mici și animalele de companie sunt lăsați nesupravegheați pe locurile din spate, împiedicând blocarea mașinii și aprinzând intermitent luminile, și avertizând șoferul dacă un pasager lasă ceva, cum ar fi un telefon, o geantă sau un colet pe bancheta din spate.

În ceea ce privește aplicațiile bazate pe video, în unele cazuri este necesară împărțirea unei singure intrări video în mai multe fluxuri; în altele, o cerință de proiectare poate fi aceea de a agrega mai multe fluxuri video într-unul singur.

Odată cu implementarea tot mai frecventă a vehiculelor electrice (EV), apare necesitatea de a monitoriza și a controla motoarele, precum și de a monitoriza și a gestiona procesul de încărcare pentru a obține o durată de viață maximă a bateriei.

Pe lângă toate acestea, multe dintre automobilele actuale încep să fie compatibile cu 5G sau V2X, unde V2X („vehicle to anything”) se referă la comunicarea dintre un vehicul și orice altă entitate care ar putea afecta vehiculul (sau ar putea fi afectată de acesta), de la infrastructura de pe marginea drumului la alte vehicule. Odată cu această conectivitate apare și nevoia de securitate pentru a preveni piratarea vehiculului.

Dispozitive de clasă auto

Este important de reținut că nu toate FPGA-urile sunt potrivite pentru aplicațiile auto. Automotive Electronics Council (AEC) este o organizație înființată inițial în anii '90 de către Chrysler, Ford și GM în scopul stabilirii unor standarde comune de calificare a pieselor și de sisteme de calitate. Unul dintre documentele AEC la care se face referire cel mai des este AEC-Q100, „Calificarea testelor de stres pe baza mecanismelor de defecțiuni pentru circuitele integrate”.

IATF 16949:2016 este o specificație tehnică care vizează dezvoltarea unui sistem de management al calității, ce asigură îmbunătățirea continuă, punând accentul pe prevenirea defectelor și pe reducerea variațiilor și a risipei în lanțul de aprovizionare și în procesul de asamblare din industria auto. Bazat pe standardul ISO 9001, IATF 16949:2016 a fost creat de Grupul operativ internațional pentru industria auto (IATF) și de Comitetul tehnic al ISO.

Furnizorii de sisteme electronice de pe piața automobilelor solicită din ce în ce mai mult ca furnizorii de semiconductori să furnizeze produse conforme cu standardul AEC-Q100 și să poată demonstra certificarea ISO/TS-16949 a sistemelor lor de calitate.

Alegerea FPGA-ului potrivit pentru fiecare sarcină

FPGA-urile sunt extrem de flexibile, dar diferite familii de dispozitive oferă diverse combinații de capacități și funcții care le fac mai potrivite pentru sarcini specifice. De exemplu, în cazul aplicațiilor de vedere încorporate, camerele și afișajele moderne utilizează adesea interfețe MIPI. Atât protocolul MIPI CSI-2 (cameră/senzor), cât și DSI (afișaj) utilizează un strat fizic de comunicații (PHY) numit D-PHY. Este posibil ca sistemele MCU/AP vechi să nu accepte această interfață, dar unele FPGA-uri o fac, cum ar fi FPGA-urile de procesare și vedere încorporate CrossLink-NX de la Lattice Semiconductor.

Pe lângă cele două emițătoare-receptoare MIPI D-PHY cu patru benzi consolidate care acceptă 10 gigabiți pe secundă (Gbit/s) per PHY, dispozitivele CrossLink-NX acceptă și PCIe de 5 Gbit/s, intrări/ieșiri programabile (I/O) de 1,5 Gbit/s și DDR3 de 1066 megabiți pe secundă (Mbit/s). De asemenea, aceste dispozitive acceptă interfețe și protocoale electrice tradiționale, cum ar fi semnalizarea diferențială de joasă tensiune (LVDS), Sub-LVDS (o versiune de tensiune redusă a LVDS), Open LVDS Display Interface (OLDI) și interfața serială gigabit independentă de media (SGMII). Prin urmare, aceste dispozitive pot fi utilizate pentru agregarea fluxurilor video, divizarea fluxurilor video, rularea aplicațiilor de inteligență artificială și, în același timp, pot acționa ca punți de legătură între MCU-urile/AP-urile vechi și senzorii și afișajele moderne.

Dezvoltatorii de sisteme pentru automobile care doresc să evalueze FPGA-urile CrossLink-NX vor găsi interesantă combinația dintre placa de intrare a senzorului LIFCL-VIP-SI-EVN CrossLink-NX VIP (Figura 1) și kitul modular pentru vedere încorporată LF-EVDK1-EVN (primul poate acționa ca o placă de intrare pentru cel de-al doilea). Pe lângă un FPGA CrossLink-NX, placa de intrare a senzorilor dispune și de patru senzori de imagine Sony IMX258 CMOS MIPI de 13 megapixeli, care acceptă 4K2K la 30 de cadre pe secundă (cps) sau 1080p la 60 cps. De asemenea, acceptă conectivitatea ușoară a senzorilor prin intermediul a trei interfețe PMOD independente.

Imagine a plăcii de intrare a senzorilor CrossLink-NX VIP de la Lattice SemiconductorFigura 1: placa de intrare a senzorilor CrossLink-NX VIP, care poate acționa ca intrare pentru kitul de dezvoltare a vederii încorporate, conține un FPGA CrossLink-NX și acceptă agregarea a patru senzori de imagine MIPI Sony IMX258. (Sursa imaginii: Lattice Semiconductor)

Pentru aplicațiile care necesită putere mare de calcul și o lățime de bandă de intrare/ieșire mare – cum ar fi inteligența artificială pentru sarcini precum recunoașterea și controlul gesturilor, recunoașterea și controlul vocii, detectarea prezenței umane, identificarea ocupanților și monitorizarea șoferilor – FPGA-urile ECP5 de la Lattice dispun de un serializator/deserializator (SERDES) de până la 3,2 Gbit/s, până la patru canale per dispozitiv în blocuri cu două canale pentru o granularitate mai mare, până la 85K tabele de căutare (LUT), blocuri de procesare digitală a semnalelor (DSP) intensificate care oferă o îmbunătățire de 2 ori a resurselor pentru filtrele simetrice și suport pentru atenuarea perturbațiilor cauzate de evenimente individuale (SEU). Aceste FPGA-uri oferă și compatibilitate pentru intrare/ieșire programabilă pentru interfețe LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL și MIPI D-PHY I/O.

Un exemplu de dispozitiv ECP5 este LFE5U-85F-6BG554C cu 84.000 de elemente logice, 3,75 megabiți (Mbit) de memorie RAM și 259 intrări/ieșiri. De asemenea, este interesant și kitul de dezvoltare LFE5UM-45F-VERSA-EVNG ECP5 Versa (Figura 2). Placa utilizează un factor de formă PCI Express (PCIe) de jumătate de lungime și permite proiectanților să evalueze caracteristicile cheie de conectivitate ale FPGA ECP5, inclusiv PCIe, Gigabit Ethernet (GbE), DDR3 și performanța SERDES generică.

Imagine a kitului de dezvoltare ECPe Versa de la Lattice SemiconductorFigura 2: prezentat într-un factor de formă PCI Express de jumătate de lungime, kitul de dezvoltare ECPe Versa permite proiectanților să evalueze principalele caracteristici de conectivitate ale FPGA ECP5, inclusiv performanțele PCIe, GbE, DDR3 și SERDES generic. (Sursa imaginii: Lattice Semiconductor)

Securizarea automobilelor cu ajutorul FPGA-urilor

Amenințările la adresa securității cauzate de hacking sunt în creștere, noi breșe apărând în permanență. În cazul automobilelor, un atac cibernetic ar putea cauza pierderea controlului, ceea ce ar putea duce la rănirea sau decesul pasagerilor și a pietonilor, precum și la deteriorarea mașinii, a altor vehicule și a bunurilor.

O mare parte din soluția de securitate a unui automobil constă în stabilirea unui sistem Root-of-Trust (RoT), adică o resursă hardware din cadrul sistemului în care se poate avea întotdeauna încredere. Una dintre soluții este un hardware RoT (HRoT) bazat pe FPGA, cum ar fi cel oferit de familia de dispozitive MachXO3D de la Lattice. Pe lângă resursele LUT substanțiale și numărul mare de intrări/ieșiri, aceste dispozitive bazate pe flash oferă capacități de pornire instantanee și de conectare la cald. Aplicațiile de uz general includ logica de legătură, puntea de magistrală, interfațarea de magistrală, controlul motoarelor, controlul pornirii și alte aplicații logice de control.

De un interes deosebit este faptul că MachXO3D este singurul FPGA cu capacitate de pornire dublă și cu mai puțin de 10.000 de LUT-uri, care este echipat cu un motor de securitate imuabil certificat de Institutul național de standarde și tehnologie (NIST). Acest lucru permite sistemului MachXO3D să acționeze ca HRoT al automobilului sub forma unui dispozitiv de tip „primul pornit, ultimul oprit” al sistemului. Când sistemul este pornit, MachXO3D verifică mai întâi dacă rulează un firmware autentificat. Apoi, verifică firmware-ul celorlalte dispozitive din sistem. Dacă oricare dintre componentele sistemului este atacată sau compromisă, inclusiv chiar sistemul, MachXO3D respinge firmware-ul suspect și reîncarcă acea componentă cu o imagine de firmware autentificată și bine-cunoscută.

Pentru acei dezvoltatori interesați să evalueze proiectele bazate pe MachXO3D, placa de dezvoltare LCMXO3D-9400HC-D-EVN MachXO3D oferă o platformă de prototipare extensibilă (Figura 3). Placa dispune de un dispozitiv de gestionare hardware L-ASC10 (detecție și control analogic), o interfață de intrare/ieșire de uz general pentru utilizare cu plăci Arduino și Raspberry Pi, două poziții de reglete Hirose FX12-40 (DNI), o regletă Aardvark (DNI) și memorie flash (SPI) de 128 Mbit pentru interfață periferică serială (SPI) cu funcție de citire cvadruplă.

Imagine a plăcii de dezvoltare MachXO3D de la Lattice SemiconductorFigura 3: placa de dezvoltare MachXO3D dispune de un FPGA MachXO3D, un dispozitiv de gestionare hardware L-ASC10 (detecție și control analogic), suport pentru plăci Arduino și Raspberry Pi, două poziții de regletă Hirose FX12-40 (DNI), o regletă Aardvark și o conexiune USB-B pentru programarea dispozitivului. (Sursa imaginii: Lattice Semiconductor)

Placa are un factor de formă de 4 x 6 inch și dispune de un conector USB mini-B pentru alimentare și programare, precum și de mai multe poziții de regletă pentru Arduino, Aardvark, FX12, Hirose și Raspberry Pi. Sunt incluse atât un cablu USB, cât și un ghid de pornire rapidă.

Concluzie

Componentele electronice moderne ale automobilelor necesită un număr din ce în ce mai mare de senzori, interfețe electrice și protocoale, cu cerințe corespunzătoare privind puterea de procesare și lățimea de bandă. Adăugarea inteligenței artificiale și a procesării de vedere artificială, precum și cerințele de securitate, complică implementarea soluțiilor folosind abordări clasice MCU sau AP.

După cum s-a arătat, prin aplicarea adecvată a FPGA-urilor, proiectanții pot adăuga un grad de flexibilitate și putere de procesare care poate crea punți de legătură între mediile de procesare disparate, poate efectua funcții de agregare și fuziune a senzorilor, poate răspunde cerințelor de lățime de bandă pentru intrare/ieșire și poate efectua calcule și operațiuni într-o manieră „massively parallel”, eliberând în același timp procesoarele gazdă pentru alte activități.

În ceea ce privește securitatea, un FPGA bazat pe flash cu capacitate de pornire dublă și motor de securitate imuabil certificat de NIST poate acționa ca HRoT al automobilului și se poate asigura că acesta – și alte dispozitive – rulează numai firmware autentificat, împiedicând astfel hackerii să compromită criptografic sistemele automobilului.

Lectură suplimentară:

  1. Elementele fundamentale ale FPGA-urilor: ce sunt FPGA-urile și de ce sunt necesare?
DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield received his BSc in Control Engineering in 1980 from Sheffield Hallam University, England and began his career as a designer of central processing units (CPUs) for mainframe computers. Over the years, Max has designed everything from silicon chips to circuit boards and from brainwave amplifiers to steampunk Prognostication Engines (don't ask). He has also been at the forefront of Electronic Design Automation (EDA) for more than 30 years.

Max is the author and/or co-author of a number of books, including Designus Maximus Unleashed (banned in Alabama), Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), EDA: Where Electronics Begins, FPGAs: Instant Access, and How Computers Do Math. Check out his “Max’s Cool Beans” blog.

About this publisher

DigiKey's North American Editors