Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Valg og brug af FPGA'er til interfaces, sikkerhed og beregningsintensive belastninger i køretøjer

Af Clive "Max" Maxfield

Bidraget af DigiKeys nordamerikanske redaktører

Traditionelt er beregningsopgaver i biler blevet udført af mikrocontroller-enheder (MCU'er) og applikationsprocessorer (AP'er). En typisk mellemklassebil kan indeholde 25 til 35 MCU'er/AP'er, mens luksusbiler kan have 70 eller flere. Biler kræver i stigende grad ekstremt sofistikerede, beregningsintensive kapaciteter til opgaver som avancerede førerassistentsystemer (ADAS), infotainment, kontrol, netværk og sikkerhed. Mange af disse applikationer involverer maskin-vision i form af billed- og videobehandling kombineret med kunstig intelligens (AI).

Processorarkitekturen alene har svært ved at håndtere alle de elektriske interfaces og protokoller, som kræves af perifere enheder som sensorer, kameraer og skærme. Desuden kan disse processorer i mange tilfælde simpelthen ikke opfylde de ekstreme beregningskrav, der stilles til opgaver som maskine-vision og AI.

For at imødegå denne kompleksitet anvender designere af bilsystemer FPGA'er (Field-Programmable Gate Arrays), ikke for at erstatte de eksisterende MCU'er/AP'er, men snarere for at fungere som broer mellem dem og andre enheder og for at supplere dem ved at aflaste kommunikation og beregningstekniske opgaver.

Da FPGA'er kan programmeres til at understøtte en lang række elektriske grænseflader og protokoller, kan de fungere som broer mellem MCU'er/AP'er og sensorer, kameraer og skærme. Da de kan udføre beregninger og operationer massivt parallelt, kan FPGA'er også bruges til at udføre beregningsintensive vision processing- og AI-opgaver og derved frigøre host-processorer til andre aktiviteter.

I denne artikel diskuteres kravene til behandling af moderne køretøjer og beskrives nogle af de bilapplikationer, der kan anvendes af FPGA'er. Derefter præsenteres nogle FPGA-eksempler fra Lattice Semiconductor og viser, hvordan de kan bruges til at løse problemer med tilslutning, behandling og sikkerhed. Der præsenteres også tilhørende udviklingskort for at hjælpe designere med at komme i gang.

Målrettede bilapplikationer for FPGA'er til bilindustrien

For at understøtte deres ADAS-funktioner anvender biler i dag mange sensorer uden for køretøjet, herunder kameraer, radar, LiDAR og ultralydsdetektorer. I mange tilfælde er det nødvendigt at tage data fra forskellige sensorer, forbehandle disse data (fjerne støj og formatere dem efter behov) og anvende sensorfusion til at kombinere dataene, så de resulterende oplysninger har mindre usikkerhed, end hvis dataene fra de forskellige sensorer blev brugt hver for sig. I mange tilfælde anvendes AI-applikationer til at analysere dataene, træffe beslutninger og træffe passende foranstaltninger.

En relativt ny tendens er anvendelsen af elektroniske (også kaldet "digitale") bakspejle. I dette tilfælde er et vidvinkel kamera med høj opløsning installeret i bagruden. Videostrømmen fra dette kamera vises på et digitalt display, der erstatter det traditionelle spejl, hvilket giver et klart udsyn bagud, som ikke hindres af passagererne på bagsæderne. I nogle tilfælde kan videostrømme fra kameraer monteret på sidespejlene blandes med videostrømmen fra bagrudekameraet. Disse tre signaler "stitched" sammen til et enkelt billede, der vises på et superbredt elektronisk spejl, hvilket giver føreren en langt højere grad af situationsfornemmelse med hensyn til, hvad der foregår omkring køretøjet.

