Die Auswahl und der Einsatz von FPGAs für Schnittstellen, Sicherheit und rechenintensive Aufgaben im Automobilbereich

Von Clive „Max“ Maxfield

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von Digi-Key

Traditionell werden Rechenaufgaben in Kraftfahrzeugen von Mikrocontrollern (MCUs) und Anwendungsprozessoren (APs) ausgeführt. Ein typisches Mittelklassefahrzeug kann 25 bis 35 MCUs/APs enthalten, während in Luxuswagen 70 oder noch mehr zum Einsatz kommen können. Automobile benötigen zunehmend extrem anspruchsvolle, rechenintensive Funktionen für Aufgaben wie erweiterte Fahrerassistenzsysteme, 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 ist kaum in der Lage, alle elektrischen Schnittstellen und Protokolle zu handhaben, 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 KI erfüllen.

Um diese Komplexität in den Griff zu bekommen, wenden sich die Entwickler von Kfz-Systemen feldprogrammierbaren 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, dass sie eine Vielzahl von elektrischen Schnittstellen und Protokollen unterstützen, erlauben sie die Nutzung als Brücke zwischen MCUs/APs und Sensoren, Kameras und Displays. Mit ihrer Fähigkeit, Berechnungen und Operationen massiv parallel durchzuführen, können FPGAs auch für rechenintensive Bildverarbeitungs- und KI-Aufgaben eingesetzt werden, wodurch die Host-Prozessoren für andere Tätigkeiten zur Verfügung stehen.

In diesem Artikel werden die Verarbeitungsanforderungen moderner Fahrzeuge erörtert und einige der Anwendungen im Automobilbereich beschrieben, die sich durch FPGAs unterstützen lassen. 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. Außerdem werden zugehörige Entwicklungsplatinen vorgestellt, um Entwicklern den Einstieg zu erleichtern.

Zielanwendungen für FPGAs in der Automobilindustrie

Zur Unterstützung von erweiterten Fahrerassistenzfunktionen nutzen moderne Automobile viele Sensoren außerhalb des Fahrzeugs, darunter Kameras, Radar, LiDAR und Ultraschalldetektoren. In vielen Fällen ist es notwendig, Daten von verschiedenen Sensoren abzurufen sowie diese Daten vorzuverarbeiten (Rauschen zu entfernen und sie nach Bedarf zu formatieren) und mittels Sensorfusion so zu kombinieren, dass die 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 (oder auch „digitalen“) Rückspiegeln. In diesem Fall wird eine hochauflösende Weitwinkelkamera in die Heckscheibe eingebaut. Der Videostream dieser Kamera wird auf einem digitalen Display angezeigt, das den herkömmlichen Spiegel ersetzt und so eine klare Sicht nach hinten ermöglicht, die von den Passagieren auf den Rücksitzen nicht behindert wird. In einigen Fällen können die Videodatenströme der an den Seitenspiegeln montierten Kameras mit dem der Heckscheibenkamera zusammengeführt werden. Diese drei Bilder werden zu einem einzigen Bild zusammengefügt, das auf einem übergroßen elektronischen Spiegel angezeigt wird, so dass der Fahrer ein wesentlich besseres Situationsbewusstsein für das Geschehen um das Fahrzeug herum erhält.

Ein weiterer Trend der letzten Zeit ist der Einsatz von Innenraumkameras, die am Armaturenbrett, an der Lenksäule oder im Rückspiegel (regulär oder elektronisch) integriert sind. In Verbindung mit KI können diese Innenspiegel für eine Vielzahl von Aufgaben eingesetzt werden, z. B. um zu erkennen, wer auf dem Fahrersitz sitzt, und diesen sowie die Spiegel entsprechend einzustellen. Ein solches System überwacht nicht nur, ob der Fahrer auf die Straße achtet und nicht einschläft, sondern kann auch auf Anzeichen von Schläfrigkeit sowie auf medizinische Probleme oder Notlagen wie epileptische Anfälle oder Herzinfarkte achten und entsprechende Maßnahmen ergreifen. Diese Maßnahmen können das Einschalten der Warnblinkanlage, das Betätigen der Bremsen und das Lenken des Fahrzeugs an den Straßenrand umfassen. In weiteren Anwendungen wird sichergestellt, dass kleine Kinder und Haustiere nicht versehentlich unbeaufsichtigt auf den Rücksitzen zurückgelassen werden, indem die Verriegelung des Fahrzeugs verhindert wird, oder die Lichter blinken, um den Fahrer darauf hinzuweisen, dass z. B. ein Telefon, eine Tasche oder ein Paket auf dem Rücksitz zurückgelassen wurde.

