Val och användning av FPGA:er för gränssnitt, säkerhet och informationsintensiva belastningar inom fordonsindustrin
Bidraget med av DigiKeys nordamerikanska redaktörer
2022-01-12
Traditionellt har beräkningsuppgifter i bilar utförts av mikrokontroller (MCU) och applikationsprocessorer (AP). En typisk mellanklassbil kan innehålla 25-35 MCU:er/AP:er, medan lyxbilar kan ha 70 eller fler. Bilar kräver i allt högre grad extremt sofistikerade, beräkningsintensiva funktioner för uppgifter som avancerade system för förarassistans (ADAS), infotainment, styrning, nätverk och säkerhet. Många av dessa tillämpningar inbegriper maskinseende i form av bild- och videobearbetning kombinerat med artificiell intelligens (AI).
Enbart processorarkitekturen har svårt att hantera alla de elektriska gränssnitt och protokoll som krävs av kringutrustning såsom exempelvis sensorer, kameror och bildskärmar. Dessutom kan processorerna i många fall helt enkelt inte uppfylla de extrema beräkningskraven för uppgifter som maskinseende och artificiell intelligens.
För att hantera denna komplexitet använder konstruktörer av fordonssystem sig av fältprogrammerbara grindmatriser (FPGA), inte för att ersätta de befintliga MCU:erna/AP:erna utan snarare för att fungera som broar mellan dem och andra enheter, och för att förstärka dem genom att avlasta kommunikationen och andra beräkningsintensiva uppgifter.
Eftersom FPGA:er kan programmeras för att stödja ett stort antal elektriska gränssnitt och protokoll kan de fungera som broar mellan MCU:er/AP:er och sensorer, kameror och bildskärmar. Eftersom de kan utföra beräkningar och operationer på ett massivt parallellt sätt kan FPGA:er även användas för att utföra beräkningsintensiv bearbetning för maskinseende och AI-uppgifter, vilket gör att värdprocessorerna frigörs för andra aktiviteter.
Artikeln diskuterar processorkraven i moderna fordon och beskriver några av de fordonstillämpningar som kan hanteras med FPGA:er. Därefter presenteras några exempel på FPGA:er från Lattice Semiconductor och hur dessa kan användas för att lösa problem med anslutning, bearbetning och säkerhet. Dessutom presenteras även tillhörande utvecklingskort som kan hjälpa konstruktörer att komma igång.
FPGA:er som är avsedda för fordonstillämpningar
För att stödja ADAS-funktionerna använder dagens bilar många sensorer på utsidan av fordonet, inklusive kameror, radar, LiDAR och ultraljudsdetektorer. I många fall är det nödvändigt att hämta information från olika sensorer, förbehandla denna information (ta bort störningar och formatera den efter behov) och använda blandad sensorinformation för att kombinera informationen så att resultatet av informationen har mindre osäkerhet än vad som skulle vara möjligt om information från de olika sensorerna skulle användas individuellt. I många fall används AI-applikationer för att analysera information, fatta beslut och vidta lämpliga åtgärder.
En relativt ny trend är användningen av elektroniska (även kallade "digitala") backspeglar. I det här fallet installeras en högupplöst vidvinkelkamera innanför bakrutan. Videoströmmen från kameran visas på en digital bildskärm som ersätter den traditionella spegeln, vilket ger en tydlig sikt bakåt som inte hindras av baksätespassagerarna. I vissa fall kan videoströmmar från kameror monterade på sidospeglarna slås samman med videoströmmen från kameran innanför bakrutan. Dessa tre strömmar "sammanfogas" för att ge en enda bild som visas på en mycket bred elektronisk spegel, vilket ger föraren en betydligt högre grad av situationsmedvetenhet om vad som händer kring fordonet.
En annan ny trend är att använda kameror i kupén som är monterade på instrumentbrädan, på rattstången eller inbyggda i backspegeln (vanliga eller elektroniska). När de kombineras med AI kan speglarna i kupén användas för en mängd olika uppgifter, till exempel för att identifiera vem som sitter i förarsätet för att justera det och speglarna i enlighet med detta. Förutom att övervaka förarna så att de är uppmärksamma på vägen och inte slumrar till kan ett sådant system även leta efter tecken på sömnighet, medicinska problem eller nödsituationer som epileptiska anfall eller hjärtattack, och vidta lämpliga åtgärder. Åtgärderna kan omfatta aktivering av varningslampor, inbromsning eller att styra fordonet till sidan av vägen. Ytterligare tillämpningar är att se till att små barn och husdjur inte av misstag lämnas obevakade i baksätet genom att förhindra att bilen låses och att lamporna blinkar, samt att varna föraren om en passagerare lämnar kvar något som exempelvis en telefon, väska eller ett paket i baksätet.
När det gäller videobaserade tillämpningar är det i vissa fall nödvändigt att dela upp en enda videosignal i flera strömmar, medan det i andra fall kan vara ett krav att sammanföra flera videoströmmar till en.
Med den ökande användningen av elfordon uppstår behovet av att övervaka och styra motorer och att övervaka och hantera laddningsprocessen för att uppnå maximal batteritid.
Utöver allt detta börjar många av dagens bilar använda 5G eller V2X, där V2X ("fordon till allt") avser kommunikation mellan ett fordon och alla andra enheter som kan påverka (eller påverkas av) fordonet, från infrastruktur vid vägkanten till andra fordon. Med denna uppkoppling följer ett behov av säkerhet för att förhindra att fordonet hackas.
Enheter för fordonsindustrin
Det är viktigt att komma ihåg att inte alla FPGA:er är lämpliga för fordonstillämpningar. Automotive Electronics Council (AEC) är en organisation som ursprungligen inrättades på 1990-talet av Chrysler, Ford och GM för att fastställa gemensamma standarder för kvalificering av delar och kvalitetssystem. Ett av de dokument från AEC som det oftast hänvisas till är AEC-Q100,"Failure Mechanism Based Stress Test Qualification for Integrated Circuits". "
IATF 16949:2016 är en teknisk specifikation som syftar till att utveckla ett kvalitetsledningssystem som ger möjlighet till kontinuerlig förbättring, med betoning på förebyggande av fel och minskning av variation och avfall i fordonsindustrins leveranskedja och monteringsprocess. IATF 16949:2016 bygger på standarden ISO 9001 och skapades av International Automotive Task Force (IATF) och ISO:s tekniska kommitté.
Leverantörer av elektroniska system för fordonsmarknaden kräver i allt högre grad att halvledarleverantörer tillhandahåller produkter som uppfyller standarden AEC-Q100 och kan visa att deras kvalitetssystem är certifierat enligt ISO/TS-16949.
Att välja rätt FPGA för jobbet
FPGA:er är extremt flexibla, men olika enhetsfamiljer erbjuder olika kombinationer av kapacitet och funktioner som gör dem bättre lämpade för specifika uppgifter. I fallet med inbäddade tillämpningar för maskinseende, använder exempelvis moderna kameror och bildskärmar ofta gränssnittet MIPI. Protokollen MIPI CSI-2 (kamera/sensor) och DSI (bildskärm) använder båda ett fysiskt kommunikationslager (PHY) som kallas D-PHY. Äldre MCU:er/AP:er har kanske inte stöd för detta gränssnitt, men vissa FPGA:er har det, t.ex. CrossLink-NX som är inbäddade FPGA:er för maskinseende och bearbetning från Lattice Semiconductor.
Förutom två förstärkta MIPI D-PHY-transceivrar med fyra banor som har stöd för 10 Gbit/s per PHY, har CrossLink-NX-enheterna även stöd för 5 Gbits/s PCIe, 1,5 Gbit/s programmerbara in- och utgångar (I/O) och DDR3-minne med 1066 Mbit/s. Enheterna har även stöd för traditionella elektriska gränssnitt och protokoll som LVDS (Low Voltage Differential Signaling), Sub-LVDS (en version av LVDS med reducerad spänning), OLDI (Open LVDS Display Interface) och SGMII (Serial Gigabit Media-Independent Interface). Detta medför att enheterna kan användas för att sammanställa videoströmmar, dela videoströmmar, köra AI-applikationer och - medan de gör allt detta - även fungera som broar mellan äldre MCU:er/AP:er och moderna sensorer och bildskärmar.
Utvecklare av fordonssystem som vill utvärdera FPGA:erna CrossLink-NX kommer att finna kombinationen av Crosslink-NX-kortet LIFCL-VIP-SI-EVN med sensoringångar (figur 1) och den modulära satsen för inbäddat maskinseende LF-EVDK1-EVN (det förstnämnda kortet kan fungera som ett ingångskort för det sistnämnda). Förutom en CrossLink-NX FPGA har kortet med sensoringångar även fyra Sony IMX258 CMOS MIPI-bildsensorer med 13 megapixel och stöd för 4K2K vid 30 bps eller 1080p vid 60 bps. Den har även stöd för enkel anslutning av sensorer via tre oberoende PMOD-gränssnitt.
Figur 1: Kortet CrossLink-NX VIP med sensoringångar kan fungera som ingång till Embedded Vision Development Kit, och innehåller en CrossLink-NX FPGA samt stöd för sammanslagning av fyra Sony IMX258 MIPI-bildsensorer. (Bildkälla: Lattice Semiconductor)
För beräkningsintensiva tillämpningar som även kräver hög I/O-bandbredd - som exempelvis AI för uppgifter som igenkänning och kontroll av gester, röstigenkänning och röststyrning, detektering av mänsklig närvaro, identifiering av passagerare och förarövervakning - är FPGA:erna ECP5 från Lattice utrustade med upp till 3.2 Gbit/s serialiserare/deserialiserare (SERDES), med upp till fyra kanaler per enhet i dubbelkanalsblock för högre noggrannhet, upp till 85 K referenstabeller (LUT), förbättrade DSP-block (digital signalbehandling) som ger dubbel resursförbättring för symmetriska filter och stöd för dämpning av enstaka störningshändelser (SEU). FPGA:erna har även ett programmerbart I/O-stöd för LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL och ett MIPI D-PHY I/O-gränssnitt.
Ett exempel på en ECP5-enhet är LFE5U-85F-6BG554C med 84 000 logikelement, 3,75 Mbit RAM-minne och 259 in-/utgångar. Utvecklingssatsen ECP 5 Versa LFE5UM-45F-VERSA-EVNG är också intressant (figur 2). Kortet använder ett PCI Express-kort med halv längd (PCIe) och gör det möjligt för konstruktörer att utvärdera viktiga anslutningsfunktioner i FPGA:n ECP5, inklusive PCIe, Gigabit Ethernet (GbE), DDR3 och generisk SERDES-prestanda.
Figur 2: Utvecklingssatsen ECPe Versa finns som ett PCI Express-kort med halv längd, och gör det möjligt för konstruktörer att utvärdera viktiga anslutningsfunktioner i FPGA:en ECP5, inklusive PCIe, GbE, DDR3 och generisk SERDES-prestanda. (Bildkälla: Lattice Semiconductor)
Skydd av bilar med hjälp av FPGA:er
Säkerhetshotet från hackning ökar och nya intrång sker ständigt. När det gäller bilar kan en cyberattack leda till att kontrollen över fordonet går förlorad, vilket kan leda till att passagerare och fotgängare skadas eller dör och att bilen, andra fordon och egendom skadas.
En stor del av säkerhetslösningen för en bil är att upprätta ett grundförtroende (root of trust eller RoT), dvs. en hårdvaruresurs i systemet som alltid går att lita på. En lösning är en FPGA-baserad hårdvaru-RoT (HRoT), som den som tillhandahålls av enhetsfamiljen MachXO3D från Lattice. Förutom betydande LUT-resurser och ett stort antal I/O erbjuder dessa flashbaserade enheter omedelbar start och funktioner för i- och urkoppling under drift. Allmänna tillämpningar omfattar limlogik, bussbryggor, bussgränssnitt, motorstyrning, kontroll vid strömtillslag och andra styrlogiska tillämpningar.
Särskilt intressant är det faktum att MachXO3D är den enda FPGA som har både dubbla startfunktioner och färre än 10 000 LUT:er som är utrustad med en hård NIST-certifierad Immutable Security Engine (National Institute of Standards and Technology). Det gör det möjligt för MachXO3D att fungera som bilens HRoT i form av systemets enhet som är "först på, sist av". När systemet startas kontrollerar MachXO3D först att det kör en autentiserad firmware. Den kontrollerar sedan firmware för de andra enheterna i systemet. Om någon av komponenterna i systemet attackeras eller äventyras, inklusive MachXO3D själv, avvisar MachXO3D den misstänkta firmwaren och läser in den komponenten igen med en konstaterat korrekt, autentiserad firmareavbildning.
För de utvecklare som är intresserade av att utvärdera konstruktioner baserade på MachXO3D utgör utvecklingskortet LCMXO3D-9400HC-D-EVN för MachXO3D en utbyggbar plattform för prototypkonstruktion (figur 3). Kortet har en L-ASC10-enhet för hårdvaruhantering (analog avkänning och styrning), ett allmänt I/O-gränssnitt för användning med Arduino- och Raspberry Pi-kort, två Hirose FX12-40 kontaktpositioner (DNI), en Aardvark-kontakt (DNI) och 128 Mbit SPI-flash med en funktion för fyrfaldig läsning.
Figur 3: Utvecklingskortet MachXO3D har en MachXO3D FPGA, en L-ASC10-enhet för hårdvaruhantering (analog avkänning och styrning), stöd för Arduino- och Raspberry Pi-kort, två Hirose FX12-40 kontaktpositioner (DNI), en Aardvark-kontakt och en USB-B-anslutning för programmering av enheten. (Bildkälla: Lattice Semiconductor)
Kortet har måtten 102,6 x 152,4 mm och har en USB mini-B-kontakt för ström och programmering samt flera kontaktpositioner för Arduino, Aardvark, FX12, Hirose och Raspberry Pi. Både en USB-kabel och en snabbstartsguide ingår.
Sammanfattning
Modern fordonselektronik kräver ett ständigt ökande antal sensorer, elektriska gränssnitt och protokoll, med motsvarande krav på processorkraft och bandbredd. Tillägget av AI och behandling av maskinseende, likväl som säkerhetskrav försvårar genomförandet av lösningar med klassiska MCU- eller AP-metoder.
Som framgår kan konstruktörer genom lämplig användning av FPGA:er lägga till en viss flexibilitet och bearbetningskraft som kan överbrygga olika bearbetningsmiljöer, utföra funktioner för sammanställning och sammanslagning av sensorer, tillgodose krav på I/O-bandbredd och utföra beräkningar och operationer på ett massivt parallellt sätt, samtidigt som värdprocessorerna frigörs för andra aktiviteter.
När det gäller säkerhet kan en flashbaserad FPGA med dubbla startfunktioner och NIST-certifierad Immutable Security Engine fungera som bilens HRoT och se till att den och andra enheter endast kör autentiserad firmware, vilket kryptografiskt förhindrar hackare från att äventyra bilens system.
Ytterligare läsning:
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.