En anden nyere tendens er at anvende kameraer i kabinen, der er monteret på instrumentbrættet, på ratsøjlen eller integreret i bakspejlet (almindeligt eller elektronisk). Når de kombineres med AI, kan disse spejle i kabinen bruges til en lang række opgaver, f.eks. til at genkende, hvem der sidder i førersædet og justere det og spejlene derefter. Ud over at overvåge chaufførerne for at sikre, at de er opmærksomme på vejen og ikke døsede væk, kan et sådant system også se efter tegn på døsighed samt medicinske problemer eller lidelser som f.eks. et epileptisk anfald eller et hjerteanfald og træffe de nødvendige foranstaltninger. Disse handlinger kan omfatte aktivering af advarselsblinklyset, aktivering af bremserne og styring af køretøjet til vejsiden. Andre anvendelsesmuligheder er at sikre, at små børn og kæledyr ikke ved en fejltagelse efterlades uden opsyn på bagsædet ved at forhindre, at bilen låses og blinke med lyset, og advare føreren, hvis en passager efterlader noget som f.eks. en telefon, taske eller en pakke på bagsædet.

Med hensyn til videobaserede applikationer er det i nogle tilfælde nødvendigt at opdele et enkelt videoinput i flere strømme; i andre tilfælde kan et designkrav være at samle flere videostrømme i én.