Bei videobasierten Anwendungen ist es in einigen Fällen erforderlich, einen einzelnen Videoeingang in mehrere Ströme aufzuteilen; in anderen Fällen kann eine Designanforderung darin bestehen, mehrere Videoströme zu einem einzigen zusammenzufassen.

Mit der zunehmenden Verbreitung von Elektrofahrzeugen (EFs) steigt 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, dass viele der heutigen Autos bereits 5G- oder C2X-fähig sind, wobei C2X („Car to X“) die Kommunikation zwischen einem Fahrzeug und allen anderen Entitäten bezeichnet, die das Fahrzeug beeinflussen (oder von ihm beeinflusst werden) können, von der straßennahen Infrastruktur bis hin zu anderen Fahrzeugen. Diese Konnektivität erfordert wiederum Sicherheitsmaßnahmen, die verhindern, dass das Fahrzeug gehackt werden kann.

Kfz-zugelassene Komponenten

Es ist wichtig, daran zu denken, dass nicht alle FPGAs für Automobilanwendungen geeignet sind. Das Automotive Electronics Council (AEC) ist eine Organisation, die ursprünglich in den 1990er Jahren von Chrysler, Ford und GM gegründet wurde, um gemeinsame Standards für die Qualifizierung von Bauteilen und Qualitätssicherungssystemen festzulegen. Eines der am häufigsten berücksichtigten AEC-Dokumente ist die Norm AEC-Q100, „Failure Mechanism Based Stress Test Qualification for Integrated Circuits“ (Qualifizierung von integrierten Schaltkreisen mithilfe der Belastungsprüfung auf Basis von Ausfallmechanismen).

Die IATF 16949:2016 ist eine technische Spezifikation, die auf die Entwicklung eines Qualitätsmanagementsystems abzielt, das eine kontinuierliche Verbesserung vorsieht und den Schwerpunkt auf die Fehlervermeidung und die Reduzierung von Abweichungen und Verschwendung in der Lieferkette und im Montageprozess der Automobilindustrie legt. Die IATF 16949:2016 basiert auf der Norm ISO 9001 und wurde von der International Automotive Task Force (IATF) und dem Technischen Komitee der ISO entwickelt.

Die Lieferanten elektronischer Systeme für den Automobilmarkt verlangen zunehmend, dass die Halbleiterlieferanten Produkte anbieten, die der Norm AEC-Q100 entsprechen, und dass sie die ISO/TS-16949-Zertifizierung ihrer Qualitätssysteme nachweisen können.

Die Wahl des richtigen FPGAs

FPGAs sind äußerst flexibel, aber verschiedene Bausteinfamilien bieten unterschiedliche Kombinationen von Fähigkeiten und Funktionen, die sie für bestimmte Aufgaben besser geeignet machen. Bei eingebetteten Bildverarbeitungsanwendungen zum Beispiel verwenden moderne Kameras und Displays häufig MIPI-Schnittstellen. Die MIPI-Protokolle CSI-2 (Kamera/Sensor) und DSI (Display) verwenden zur Kommunikation beide eine Bitübertragungsschicht (physical layer, PHY) namens D-PHY. Ältere MCUs/APs unterstützen diese Schnittstelle möglicherweise nicht, aber einige FPGAs schon, wie z. B. die FPGAs der Familien CrossLink-NX für die eingebettete Bildverarbeitung von Lattice Semiconductor.

Zusätzlich zu zwei gehärteten Vier-Lane-MIPI-D-PHY-Transceivern, die 10 Gigabit pro Sekunde (GBit/s) pro PHY bieten, unterstützen CrossLink-NX-Komponenten auch 5-GBit/s-PCIe, programmierbare 1,5-GBit/s-Ein-/Ausgänge (E/A) und DDR3 mit 1066 Megabit pro Sekunde (MBit/s). Diese Bauelemente unterstützen außerdem herkömmliche elektrische Schnittstellen und Protokolle wie LVDS (Low-Voltage Differential Signaling), Sub-LVDS (eine Version von LVDS mit reduzierter Spannung), OLDI (Open LVDS Display Interface) und SGMII (Serial Gigabit Media Independent Interface). Daher können sie für die Aggregation von Videodatenströmen, die Aufteilung von Videodatenströmen und die Ausführung von KI-Anwendungen genutzt werden und gleichzeitig als Brücke zwischen älteren MCUs/APs und modernen Sensoren und Displays dienen.

