Auswahl und Einsatz von FPGAs für Automotive Interfacing, Sicherheit und rechenintensive Lasten
Im Original von Clive ‘Max‘ Maxfield als einer unserer nordamerikanischen Fachredakteuren von Digi-Key zur Verfügung gestellt am 12. Januar 2022
Using FPGAs in Automotive Applications | DigiKey
Traditionell werden Rechenaufgaben in Automobilen von Micro-Controller Units (MCUs) und Application Processors (APs) ausgeführt. Ein typisches Mittelklassefahrzeug kann 25 bis 35 MCUs/APs enthalten, während in Luxusfahrzeugen 70 oder mehr eingesetzt werden. Automobile benötigen zunehmend extrem anspruchsvolle, rechenintensive Funktionen für Aufgaben wie Advanced Driver Assistance Systems (ADAS), Infotainment, Steuerung, Vernetzung und Sicherheit. Viele dieser Anwendungen beinhalten maschinelles Sehen in Form von Bild- und Videoverarbeitung in Verbindung mit Künstlicher Intelligenz (KI).
Die Prozessorarchitektur allein hat Schwierigkeiten, alle elektrischen Schnittstellen und Protokolle zu verarbeiten, die von Peripheriegeräten wie Sensoren, Kameras und Displays gefordert werden. Außerdem können diese Prozessoren in vielen Fällen einfach nicht die extremen Rechenanforderungen von Aufgaben wie maschinellem Sehen und Künstlicher Intelligenz erfüllen.
Um diese Komplexität zu bewältigen, wenden sich die Entwickler von Automobil-Systemen den Field-Programmable Gate Arrays (FPGAs) zu, nicht um die vorhandenen MCUs/APs zu ersetzen, sondern um als Brücke zwischen ihnen und anderen Geräten zu fungieren und sie durch Auslagerung der Kommunikation und anderer rechenintensiver Aufgaben zu ergänzen.
Da FPGAs so programmiert werden können, daß sie eine Vielzahl von elektrischen Schnittstellen und Protokollen unterstützen, können sie als Brücke zwischen MCUs/APs und Sensoren, Kameras und Displays dienen. Da sie Berechnungen und Operationen massiv parallel durchführen können, können FPGAs auch für rechenintensive Bildverarbeitungs- und KI-Aufgaben eingesetzt werden, wodurch die Host-Prozessoren für andere Aktivitäten frei werden.
In diesem Artikel werden die Verarbeitungsanforderungen moderner Fahrzeuge erörtert und einige der Anwendungen im Automobilbereich beschrieben, die mit FPGAs gelöst werden können. Anschließend werden einige Beispiel-FPGAs von Lattice Semiconductor vorgestellt und gezeigt, wie sie zur Lösung von Konnektivitäts-, Verarbeitungs- und Sicherheitsproblemen eingesetzt werden können. Die zugehörigen Entwicklungsboards werden ebenfalls vorgestellt, um den Entwicklern den Einstieg zu erleichtern.
Zielanwendungen für FPGAs im Automobilbereich
Um ihre ADAS-Fähigkeiten zu unterstützen, verwenden die heutigen Automobile viele Sensoren außerhalb des Fahrzeugs, darunter Kameras, Radar, LiDAR (Light Detection And Ranging) und Ultraschalldetektoren. In vielen Fällen ist es notwendig, Daten von verschiedenen Sensoren zu nehmen, diese Daten vorzuverarbeiten (Rauschen zu entfernen und sie nach Bedarf zu formatieren) und die Daten mittels Sensorfusion so zu kombinieren, daß die daraus resultierenden Informationen mit weniger Unsicherheit behaftet sind, als es möglich wäre, wenn die Daten von den verschiedenen Sensoren einzeln verwendet würden. In vielen Fällen werden KI-Anwendungen eingesetzt, um die Daten zu analysieren, Entscheidungen zu treffen und geeignete Maßnahmen zu ergreifen.
Ein relativ neuer Trend ist der Einsatz von elektronischen (auch “digitalen”) Rückspiegeln. In diesem Fall wird eine hochauflösende Weitwinkelkamera in der Heckscheibe installiert. Der Videostream dieser Kamera wird auf einem digitalen Display angezeigt, das den herkömmlichen Spiegel ersetzt, wodurch eine klare Sicht nach hinten entsteht, die von den Passagieren auf den Rücksitzen nicht behindert wird. In einigen Fällen können die Videoströme der an den Seitenspiegeln montierten Kameras mit dem Videostrom der Heckscheibenkamera zusammengeführt werden. Diese drei Bilder werden zu einem einzigen Bild zusammengefügt, das auf einem übergroßen elektronischen Spiegel angezeigt wird, sodaß der Fahrer einen viel besseren Überblick über das Geschehen rund um das Fahrzeug erhält.
Ein weiterer aktueller Trend ist der Einsatz von Innenraumkameras, die auf dem Armaturenbrett, an der Lenksäule oder in den (normalen oder elektronischen) Rückspiegel integriert sind. In Verbindung mit Künstlicher Intelligenz können diese Innenspiegel für eine Vielzahl von Aufgaben eingesetzt werden, z.B. um zu erkennen, wer auf dem Fahrersitz sitzt und diesen und die Spiegel entsprechend einzustellen. Neben der Überwachung des Fahrers, um sicherzustellen, daß er auf die Straße achtet und nicht einschläft, kann ein solches System auch auf Anzeichen von Schläfrigkeit sowie auf medizinische Probleme oder Notlagen wie einen epileptischen Anfall oder einen Herzinfarkt achten und entsprechende Maßnahmen ergreifen. Zu diesen Maßnahmen können das Einschalten der Warnblinkanlage, das Betätigen der Bremsen und das Lenken des Fahrzeugs an den Straßenrand gehören.
Weitere Anwendungen sind die Sicherstellung, daß kleine Kinder und Haustiere nicht versehentlich unbeaufsichtigt auf den Rücksitzen zurückgelassen werden, indem verhindert wird, daß das Auto verriegelt wird und die Lichter blinken, und daß der Fahrer gewarnt wird, wenn ein Passagier etwas wie ein Telefon, eine Tasche oder ein Paket auf dem Rücksitz liegen läßt.
Bei videobasierten Anwendungen ist es in einigen Fällen erforderlich, einen einzelnen Videoeingang in mehrere Ströme aufzuteilen; in anderen Fällen kann es eine Design-Anforderung sein, mehrere Videoströme zu einem einzigen zusammenzufassen.
Mit der zunehmenden Verbreitung von Elektrofahrzeugen (EVs) entsteht die Notwendigkeit, Motoren zu überwachen und zu steuern sowie den Ladevorgang zu überwachen und zu verwalten, um eine maximale Lebensdauer der Batterie zu erreichen.
Hinzu kommt, daß viele der heutigen Fahrzeuge 5G- oder V2X-fähig sind, wobei sich V2X (Vehicle to Anything) auf die Kommunikation zwischen einem Fahrzeug und jeder anderen Einheit bezieht, die das Fahrzeug beeinflussen (oder von ihm beeinflußt werden) kann, von der straßenseitigen Infrastruktur bis hin zu anderen Fahrzeugen. Mit dieser Konnektivität geht der Bedarf an Sicherheit einher, um zu verhindern, daß das Fahrzeug gehackt werden kann.
Fahrzeugtaugliche Geräte
Es ist wichtig zu wissen, daß nicht alle FPGAs für Automobilanwendungen geeignet sind. Der Automotive Electronics Council (AEC) ist eine Organisation, die in den 1990er Jahren von Chrysler, Ford und GM gegründet wurde, um gemeinsame Standards für die Qualifizierung von Bauteilen und Qualitätssystemen festzulegen. Eines der am häufigsten referenzierten AEC-Dokumente ist die AEC-Q100, die sich mit der “Failure Mechanism Based Stress Test Qualification for Integrated Circuits” befaßt.
Die IATF 16949:2016 ist eine technische Spezifikation, die auf die Entwicklung eines Qualitäts-Management-Systems (QMS) abzielt, das für eine kontinuierliche Verbesserung sorgt, wobei der Schwerpunkt auf der Fehlervermeidung und der Reduzierung von Abweichungen und Verschwendung in der Lieferkette und im Montageprozeß der Automobilindustrie liegt. Die IATF 16949:2016 [TS16949] basiert auf der Norm ISO 9001 und wurde von der International Automotive Task Force (IATF) und dem Technischen Komitee der ISO entwickelt.
Die Zulieferer elektronischer Systeme für den Automobilmarkt verlangen zunehmend, daß Halbleiterlieferanten Produkte anbieten, die dem AECQ-100-Standard entsprechen und die ISO/TS-16949-Zertifizierung ihrer Qualitätssystemen nachweisen können.
Die Wahl des richtigen FPGAs für die jeweilige Aufgabe
FPGAs sind äußerst flexibel, aber verschiedene Bausteinfamilien bieten vollkommen unterschiedliche Kombinationen von Fähigkeiten und Funktionen, die sie für bestimmte Aufgaben besser geeignet machen. Im Falle von Embedded-Vision-Anwendungen verwenden moderne Kameras und Displays zum Beispiel häufig MIPI (Mobile Industry Processor Interfaces). Die MIPI-Protokolle CSI-2 (Camera/Sensor Serial Interface) und DSI (Display Serial Interface) verwenden beide eine Physikalische Kommunikations-Schicht (PHY) namens D-PHY. Ältere MCUs/APs unterstützen diese Schnittstelle möglicherweise nicht, einige FPGAs hingegen schon, wie z.B. die CrossLink™ NX Embedded Vision und Processing FPGAs von Lattice Semiconductor.
Neben zwei in Hardware integrierten Vier-Lane-MIPI-D-PHY-Transceivern, die 10 Gigabit pro Sekunde (Gbits/s) pro PHY unterstützen, unterstützen CrossLink™ NX-Bausteine auch 5 Gbits/s PCIe, 1,5 Gbits/s programmierbare Inputs/Outputs (I/O) und 1066 Megabits pro Sekunde (Mbits/s) DDR3 (Double Data Rate Synchronous Dynamic Random-Access Memory). Diese Geräte unterstützen auch herkömmliche elektrische Schnittstellen und Protokolle wie Low-Voltage Differential Signaling (LVDS), Sub-LVDS (eine Version von LVDS mit reduzierter Spannung), Open LVDS Display Interface (OLDI) und Serial Gigabit Media-Independent Interface (SGMII). Dadurch können diese Geräte für die Aggregation von Videoströmen, die Aufteilung von Videoströmen, die Ausführung von KI-Anwendungen und – bei all dem – auch als Brücke zwischen älteren MCUs/APs und modernen Sensoren und Displays eingesetzt werden.
Für Entwickler von Automotive-Systemen, die CrossLink™ NX-FPGAs evaluieren möchten, ist die Kombination aus dem LIFCL-VIP-SI-EVN mit CrossLink-NX™ VIP Sensor Input Board (Abbildung 1) und dem LF-EVDK1-EVN Modular Embedded Vision Kit von Interesse (Ersteres kann als Input Board für Letzteres dienen). Neben einem CrossLink-NX™ FPGA verfügt das Sensor Input Board auch über vier 13 Megapixel Sony IMX258 CMOS MIPI Bildsensoren (z.B. im THSCU101 als THEIA-CAM KIT 13Mp PDAF UVC von THine Solutions, Inc.), die 4k2k @ 30 Bilder pro Sekunde (fps) oder 1080p @ 60 fps unterstützen. Sie unterstützt außerdem die einfache Anbindung von Sensoren über drei unabhängige PMOD-Schnittstellen.
Abbildung 1: Das CrossLink-NX™ VIP Sensor Input Board, das als Input für das Embedded Vision Development Kit dienen kann, enthält ein CrossLink-NX FPGA und unterstützt die Aggregation von vier MIPI Sony IMX258 Bildsensoren wie in dem THSCU101 als THEIA-CAM KIT 13Mp PDAF UVC von THine Solutions, Inc.. (Bildquelle: Lattice Semiconductor)
Für rechenintensive Anwendungen, die auch eine hohe I/O-Bandbreite erfordern – wie KI für Aufgaben wie Gestenerkennung und -steuerung, Spracherkennung und Steuerung, Anwesenheitserkennung, Insassenidentifikation und Fahrerüberwachung – bieten die ECP5-FPGAs von Lattice bis zu 3. 2 Gbit/s Serializer/Deserializer (SERDES), bis zu vier Kanäle pro Baustein in Dual-Channel-Blöcken für höhere Granularität, bis zu 85k Look-Up Tables (LUTs), verbesserte DSP-Blöcke (Digital Signal Processing), die eine zweifache Ressourcenverbesserung für symmetrische Filter bieten, sowie Unterstützung für Single Event Upset (SEU) Mitigation. Diese FPGAs bieten auch programmierbare I/O-Unterstützung für LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL und MIPI D-PHY I/O-Schnittstellen.
Ein Beispiel für einen ECP5-Baustein ist der LFE5U-85F-6BG554C mit 84.000 Logik-Elementen (LEs), 3,75 Megabits (Mbits) RAM und 259 I/Os. Ebenfalls von Interesse ist das LFE5UM-45F-VERSA-EVNG als ECP5 Versa Development Kit (Abbildung 2). Das Board verwendet einen halblangen PCIexpress (PCIe)-Formfaktor und ermöglicht es Entwicklern, wichtige Konnektivitätsfunktionen des ECP5-FPGA zu evaluieren, einschließlich PCIe, Gigabit Ethernet (GbE), DDR3 und generische SERDES-Leistung.
Abbildung 2: Das ECP5 Versa Development Kit im halblangen PCI express -Formfaktor ermöglicht es Entwicklern, die wichtigsten Konnektivitätsfunktionen des ECP5 FPGA zu evaluieren, darunter PCIe-, GbE-, DDR3- und generische SERDES-Leistung. (Bildquelle: Lattice Semiconductor)
Sicherung von Automobilen mit FPGAs
Die Sicherheitsbedrohungen durch Hacker nehmen zu, und es kommt immer wieder zu neuen Sicherheitslücken. Im Falle von Kraftfahrzeugen könnte ein Cyberangriff zu einem Kontrollverlust führen, der Verletzungen oder den Tod von Insassen und Fußgängern zur Folge hat und Schäden am Fahrzeug, an anderen Fahrzeugen und am Eigentum verursacht.
Ein großer Teil der Sicherheitslösung für ein Auto besteht darin, eine Vertrauensbasis (Root of Trust, RoT) zu schaffen, d.h. eine Hardwareressource innerhalb des Systems, der immer vertraut werden kann. Eine Lösung ist eine FPGA-basierte Hardware Root of Trust (HRoT), wie sie beispielsweise die MachXO3D-Bausteinfamilie von Lattice bietet. Neben umfangreichen LUT-Ressourcen und einer großen Anzahl von I/Os bieten diese Flash-basierten Bausteine Instant-On- und Hot-Socketing-Funktionen.
Zu den Allzweckanwendungen gehören Glue-Logik, Bus-Bridging, Bus-Interfacing, Motorsteuerung, Power-Up-Control und andere Steuerlogik-Anwendungen.
Von besonderem Interesse ist die Tatsache, daß der MachXO3D der einzige FPGA mit Dual-Boot-Fähigkeit und weniger als 10k LUTs ist, der mit einer harten, vom National Institute of Standards and Technology (NIST) zertifizierten ‘Immutable Security Engine‘ ausgestattet ist. Dadurch kann der MachXO3D als HRoT des Fahrzeugs in Form des First-On-Last-Off-Geräts des Systems fungieren. Wenn das System eingeschaltet wird, prüft das MachXO3D zunächst, ob es mit authentifizierter Firmware läuft. Anschließend wird die Firmware der anderen Geräte im System überprüft. Wenn eine der Komponenten im System angegriffen oder kompromittiert wird, einschließlich des MachXO3D selbst, weist der MachXO3D die verdächtige Firmware zurück und lädt die betreffende Komponente mit einem bekannt guten, authentifizierten Firmware-Image neu.
Für Entwickler, die MachXO3D-basierte Designs evaluieren möchten, bietet das LCMXO3D-9400HC-D-EVN MachXO3D Development Board eine erweiterbare Prototyping-Plattform (Abbildung 3). Das Board verfügt über ein L-ASC10-1SG48I (Analog Sense and Control) Hardware Management Device, eine Allzweck-I/O-Schnittstelle zur Verwendung mit Arduino- und Raspberry Pi-Boards, zwei Hirose FX12B-40P-0.4SV Header-Positionen (DNI), einen Aardvark-Header (DNI) und 128 Mbit Serial Peripheral Interface (SPI) Flash mit Quad-Read-Funktion.
Abbildung 3: Das MachXO3D Development Board verfügt über einen MachXO3D FPGA, einen L-ASC10-1SG48I (Analog Sense and Control Platform Manager™) Hardware-Management-Baustein, Unterstützung für Arduino A000067 und Raspberry Pi Boards wie PIM503 als STARTER KIT – 2GB, zwei FX12B-40P-0.4SV Header-Positionen (DNI) von Hirose Electric Co Ltd, einen Aardvark-Header und einen USB-B-Anschluß für die Bausteinprogrammierung. (Bildquelle: Lattice Semiconductor)
Das Board hat einen Formfaktor von 4 x 6 Zoll und verfügt über einen USB-Mini-B-Anschluß für die Stromversorgung und Programmierung sowie mehrere Header-Positionen, die Arduino, Aardvark, FX12, Hirose und Raspberry Pi unterstützen. Sowohl ein USB-Kabel als auch eine Kurzanleitung sind im Lieferumfang enthalten.
Fazit
Die moderne Automobilelektronik erfordert eine ständig wachsende Anzahl von Sensoren, elektrischen Schnittstellen und Protokollen mit entsprechenden Anforderungen an die Verarbeitungsleistung und Bandbreite. Die Hinzunahme von KI- und Bildverarbeitungsfunktionen sowie Sicherheitsanforderungen erschweren die Implementierung von Lösungen mit klassischen MCU- oder AP-Ansätzen.
Wie gezeigt, können Entwickler durch den geeigneten Einsatz von FPGAs einen Grad an Flexibilität und Verarbeitungsleistung hinzufügen, der es ermöglicht, unterschiedliche Verarbeitungsumgebungen zu überbrücken, Sensoraggregations- und -Fusions-Funktionen auszuführen, Anforderungen an die E/A-Bandbreite zu erfüllen und Berechnungen und Operationen massiv parallel durchzuführen, während die Host-Prozessoren für andere Aktivitäten frei werden.
Aus Sicherheitsgründen kann ein Flash-basiertes FPGA mit Dual-Boot-Fähigkeit und NIST-zertifizierter Immutable Security Engine als HRoT des Fahrzeugs fungieren und sicherstellen, daß dieses – und andere Systeme – nur mit authentifizierter Firmware betrieben werden, wodurch Hacker daran gehindert werden, die Systeme des Fahrzeugs kryptografisch zu kompromittieren.
Weitere Lektüre:
Fundamentals of FPGAs: What Are FPGAs and Why Are They Needed?
Über den Autor
Clive „Max“ Maxfield
Clive „Max“ Maxfield erhielt 1980 seinen BSc in Regelungstechnik von der Sheffield Hallam University, England und begann seine Karriere als Entwickler von Zentraleinheiten (CPUs) für Großrechner. Im Laufe der Jahre hat Max Alles von Siliziumchips bis hin zu Leiterplatten und von Gehirnwellenverstärkern bis hin zu Steampunk-Prognosemaschinen (bitte nicht fragen) entwickelt. Darüber hinaus ist er seit mehr als 30 Jahren an der Spitze der Electronic Design Automation (EDA) tätig.
Max ist Autor und/oder Co-Autor einer Reihe von Büchern, darunter ‘Designus Maximus Unleashed‘ (in Alabama verboten), ‘Bebop to the Boolean Boogie‘ (Ein unkonventioneller Leitfaden zur Elektronik), ‘EDA: Where Electronics Begins‘, ‘FPGAs: Instant Access‘ und ‘How Computers Do Math‘. Werfen Sie auch einen Blick auf seinen Blog ‘Max’s Cool Beans‘.