Med den stigende udbredelse af elektriske køretøjer (EV'er) følger behovet for at overvåge og styre motorer og for at overvåge og styre opladningsprocessen for at opnå maksimal batterilevetid.

Oven i alt dette er mange af nutidens biler begyndt at blive 5G- eller V2X-aktiveret, hvor V2X ("vehicle to anything") henviser til kommunikation mellem et køretøj og enhver anden enhed, der kan påvirke (eller blive påvirket af) køretøjet, fra vejinfrastruktur til andre køretøjer. Sammen med denne tilslutningsmulighed følger behovet for sikkerhed for at forhindre, at køretøjet bliver hacket.

Enheder til bilindustrien

Det er vigtigt at huske, at ikke alle FPGA'er er egnede til bilapplikationer. Automotive Electronics Council (AEC) er en organisation, der oprindeligt blev oprettet i 1990'erne af Chrysler, Ford og GM med det formål at etablere fælles standarder for kvalificering af dele og kvalitetssystemer. Et af de AEC-dokumenter, som der oftest henvises til, er AEC-Q100,"Failure Mechanism Based Stress Test Qualification for Integrated Circuits". "

IATF 16949:2016 er en teknisk specifikation, der har til formål at udvikle et kvalitetsstyringssystem, som sikrer løbende forbedringer med vægt på forebyggelse af fejl og reduktion af variation og spild i bilindustriens forsyningskæde og montageproces. IATF 16949:2016 er baseret på ISO 9001-standarden og blev udarbejdet af International Automotive Task Force (IATF) og ISO's tekniske udvalg.

Leverandører af elektroniske systemer til bilmarkedet kræver i stigende grad, at halvlederleverandører leverer produkter, der er i overensstemmelse med AEC-Q100-standarden, og at de kan dokumentere ISO/TS-16949-certificering af deres kvalitetssystemer.

Valg af den rigtige FPGA til opgaven

FPGA'er er ekstremt fleksible, men forskellige enhedsfamilier tilbyder forskellige kombinationer af muligheder og funktioner, som gør dem bedre egnet til specifikke opgaver. I forbindelse med indlejrede vision-applikationer anvender moderne kameraer og skærme f.eks. ofte MIPI-interfaces. MIPI CSI-2-protokollerne (kamera/sensor) og DSI-protokollerne (display) anvender begge et fysisk kommunikationslag (PHY) kaldet D-PHY. Gamle MCU'er/AP'er understøtter muligvis ikke dette interface, men det gør nogle FPGA'er, f.eks. CrossLink-NX embedded vision- og behandlings-FPGA'er fra Lattice Semiconductor.

Ud over to hærdede fire-sporede MIPI D-PHY-transceivere med fire spor, der understøtter 10 gigabit pr. sekund (Gbits/s) pr. PHY, understøtter CrossLink-NX-enheder også 5 Gbits/s PCIe, 1,5 Gbits/s programmerbare ind- og udgange (I/O) og 1066 megabit pr. sekund (Mbits/s) DDR3. Disse enheder understøtter også traditionelle elektriske grænseflader og protokoller som LVDS (Low Voltage Differential Signaling), Sub-LVDS (en version af LVDS med reduceret spænding), OLDI (Open LVDS Display Interface) og SGMII (Serial Gigabit Media-Independent Interface). Som følge heraf kan disse enheder bruges til at samle videostrømme, opdele videostrømme, køre AI-applikationer og samtidig med at de gør alt dette, - også fungere som broer mellem ældre MCU'er/AP'er og moderne sensorer og skærme.

Udviklere af bilsystemer, der ønsker at evaluere CrossLink-NX FPGA'er, vil finde kombinationen af LIFCL-VIP-SI-EVN CrossLink-NX VIP Sensor Input kort (figur 1) og LF-EVDK1-EVN Modular Embedded Vision Kit interessant (førstnævnte kan fungere som et input kort til sidstnævnte). Ud over en CrossLink-NX FPGA er sensor indgangskortet også udstyret med fire 13 megapixel Sony IMX258 CMOS MIPI-billedsensorer med 13 megapixel, der understøtter 4K2K @ 30 billeder pr. sekund (fps) eller 1080p @ 60 fps. Den understøtter også nem sensortilslutning via tre uafhængige PMOD-interface.

Billede af Lattice Semiconductor CrossLink-NX VIP-sensor inputkortFigur 1: CrossLink-NX VIP Sensor Inputkort, som kan fungere som input til Embedded Vision Development Kit, indeholder en CrossLink-NX FPGA og understøtter sammenlægning af fire MIPI Sony IMX258-billedsensorer. (Billedkilde: Lattice Semiconductor)

Til beregningskrævende applikationer, der også kræver høj I/O-båndbredde, såsom AI til opgaver som genkendelse og styring af bevægelser, stemmegenkendelse og -styring, detektering af menneskelig tilstedeværelse, identifikation af passagerer og førerovervågning. ECP5 FPGA'er fra Lattice udstyret med op til 3.2 Gbit/s serializer/deserializer (SERDES), op til fire kanaler pr. enhed i dual-channel-blokke til højere granularitet, op til 85K opslagstabeller (LUT), forbedrede DSP-blokke (digital signalbehandling), der giver 2x ressourceforbedring til symmetriske filtre og understøttelse af afbødning af single event upset (SEU). Disse FPGA'er giver også programmerbar I/O-understøttelse for LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL og MIPI D-PHY I/O-interfaces.

Et eksempel på en ECP5-enhed er LFE5U-85F-6BG554C med 84.000 logiske elementer, 3,75 megabit (Mbits) RAM og 259 I/O'er. Af interesse er også LFE5UM-45F-VERSA-EVNG ECP5 Versa udviklingskit (figur 2). Kortet bruger en halvlang PCI Express (PCIe)-formfaktor og giver designere mulighed for at evaluere ECP5 FPGA'ens vigtigste tilslutningsfunktioner, herunder PCIe, Gigabit Ethernet (GbE), DDR3 og generisk SERDES-performance.

Billede af Lattice Semiconductor ECPe Versa udviklingskitFigur 2: ECPe Versa udviklingskittet, der er præsenteret i en halvlang PCI Express-formfaktor, giver designere mulighed for at evaluere vigtige tilslutningsfunktioner i ECP5 FPGA'en, herunder PCIe, GbE, DDR3 og generisk SERDES-ydelse. (Billedkilde: Lattice Semiconductor)

Sikring af biler ved hjælp af FPGA'er

Sikkerhedstruslerne fra hacking er stigende, og der sker hele tiden nye brud på sikkerheden. I forbindelse med biler kan et cyberangreb medføre tab af kontrol med personskade eller dødsfald blandt passagerer og fodgængere og skader på bilen, andre køretøjer og ejendom til følge.

En stor del af bilens sikkerhedsløsning består i at etablere en root of trust (RoT), dvs. en hardwareressource i systemet, som man altid kan stole på. En løsning er en FPGA-baseret hardware RoT (HRoT), som f.eks. den, der leveres af Lattice's MachXO3D-familie af enheder. Ud over betydelige LUT-ressourcer og et stort antal I/O'er tilbyder disse flash-baserede enheder instant-on- og hot-socketing funktioner. Generelle anvendelser omfatter glue logic, bus bridging, bus-interfacing, motorstyring, opstartskontrol og andre styrelogik anvendelser.

Af særlig interesse er det faktum, at MachXO3D er den eneste FPGA med både dual-boot funktion og mindre end 10K LUTs, der er udstyret med en hård National Institute of Standards and Technology (NIST)-certificeret Immutable Security Engine. Dette gør det muligt for MachXO3D at fungere som bilens HRoT i form af systemets first-on, last-off-enhed. Når systemet tændes, kontrollerer MachXO3D først, at det kører autentificeret firmware. Derefter kontrollerer den firmwaren på de andre enheder i systemet. Hvis nogen af systemets komponenter angribes eller kompromitteres, herunder MachXO3D, afviser MachXO3D den mistænkelige firmware og genindlæser den pågældende komponent med et kendt, godt og godkendt firmware image.

For de udviklere, der er interesserede i at evaluere MachXO3D-baserede designs, giver LCMXO3D-9400HC-D-EVN MachXO3D udviklingskort en udvidelig prototypeplatform (Figur 3). Kortet er udstyret med en L-ASC10 HW-håndteringsenhed (analog sense and control), en generel I/O-interface til brug med Arduino- og Raspberry Pi-kort, to Hirose FX12-40 header-positioner (DNI), en Aardvark-header (DNI) og 128 Mbit SPI-flash med 128 Mbit seriel perifer interface (SPI) med quad read-funktion.

Billede af Lattice Semiconductor MachXO3D udviklingskortFigur 3: MachXO3D-udviklingskortet har en MachXO3D FPGA, en L-ASC10 HW-håndteringsenhed (analog fornemmelse og styring), understøttelse af Arduino- og Raspberry Pi-kort, to Hirose FX12-40 header-positioner (DNI), en Aardvark-header og en USB-B tilslutning til programmering af enheden. (Billedkilde: Lattice Semiconductor)

Kortet har en formfaktor på 4 x 6 tommer og har et USB mini-B stik til strømforsyning og programmering samt flere header-positioner, der understøtter Arduino, Aardvark, FX12, Hirose og Raspberry Pi. Der medfølger både et USB-kabel og en hurtig startvejledning.

Konklusion

Moderne bilelektronik kræver et stadigt stigende antal sensorer, elektriske grænseflader og protokoller med tilsvarende krav til processorkraft og båndbredde. Tilføjelsen af AI- og maskine-vision behandling, samt sikkerhedskrav komplicerer implementeringen af løsninger med klassiske MCU- eller AP-tilgange.

Som det fremgår, kan designere ved passende anvendelse af FPGA'er tilføje en grad af fleksibilitet og processorkraft, der kan bygge bro mellem forskellige behandlingsmiljøer, udføre sensor aggregations- og fusionsfunktioner, opfylde krav til I/O-båndbredde og udføre beregninger og operationer på en massivt parallel måde, samtidig med at host-processorerne frigøres til andre aktiviteter.

Med hensyn til sikkerhed kan en flashbaseret FPGA med dual-boot funktion og NIST-certificeret Immutable Security Engine fungere som bilens HRoT og sikre, at den og andre enheder kun kører autentificeret firmware, hvilket forhindrer hackere i at kryptografisk at kompromittere bilens systemer.

Yderligere læsning:

  1. Grundlæggende viden om FPGA'er: Hvad er FPGA'er, og hvorfor er de nødvendige?
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.

Om denne forfatter

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield modtog sin BSc i kontrolteknik i 1980 fra Sheffield Hallam University, England og begyndte sin karriere som designer af centrale processorenheder (CPU'er) til mainframe-computere. Gennem årene har Max designet alt fra siliciumchips til kredsløbskort og fra hjernebølgeforstærkere til steampunk-forstøvningsmaskiner (spørg ikke). Han har også været i spidsen for Electronic Design Automation (EDA) i mere end 30 år.

Max er forfatter og/eller medforfatter af et antal bøger, herunder 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 hans “Max’s Cool Beans” blog.

Om udgiveren

DigiKeys nordamerikanske redaktører