Für Entwickler von Automobilsystemen, die die CrossLink-NX-FPGAs evaluieren möchten, ist die Kombination aus dem CrossLink-NX-VIP-Sensoreingangsboard LIFCL-VIP-SI-EVN (Abbildung 1) und dem Kit LF-EVDK1-EVN für die modulare eingebettete Bildverarbeitung von Interesse (ersteres kann als Eingangsboard für letzteres dienen). Zusätzlich zu einem CrossLink-NX-FPGA verfügt das Sensoreingangsboard über vier 13-Megapixel-CMOS-MIPI-Bildsensoren IMX258 von Sony, die 4K2K bei 30 Frames pro Sekunde (fps) oder 1080p bei 60 fps unterstützen. Außerdem ist die einfache Anbindung von Sensoren über drei unabhängige PMOD-Schnittstellen möglich.

Abbildung: CrossLink-NX-VIP-Sensoreingangsboard von Lattice SemiconductorAbbildung 1: Das CrossLink-NX-VIP-Sensoreingangsboard, das als Eingang für das Entwicklungskit für eingebettete Bildverarbeitung dienen kann, enthält einen CrossLink-NX-FPGA und unterstützt die Aggregation von vier MIPI-Bildsensoren IMX258 von Sony. (Bildquelle: Lattice Semiconductor)

Für rechenintensive Anwendungen, die auch eine hohe E/A-Bandbreite erfordern – wie KI für Aufgaben wie Gestenerkennung und -steuerung, Spracherkennung und -steuerung, Anwesenheitserkennung, Insassenidentifizierung und Fahrerüberwachung – bieten die ECP5-FPGAs von Lattice Serialisierer/Deserialisierer (SERDES) mit bis zu 3,2 GBit/s, bis zu vier Kanäle pro Baustein in Zweikanalblöcken für höhere Granularität, bis zu 85.000 Look-up-Tabellen (LUTs), erweiterte digitale Signalverarbeitungsblöcke (DSP), die eine zweifache Ressourcenverbesserung für symmetrische Filter bieten, und Unterstützung für die Single-Event-Upset-Abschwächung (SEU). Diese FPGAs bieten auch Unterstützung für programmierbare E/A für LVCMOS-33/25/18/15/12-, XGMII-, LVTTL-, LVDS-, Bus-LVDS-, 7:1-LVDS-, LVPECL- und MIPI-D-PHY-E/A-Schnittstellen.

Ein Beispiel eines ECP5-Bausteins ist der LFE5U-85F-6BG554C mit 84.000 Logikelementen, 3,75-Megabit-RAM (MBit) und 259 E/A. Ebenfalls von Interesse ist das ECP5-Versa-Entwicklungskit LFE5UM-45F-VERSA-EVNG (Abbildung 2). Das Board nutzt einen halben PCI-Express-Formfaktor (PCIe) und ermöglicht Entwicklern die Evaluierung wichtiger Konnektivitätsfunktionen des ECP5-FPGA, einschließlich PCIe, Gigabit Ethernet (GbE), DDR3 und generischer SERDES-Leistung.

Abbildung: ECPe-Versa-Entwicklungskit von Lattice SemiconductorAbbildung 2: Das ECPe-Versa-Entwicklungskit mit halbem PCI-Express-Formfaktor ermöglicht Entwicklern die Evaluierung wichtiger Konnektivitätsfunktionen des ECP5-FPGA, einschließlich PCIe, GbE, DDR3 und generischer SERDES-Leistung. (Bildquelle: Lattice Semiconductor)

Absicherung von Automobilen mit FPGAs

Die Sicherheitsbedrohungen durch Hacker nehmen zu, und es kommt immer wieder zu neuen Sicherheitsverletzungen. Bei Kraftfahrzeugen könnte ein Cyberangriff zum Verlust der Kontrolle führen, was Verletzungen oder den Tod von Insassen und Fußgängern sowie Schäden am Fahrzeug, an anderen Fahrzeugen und am Eigentum zur Folge hätte.

