De keuze en het gebruik van FPGA's voor interfacing, beveiliging en rekenintensieve taken in de automobielsector
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2022-01-12
Traditioneel worden rekentaken in auto's uitgevoerd door microcontrollers (MCU's) en applicatieprocessoren (AP's). Een doorsnee middenklasse-voertuig kan 25 tot 35 MCU's/AP's bevatten, terwijl luxeauto's er 70 of meer kunnen gebruiken. Auto's vereisen in toenemende mate uiterst geavanceerde, rekenintensieve capaciteiten voor taken als geavanceerde ondersteuningssystemen voor de bestuurder (ADAS), infotainment, besturing, netwerken en beveiliging. Bij veel van deze toepassingen wordt gebruik gemaakt van machine vision in de vorm van beeld- en videoverwerking in combinatie met kunstmatige intelligentie (AI).
Alleen al de processorarchitectuur heeft moeite om alle elektrische interfaces en protocollen te verwerken die door randapparatuur zoals sensoren, camera's en displays worden geëist. Bovendien kunnen deze processoren in veel gevallen gewoon niet voldoen aan de extreme rekenkundige eisen van taken als machinevisie en AI.
Om deze complexiteit aan te pakken, wenden ontwerpers van autosystemen zich tot "field-programmable gate arrays" (FPGA's), niet om de bestaande MCU's/AP's te vervangen, maar veeleer om als brug te fungeren tussen de MCU's/AP's en andere apparaten, en om de MCU's/AP's aan te vullen door de communicatie en andere rekenintensieve taken uit handen te geven.
Aangezien FPGA's kunnen worden geprogrammeerd om een grote verscheidenheid van elektrische interfaces en protocollen te ondersteunen, kunnen zij als brug fungeren tussen MCU's/AP's en sensoren, camera's en displays. Omdat FPGA's berekeningen en bewerkingen op massaal parallelle wijze kunnen uitvoeren, kunnen ze ook worden gebruikt voor de uitvoering van rekenintensieve vision processing en AI-taken, waardoor de host-processoren voor andere activiteiten kunnen worden vrijgemaakt.
Dit artikel bespreekt de verwerkingseisen van moderne voertuigen en beschrijft enkele van de automobieltoepassingen die met FPGA's kunnen worden aangepakt. Vervolgens worden enkele voorbeeld-FPGA's van Lattice Semiconductor voorgesteld en wordt getoond hoe deze kunnen worden gebruikt om connectiviteits-, verwerkings- en beveiligingsproblemen op te lossen. Bijbehorende ontwikkelingskaarten worden ook gepresenteerd om ontwerpers op weg te helpen.
Doel automotive toepassingen voor FPGA's
Om hun ADAS-mogelijkheden te ondersteunen, maken de auto's van vandaag gebruik van tal van sensoren buiten het voertuig, waaronder camera's, radar, LiDAR en ultrasone detectors. In veel gevallen is het nodig gegevens van ongelijksoortige sensors te nemen, deze gegevens voor te bewerken (verwijderen van ruis en formatteren zoals vereist), en sensorfusie te gebruiken om de gegevens zodanig te combineren dat de resulterende informatie minder onzekerheid bevat dan mogelijk zou zijn indien de gegevens van de verschillende sensoren afzonderlijk zouden worden gebruikt. In veel gevallen worden AI-toepassingen gebruikt om de gegevens te analyseren, beslissingen te nemen en passende maatregelen te treffen.
Een betrekkelijk recente trend is het gebruik van elektronische (ook "digitale" genoemd) achteruitkijkspiegels. In dit geval wordt een groothoekcamera met hoge resolutie in de achterruit geïnstalleerd. De videostream van deze camera wordt gepresenteerd op een digitaal display dat de traditionele spiegel vervangt, wat resulteert in een duidelijk zicht naar achteren dat niet wordt belemmerd door passagiers op de achterbank. In sommige gevallen kunnen videostromen van op de zijspiegels gemonteerde camera's worden samengevoegd met de videostroom van de achterruitcamera. Deze drie beelden worden aan elkaar "geplakt" om één enkel beeld te verkrijgen dat wordt gepresenteerd op een superbrede elektronische spiegel, waardoor de bestuurder een veel groter situationeel bewustzijn krijgt van wat er rond het voertuig gebeurt.
Een andere recente trend is het gebruik van camera's in de cabine, gemonteerd op het dashboard, op de stuurkolom of geïntegreerd in de achteruitkijkspiegel (gewoon of elektronisch). In combinatie met AI kunnen deze spiegels in de cabine worden gebruikt voor een groot aantal taken, zoals het herkennen van wie er in de bestuurdersstoel zit en de stoel en de spiegels dienovereenkomstig aanpassen. Een dergelijk systeem controleert niet alleen of bestuurders op de weg letten en niet wegdoezelen, maar kan ook naar tekenen van slaperigheid of medische problemen zoals een epileptische aanval of een hartaanval zoeken en de nodige maatregelen nemen. Deze acties kunnen inhouden dat de alarmlichten worden geactiveerd, de remmen worden bediend en het voertuig naar de kant van de weg wordt geleid. Andere toepassingen zijn ervoor zorgen dat jonge kinderen en huisdieren niet per ongeluk onbeheerd op de achterbank worden achtergelaten door te voorkomen dat de auto op slot gaat en de lichten te laten knipperen, en de bestuurder te waarschuwen als een passagier iets zoals een telefoon, tas of pakje op de achterbank laat liggen.
Wat video-gebaseerde toepassingen betreft, is het in sommige gevallen nodig een enkele video-input op te splitsen in meerdere stromen; in andere gevallen kan het een ontwerpvereiste zijn meerdere videostromen samen te voegen tot één.
Met het toenemende gebruik van elektrische voertuigen (EV's) ontstaat de behoefte om motors te bewaken en te controleren, en om het laadproces te bewaken en te beheren om een maximale levensduur van de batterij te bereiken.
Bovendien worden veel van de huidige auto's uitgerust met 5G of V2X, waarbij V2X ("vehicle to anything") verwijst naar de communicatie tussen een voertuig en elke andere entiteit die van invloed kan zijn (of beïnvloed kan worden door) het voertuig, van infrastructuur langs de weg tot andere voertuigen. Samen met deze connectiviteit is er behoefte aan beveiliging om te voorkomen dat het voertuig wordt gehackt.
Apparaten van autokwaliteit
Het is belangrijk te onthouden dat niet alle FPGA's geschikt zijn voor toepassingen in de automobielsector. De Automotive Electronics Council (AEC) is een organisatie die oorspronkelijk in de jaren negentig is opgericht door Chrysler, Ford en GM met het doel gemeenschappelijke normen voor de kwalificatie van onderdelen en kwaliteitssystemen vast te stellen. Een van de AEC-documenten waarnaar het meest wordt verwezen is AEC-Q100,"Failure Mechanism Based Stress Test Qualification for Integrated Circuits."
IATF 16949:2016 is een technische specificatie gericht op de ontwikkeling van een kwaliteitsmanagementsysteem dat voorziet in voortdurende verbetering, met de nadruk op het voorkomen van defecten en het verminderen van variatie en afval in de toeleveringsketen en het assemblageproces van de auto-industrie. IATF 16949:2016 is gebaseerd op de ISO 9001-norm en werd gecreëerd door de International Automotive Task Force (IATF) en het Technisch Comité van ISO.
Leveranciers van elektronische systemen voor de automobielmarkt eisen steeds vaker dat halfgeleiderleveranciers producten leveren die voldoen aan de AEC-Q100 norm en kunnen aantonen dat hun kwaliteitssystemen ISO/TS-16949 gecertificeerd zijn.
Het kiezen van de juiste FPGA voor de klus
FPGA's zijn uiterst flexibel, maar verschillende families van apparaten bieden verschillende combinaties van mogelijkheden en functies die hen beter geschikt maken voor specifieke taken. In het geval van ingebedde vision-toepassingen, bijvoorbeeld, maken moderne camera's en beeldschermen vaak gebruik van MIPI-interfaces. De MIPI CSI-2 (camera/sensor) en DSI (beeldscherm) protocollen maken beide gebruik van een communicatie fysieke laag (PHY), de D-PHY. Oude MCU's/AP's ondersteunen deze interface misschien niet, maar sommige FPGA's wel, zoals de CrossLink-NX embedded vision en processing FPGA's van Lattice Semiconductor.
Naast twee geharde vier-baans MIPI D-PHY transceivers die 10 gigabit per seconde (Gbits/s) per PHY ondersteunen, ondersteunen CrossLink-NX apparaten ook 5 Gbits/s PCIe, 1,5 Gbits/s programmeerbare inputs/outputs (I/O), en 1066 megabit per seconde (Mbits/s) DDR3. Deze toestellen ondersteunen ook traditionele elektrische interfaces en protocollen zoals LVDS (Low Voltage Differential Signaling), Sub-LVDS (een versie met gereduceerde spanning van LVDS), OLDI (Open LVDS Display Interface) en SGMII (Serial Gigabit Media Independent Interface). Als gevolg hiervan kunnen deze apparaten worden gebruikt voor het samenvoegen van videostromen, het splitsen van videostromen, het uitvoeren van AI-toepassingen en - terwijl ze dit allemaal doen - ook fungeren als brug tussen oudere MCU's/AP's en moderne sensoren en beeldschermen.
Voor ontwikkelaars van autosystemen die CrossLink-NX FPGA's willen evalueren, is de combinatie van de LIFCL-VIP-SI-EVN CrossLink-NX VIP Sensor Input Board (afbeelding 1) en de LF-EVDK1-EVN Modular Embedded Vision Kit interessant (de eerste kan fungeren als inputboard voor de tweede). Naast een CrossLink-NX FPGA is de sensor-inputkaart ook uitgerust met vier 13-megapixel Sony IMX258 CMOS MIPI-beeldsensoren, die 4K2K @ 30 beelden per seconde (fps) of 1080p @ 60 fps ondersteunen. Hij ondersteunt ook eenvoudige sensorconnectiviteit via drie onafhankelijke PMOD-interfaces.
Afbeelding 1: Het CrossLink-NX VIP-sensorinvoerkaart, dat als ingang kan dienen voor de Embedded Vision Development Kit, bevat een CrossLink-NX FPGA en ondersteunt de aggregatie van vier MIPI Sony IMX258 beeldsensoren. (Bron afbeelding: Lattice Semiconductor)
Voor rekenintensieve toepassingen die ook een hoge I/O-bandbreedte vereisen, zoals AI voor taken zoals gebarenherkenning en -besturing, spraakherkenning en -besturing, detectie van menselijke aanwezigheid, identificatie van inzittenden en bewaking van bestuurders, bieden de ECP5 FPGA's van Lattice tot 3,2 Gbit/ s serializer/deserializer (SERDES), tot vier kanalen per apparaat in dual-channel blokken voor hogere granulariteit, tot 85K look-up tables (LUT's), verbeterde DSP-blokken (digital signal processing) die zorgen voor 2x resourceverbetering voor symmetrische filters , en ondersteuning voor de beperking van een enkele gebeurtenis (SEU). Deze FPGA's bieden tevens programmeerbare I/O-ondersteuning voor LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL en MIPI D-PHY I/O-interfaces.
Een voorbeeld van een ECP5-apparaat is de LFE5U-85F-6BG554C met 84.000 logische elementen, 3,75 megabits (Mbits) RAM, en 259 I/O's. Ook van belang is de LFE5UM-45F-VERSA-EVNG ECP5 Versa Development Kit (Afbeelding 2). Het bord maakt gebruik van een PCI Express (PCIe) vormfactor van halve lengte en stelt ontwerpers in staat de belangrijkste connectiviteitskenmerken van de ECP5 FPGA te evalueren, waaronder PCIe, Gigabit Ethernet (GbE), DDR3 en generieke SERDES-prestaties.
Afbeelding 2: Met de ECPe Versa Development Kit, die wordt aangeboden in een PCI Express-vorm met halve lengte, kunnen ontwerpers de belangrijkste connectiviteitskenmerken van de ECP5 FPGA evalueren, waaronder PCIe, GbE, DDR3 en generieke SERDES-prestaties. (Bron afbeelding: Lattice Semiconductor)
Beveiliging van auto's met behulp van FPGA's
De bedreigingen voor de veiligheid door hacking nemen toe en er doen zich voortdurend nieuwe inbreuken voor. In het geval van auto's kan een cyberaanval leiden tot verlies van controle over het voertuig, met letsel of de dood van passagiers en voetgangers tot gevolg, en schade aan de auto, andere voertuigen en eigendommen.
Een groot deel van de beveiliging van een auto bestaat uit de invoering van een root of trust (RoT), d.w.z. een hardwarebron binnen het systeem die altijd kan worden vertrouwd. Een van de oplossingen is een op een FPGA gebaseerde hardware RoT (HRoT), zoals die welke wordt geleverd door de MachXO3D-reeks van Lattice. Naast aanzienlijke LUT-resources en grote aantallen I/O's bieden deze flash-gebaseerde apparaten mogelijkheden voor instant-on en hot-socketing. Toepassingen voor algemene doeleinden zijn onder meer lijmlogica, busoverbrugging, businterfacing, motorbesturing, inschakelregeling en andere besturingslogica-toepassingen.
Van bijzonder belang is het feit dat de MachXO3D de enige FPGA is met zowel dual-boot-mogelijkheid als minder dan 10K LUT's die is uitgerust met een harde National Institute of Standards and Technology (NIST)-gecertificeerde Immutable Security Engine. Hierdoor kan de MachXO3D fungeren als de HRoT van de auto in de vorm van het "first-on, last-off"-apparaat van het systeem. Wanneer het systeem wordt opgestart, controleert de MachXO3D eerst of er geverifieerde firmware wordt gebruikt. Vervolgens controleert hij de firmware van de andere apparaten in het systeem. Indien een van de componenten in het systeem wordt aangevallen of gecompromitteerd, inclusief de MachXO3D zelf, verwerpt de MachXO3D de verdachte firmware en laadt hij de component opnieuw met een geverifieerde firmware-image waarvan de deugdelijkheid bekend is.
Voor ontwikkelaars die geïnteresseerd zijn in het evalueren van op MachXO3D gebaseerde ontwerpen, biedt het LCMXO3D-9400HC-D-EVN MachXO3D-ontwikkelbord een uitbreidbaar prototype-platform (Afbeelding 3). De printplaat is voorzien van een L-ASC10 (analog sense and control) hardware management device, een general-purpose I/O interface voor gebruik met Arduino en Raspberry Pi boards, twee Hirose FX12-40 header posities (DNI), een Aardvark header (DNI), en 128 Mbit seriële perifere interface (SPI) Flash met quad read functie.
Figuur 3: Het MachXO3D-ontwikkelbord is voorzien van een MachXO3D FPGA, een L-ASC10 (analog sense and control) hardware management device, ondersteuning voor Arduino en Raspberry Pi-borden, twee Hirose FX12-40 headerposities (DNI), een Aardvark-header, en een USB-B aansluiting voor het programmeren van het apparaat. (Bron afbeelding: Lattice Semiconductor)
Het bord heeft een vormfactor van 4 x 6 inch en is voorzien van een USB mini-B connector voor voeding en programmering, en meerdere headerposities voor ondersteuning van Arduino, Aardvark, FX12, Hirose en Raspberry Pi. Zowel een USB-kabel als een snelstartgids zijn bijgeleverd.
Conclusie
Moderne elektronica voor auto's vereist een steeds groter aantal sensors, elektrische interfaces en protocollen, met navenante eisen aan verwerkingsvermogen en bandbreedte. De toevoeging van AI en machine vision processing, alsmede beveiligingseisen, bemoeilijken de implementatie van oplossingen die gebruik maken van klassieke MCU of AP benaderingen.
Zoals aangetoond kunnen ontwerpers, door FPGA's op de juiste wijze toe te passen, een mate van flexibiliteit en verwerkingskracht toevoegen waarmee zij ongelijksoortige verwerkingsomgevingen kunnen overbruggen, sensoraggregatie- en -fusiefuncties kunnen uitvoeren, I/O-bandbreedtevereisten kunnen aanpakken en berekeningen en bewerkingen op massaal parallelle wijze kunnen uitvoeren, terwijl de host-processoren voor andere activiteiten worden vrijgemaakt.
Voor de beveiliging kan een flash-gebaseerde FPGA met dual-boot mogelijkheid en NIST-gecertificeerde Immutable Security Engine fungeren als de HRoT van de auto en ervoor zorgen dat hij - en andere apparaten - alleen geauthentiseerde firmware draaien, zodat hackers de systemen van de auto niet cryptografisch kunnen aantasten.
Verder leesvoer:
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.



