Valg og bruk av FPGA-er for kjøretøygrensesnitt, sikkerhet og beregningsintensive laster
Bidrag fra DigiKeys nordamerikanske redaktører
2022-01-12
Tradisjonelt sett har beregningsoppgaver i kjøretøyer blitt utført av mikrokontrollerenheter (MCU – microcontroller units) og bruksprosessorer (AP – application processor). Et typisk mellomklassekjøretøy kan inneholde 25 til 35 MCU-er/AP-er, mens luksusbiler kan ha mer enn 70. Kjøretøy krever i økende grad ekstremt avanserte, beregningsmessig intensive funksjoner for oppgaver som avanserte førerassistentsystemer (ADAS), infotainment, styring, nettverk og sikkerhet. Mange av disse programmene involverer maskinsyn i form av bilde- og videobehandling kombinert med kunstig intelligens (AI).
Alene sliter prosessorarkitekturen med å håndtere alle de elektriske grensesnittene og protokollene som kreves av periferiutstyr som sensorer, kameraer og skjermer. I mange tilfeller kan heller ikke disse prosessorene tilfredsstille de ekstreme beregningsbehovene til oppgaver som maskinsyn og AI.
For å håndtere denne kompleksiteten, velger konstruktører av kjøretøysystemer å gå over til feltprogrammerbare portmatriser (FPGA-er), ikke for å erstatte eksisterende MCU-er/AP-er, men snarere for å fungere som broer mellom disse og andre enheter, og for å utvide dem ved å avlaste kommunikasjon og andre beregningsmessig intensive oppgaver.
Siden FPGA-er kan programmeres til å støtte en rekke elektriske grensesnitt og protokoller, kan de fungere som broer mellom MCU-er/AP-er og sensorer, kameraer og skjermer. Fordi de kan utføre beregninger og operasjoner på en massiv parallell måte, kan FPGA-er også brukes til å utføre beregningsintensiv synsbehandling og AI-oppgaver, noe som dermed frigjør vertsprosessorene slik at de kan brukes for andre aktiviteter.
Denne artikkelen tar for seg prosesseringskravene til moderne kjøretøyer og beskriver noen av kjøretøysutrustningene som kan håndteres av FPGA-er. Den introduserer deretter noen eksempler på FPGA-er fra Lattice Semiconductor og viser hvordan de kan brukes til å løse problemer relatert til konnektivitet, prosessering og sikkerhet. Tilknyttede utviklingskort blir også presentert for å gjøre det enklere for konstruktører å komme i gang.
Målrettede kjøretøyutrustninger for FPGA-er
For å støtte ADAS-funksjonene, bruker dagens biler mange sensorer på utsiden av kjøretøyet, deriblant kameraer, radar, LiDAR og ultralyddetektorer. I mange tilfeller er det nødvendig å ta data fra ulike sensorer, forhåndsbehandle disse dataene (fjerne støy og formatere dem etter behov) og bruke sensorfusjon til å kombinere dataene slik at den resulterende informasjonen har mindre usikkerhet enn det som ville vært mulig hvis dataene fra de ulike sensorene ble brukt individuelt. I mange tilfeller brukes AI-installasjoner til å analysere dataene, ta beslutninger og iverksette egnede tiltak.
En relativt ny trend er distribusjonen av elektroniske (også kjent som «digitale») bakspeil. I dette tilfellet installeres et vidvinkelkamera med høy oppløsning på innsiden av bakruten. Videostrømmen fra dette kameraet presenteres på en digital skjerm som erstatter det tradisjonelle speilet, noe som resulterer i en klar bildevisning bakover som ikke blokkeres av passasjerer i baksetet. I noen tilfeller kan videostrømmer fra kameraer montert på sidespeilene kombineres med videostrømmen fra kameraet i bakruten. Disse tre innmatingene kombineres for å gi ett enkelt bilde som presenteres på et veldig bredt elektronisk speil. Dette gir sjåføren en mye høyere grad av situasjonsbevissthet over hva som foregår rundt kjøretøyet.
En annen trend i senere tid er å plassere kameraer montert på dashbordet, på rattstammen eller integrert i bakspeilet (vanlig eller elektronisk). Når disse kupéspeilene kombineres med AI, kan de i brukes til en rekke ulike oppgaver, for eksempel å gjenkjenne hvem som sitter i førersetet og justere setet og speilene deretter. I tillegg til å overvåke sjåfører for å sikre at de er oppmerksomme på veien og ikke dupper av, kan et slikt system også se etter tegn på døsighet, samt medisinske problemer eller plager som epileptisk anfall eller hjerteinfarkt, og iverksette egnede tiltak. Disse tiltakene kan omfatte å slå på varsellysene, aktivere bremsene og veilede kjøretøyet til siden av veien. Andre bruksområder omfatter å sikre at småbarn og kjæledyr ikke feilaktig blir etterlatt i baksetet uten tilsyn ved å hindre at bilen låses og blinke med lysene, samt varsle sjåføren hvis en passasjer forlater noe som en telefon, veske eller pakke i baksetet.
Når det gjelder videobaserte installasjoner, er det i noen tilfeller nødvendig å dele opp én enkelt videoinngang i flere strømmer. I andre tilfeller kan et installasjonskrav være å samle flere videostrømmer i én.
Med den økende distribusjonen av elektriske kjøretøyer (EV) kommer behovet for å overvåke og styre motorer, samt å overvåke og styre ladeprosessen for å oppnå maksimal batterilevetid.
I tillegg til alt dette er mange av dagens kjøretøyer i ferd med å bli 5G- eller V2X-aktivert, der V2X («vehicle to anything») refererer til kommunikasjon mellom et kjøretøy og enhver annen enhet som kan påvirke (eller bli påvirket av) kjøretøyet – som kan være alt fra infrastruktur langs veien til andre kjøretøyer. Med denne konnektiviteten følger behovet for sikkerhet for å hindre at kjøretøyet blir hacket.
Enheter i kjøretøyklassen
Det er viktig å huske på at ikke alle FPGA-er er egnet for bruk i kjøretøy. AEC (Automotive Electronics Council) er en organisasjon som opprinnelig ble etablert på 1990-tallet av Chrysler, Ford og GM, der formålet var å etablere felles systemstandarder for delekvalifisering og kvalitet. Et av de mest refererte AEC-dokumentene er AEC-Q100, «Stresstestkvalifisering for IC-er (integrerte kretser) basert på feilmekanisme» Failure Mechanism Based Stress Test Qualification for Integrated Circuits.
IATF 16949:2016 er en teknisk spesifikasjon som tar sikte på å utvikle et kvalitetsstyringssystem som gir kontinuerlig forbedring, der defektforebygging og reduksjon av variasjon og avfall vektlegges i bilindustriens forsyningskjede og monteringsprosess. IATF 16949:2016, som er basert på ISO 9001-standarden, ble opprettet av IATF (International Automotive Task Force) og den tekniske komitéen ISO.
Leverandører av elektroniske systemer til bilindustrien krever i økende grad at leverandører av halvledere leverer produkter som er i samsvar med AEC-Q100-standarden og kan demonstrere ISO/TS-16949-sertifisering i kvalitetssystemene sine.
Velge riktig FPGA for jobben
FPGA-er er ekstremt fleksible, men forskjellige enhetsfamilier tilbyr ulike kombinasjoner av egenskaper og funksjoner som gjør dem bedre egnet for bestemte oppgaver. Når det kommer til for eksempel innebygde synsinstallasjoner, bruker moderne kameraer og skjermer ofte MIPI-grensesnitt. MIPI CSI-2 (kamera/sensor)- og DSI (display)-protokollene har begge et fysisk kommunikasjonslag (PHY) som kalles D-PHY. Eldre MCU-er/AP-er støtter kanskje ikke dette grensesnittet, men noen FPGA-er gjør det, for eksempel CrossLink-NX FPGA-er for innebygd syn og prosessering fra Lattice Semiconductor.
I tillegg til to herdede firefelts MIPI D-PHY-transceivere som støtter 10 gigabit per sekund (Gb/s) per PHY, støtter CrossLink-NX-enheter også 5 Gb/s PCIe, 1,5 Gb/s programmerbare innganger/utganger (I/O) og 1066 Mb/s DDR3. Disse enhetene støtter også tradisjonelle elektriske grensesnitt og protokoller som differensiell signalering med lav spenning (LVDS – low-voltage differential signaling), Sub-LVDS (en versjon av LVDS med redusert spenning), Open LVDS Display Interface (OLDI) og serielt gigabit media-uavhengig grensesnitt (SGMII – serial gigabit media-independent interface). Som et resultat kan disse enhetene brukes til å samle videostrømmer, dele opp videostrømmer, kjøre AI-applikasjoner og – samtidig som du gjør alt dette – også fungere som broer mellom eldre MCU-er/AP-er og moderne sensorer og skjermer.
Utviklere av kjøretøysystemer som ønsker å evaluere CrossLink-NX FPGA-er, vil oppdage at kombinasjonen av LIFCL-VIP-SI-EVN CrossLink-NX VIP Sensor Input Board (figur 1) og LF-EVDK1-EVN Modular Embedded Vision Kit er av interesse (førstnevnte kan fungere som et inngangskort for sistnevnte). I tillegg til en CrossLink-NX FPGA, har sensorinngangskortet også fire Sony IMX258 CMOS MIPI-bildesensorer på 13 megapiksler, som støtter 4K2K @ 30 bilder i sekundet (fps) eller 1080p @ 60 fps. Den støtter også enkel sensorkonnektivitet via tre uavhengige PMOD-grensesnitt.
Figur 1: Sensorinngangskortet CrossLink-NX VIP Sensor Input Board, som kan fungere som inngang til utviklingssettet Embedded Vision Development Kit, inneholder en CrossLink-NX FPGA og støtter aggregering av fire MIPI Sony IMX258-bildesensorer. (Bildekilde: Lattice Semiconductor)
For beregningsintensive installasjoner som også krever høy I/O-båndbredde – for eksempel AI for oppgaver som bevegelsesgjenkjenning og -styring, stemmegjenkjenning og -styring, detektering av menneskelig tilstedeværelse, identifisering av okkupanter og overvåking av drivere – har ECP5 FPGA-ene til Lattice opptil 3,2 Gb/s SERDES (serializer/deserializer), opptil fire kanaler per enhet i to-kanalsblokker for å gi høyere granularitet, opptil 85 000 oppslagstabeller (LUT – look-up table), forbedrede digitale signalbehandlingsblokker (DSP – digital signal processing) som dobler ressursene for symmetriske filtre og støtte for lindring av enkelthendelsesfeil (SEU – single event upset). Disse FPGA-ene gir også programmerbar I/O-støtte for LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL og MIPI D-PHY I/O-grensesnitt.
Et eksempel på en ECP5-enhet er LFE5U-85F-6BG554C med 84 000 logiske elementer, 3,75 Mb RAM og 259 I/O-er. Av interesse er også utviklingssettet LFE5UM-45F-VERSA-EVNG ECP5 Versa Development Kit (figur 2). Kortet bruker et PCI Express (PCIe) i halvlengdeformat og gjør det mulig for konstruktører å evaluere viktige konnektivitetsfunksjoner i ECP5 FPGA-en, deriblant PCIe, Gigabit Ethernet (GbE), DDR3 og universal SERDES-ytelse.
Figur 2: Utviklingssettet ECPe Versa Development Kit, som presenteres i et PCI Express i halvlengdeformat, gjør det mulig for konstruktører å evaluere viktige konnektivitetsfunksjoner i ECP5 FPGA-en, deriblant PCIe, GbE, DDR3 og universal SERDES-ytelse. (Bildekilde: Lattice Semiconductor)
Sikring av kjøretøyer ved hjelp av FPGA-er
Det er økende sikkerhetstrusler fra hacking, og det oppstår stadig nye brudd. Når det kommer til kjøretøyer kan et cyberangrep føre til tap av kontroll, noe som kan resultere i personskade eller død for passasjerer og fotgjengere, samt skade bilen, andre kjøretøyer og eiendom.
En stor del av sikkerhetsløsningen til et kjøretøy er å etablere en RoT (root of trust), det vil si en maskinvareressurs i systemet som alltid er til å stole på. En løsning er en FPGA-basert maskinvare-ROT (HRoT), for eksempel den som leveres av Lattice sin MachXO3D-familie av enheter. I tillegg til betydelige LUT-ressurser og et stort antall I/O-enheter, tilbyr disse flash-baserte enhetene umiddelbar-på og hot-socketing (mulighet til å skifte utstyr mens systemstrøm er på). Generelle bruksområder omfatter limlogikk (glue logic), bussbrofunksjoner, bussgrensesnitt, motorstyring, oppstartsstyring og annen styringslogikk.
Av spesiell interesse er det faktum at MachXO3D er den eneste FPGA-en med både dual-boot-kapasitet og mindre enn 10 000 LUT-er som er utstyrt med en hard NIST-sertifisert (NIST – National Institute of Standards and Technology) Immutable Security Engine. Dette gjør at MachXO3D kan fungere som kjøretøyets HRoT i form av systemets først-på/sist-av-enhet. Når systemet blir slått på, sjekker MachXO3D først at det kjører autentisert fastvare. Deretter sjekkes fastvaren til de andre enhetene i systemet. Hvis noen av komponentene i systemet angripes eller kompromitteres, inkludert seg selv, avviser MachXO3D den mistenkte fastvaren og laster denne komponenten på nytt med et autentisert fastvareimage som allerede er bekreftet trygt.
For de utviklerne som er interessert i å evaluere MachXO3D-baserte konstruksjoner, gir utviklingskortet LCMXO3D-9400HC-D-EVN MachXO3D Development Board en utvidbar prototypeplattform (figur 3). Kortet har en L-ASC10 (analog sensor and styring) maskinvarestyringsenhet, et I/O-grensesnitt for generelle formål for bruk med Arduino- og Raspberry Pi-kort, to Hirose FX12-40-stiftlistposisjoner (DNI), en Aardvark-stiftlist (DNI) og 128 Mb serielt periferigrensesnitt (SPI)-flashminne med quad read-funksjon.
Figur 3: MachXO3D-utviklingskortet har en MachXO3D FPGA, en L-ASC10 (analog sensor og styring) maskinvarestyringsenhet, støtte for Arduino- og Raspberry Pi-kort, to Hirose FX12-40-stiftlistposisjoner (DNI), en Aardvark-stiftlist og en USB-B-tilkobling for enhetsprogrammering. (Bildekilde: Lattice Semiconductor)
Kortet kommer i et format på 10,2 x 15,2 cm (4 x 6 tommer). Det har en USB mini-B-kontakt for strøm og programmering og flere stiftlistposisjoner som støtter Arduino, Aardvark, FX12, Hirose og Raspberry Pi. Både en USB-kabel og en hurtigstartveiledning er medfølgende.
Konklusjon
Moderne kjøretøyelektronikk krever et stadig økende antall sensorer, elektriske grensesnitt og protokoller, med korresponderende krav til prosessorkraft og båndbredde. Tilføyelsen av AI og maskinsynprosessering, samt sikkerhetskrav, kompliserer implementeringen av løsninger som bruker klassiske MCU- eller AP-tilnærminger.
Som vist kan konstruktører, ved passende anvendelse av FPGA-er, legge til en grad av fleksibilitet og prosessorkraft som kan skape broer mellom ulike prosesseringsmiljøer, utføre sensoraggregerings- og fusjonsfunksjoner, adressere I/O-båndbreddekrav og utføre beregninger og operasjoner på en massiv parallell måte, samtidig som vertsprosessorene frigjøres slik at de kan brukes til andre aktiviteter.
Av sikkerhetshensyn kan en flashminnebasert FPGA med dual-boot-funksjonalitet og NIST-sertifisert Immutable Security Engine fungere som kjøretøyets HRoT og sikre at det, og andre enheter, kun kjører autentisert fastvare, og dermed hindre hackere i å kryptografisk kompromittere kjøretøyets systemer.
Videre lesing:
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.