Ein großer Teil der Sicherheitslösung eines Automobils besteht darin, eine Root of Trust (RoT) einzurichten, d. h. eine Hardwareressource innerhalb des Systems, der immer vertraut werden kann. Eine Lösung ist eine FPGA-basierte Hardware-RoT (HRoT), wie sie die MachXO3D-Bausteinfamilie von Lattice bietet. Neben umfangreichen LUT-Ressourcen und einer großen Anzahl von E/A bieten diese Flash-basierten Bausteine Instant-On- und Hot-Socketing-Funktionen. Zu den Allzweckanwendungen gehören Verbindungslogik, Busüberbrückung, Busschnittstellen, Motorsteuerung, Einschaltkontrolle und andere Steuerlogikanwendungen.

Von besonderem Interesse ist die Tatsache, dass der MachXO3D der einzige FPGA mit Dual-Boot-Fähigkeit und weniger als 10.000 LUTs ist, der mit einer harten, vom National Institute of Standards and Technology (NIST) zertifizierten Immutable Security Engine ausgestattet ist. Auf diese Weise kann der MachXO3D als HRoT des Fahrzeugs in Form der First-on-Last-off-Vorrichtung des Systems fungieren. Wenn das System eingeschaltet wird, prüft der MachXO3D zunächst, ob eine authentifizierte Firmware läuft. Anschließend überprüft er die Firmware der anderen Geräte im System. 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 authentifizierten Firmware-Image neu, dessen Unversehrtheit bekannt ist.

Für Entwickler, die MachXO3D-basierte Designs evaluieren möchten, bietet das MachXO3D-Entwicklungsboard LCMXO3D-9400HC-D-EVN eine erweiterbare Prototyping-Plattform (Abbildung 3). Das Board verfügt über eine Hardware-Managementkomponente L-ASC10 (Analog Sense and Control), eine Allzweck-E/A-Schnittstelle zur Verwendung mit Arduino- und Raspberry Pi-Boards, zwei Steckplätze (DNI) FX12-40 von Hirose, eine Steckleiste (DNI) von Aardvark und 128-MBit-SPI-Flash (Serial Peripheral Interface) mit Vierfach-Lesefunktion.

Abbildung: MachXO3D-Entwicklungsboard von Lattice SemiconductorAbbildung 3: Das MachXO3D-Entwicklungsboard verfügt über einen MachXO3D-FPGA, eine Hardware-Managementkomponente L-ASC10 (Analog Sense and Control), Unterstützung für Arduino- und Raspberry Pi-Boards, zwei Steckplätze (DNI) FX12-40 von Hirose, eine Steckleiste (DNI) von Aardvark und einen USB-B-Anschluss für die Programmierung. (Bildquelle: Lattice Semiconductor)

Das Board hat einen Formfaktor von 4 x 6 Zoll und verfügt über einen USB-Mini-B-Anschluss zur Stromversorgung und Programmierung sowie über mehrere Steckplätze, die Arduino, Aardvark, FX12, Hirose und Raspberry Pi unterstützen. Sowohl ein USB-Kabel als auch eine Kurzanleitung sind im Lieferumfang enthalten.

Fazit:

Moderne Automobilelektronik erfordert eine immer größere Anzahl von Sensoren, elektrischen Schnittstellen und Protokollen mit entsprechenden Anforderungen an Rechenleistung und Bandbreite. Neben den Sicherheitsanforderungen erschwert die Hinzunahme von KI und maschineller Bildverarbeitung die Implementierung von Lösungen mit klassischen MCU- oder AP-Ansätzen.

Wie gezeigt, können die Entwickler durch den Einsatz von FPGAs einen Grad an Flexibilität und Verarbeitungsleistung erreichen, der es ermöglicht, unterschiedliche Verarbeitungsumgebungen zu überbrücken, Sensoraggregations- und -fusionsfunktionen auszuführen, Anforderungen an die E/A-Bandbreite zu erfüllen und Berechnungen und Operationen massiv zu parallelisieren, während die Host-Prozessoren für andere Aktivitäten verfügbar bleiben.

Aus Sicherheitsgründen kann ein Flash-basiertes FPGA mit Dual-Boot-Fähigkeit und einer NIST-zertifizierten Immutable Security Engine als HRoT des Fahrzeugs fungieren und sicherstellen, dass auf dem FPGA und anderen Komponenten nur authentifizierte Firmware läuft, wodurch Hacker daran gehindert werden, die Systeme des Fahrzeugs kryptografisch zu kompromittieren.

Weiterführende Literatur:

  1. Grundlagen der FPGAs: Was sind FPGAs und wofür sind sie erforderlich?

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Ü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“.

Über den Verlag

Nordamerikanische Fachredakteure von Digi-Key