Es besteht kein Zweifel daran, dass kamerabasierte Systeme eine zunehmend wichtige Rolle im Automobil spielen. Der vermehrte Einzug von Funktionen wie Spurhalteassistent und Verkehrszeichenerkennung in Fahrzeugmodellen der Einstiegs- und Mittelklasse übertrifft selbst die optimistischsten Prognosen. Dieser Trend wird sich fortsetzen; der „Automotive Semiconductor Report“ von IHS Automotive prognostiziert für kamerabasierte Sensoren im Jahr 2020 einen Markt von über 100 Millionen Einheiten jährlich.

Woher kommt dieses starke Wachstum? Eine wichtige Rolle spielt hierbei sicherlich Euro NCAP (New Car Assessment Program). Aufgrund dieses Programms können Automobilhersteller ab 2016 mit einer höheren Bewertung für Systeme rechnen, die Fußgänger erkennen und Kollisionen letztendlich zu vermeiden helfen. Bei diesen Systemen handelt es sich um „teilautomatisierte Funktionen“. Kamera- oder radarbasierte Technologien, die in der Lage sind, Fußgänger zu erkennen und zur Kollisionsvermeidung einen Brems- oder Lenkvorgang einzuleiten, können eine Fünf-Sterne-Bewertung im NCAP erreichen.

aufmacher-istock-000062082812xlarge.jpg

iStock/Neusoft

Hohe Anforderungen an kamerabasierte Systeme

Die eigentliche Herausforderung besteht darin, den Anforderungen der Automobilindustrie in Bezug auf Qualität, funktionale Sicherheit (Safety) und Security gerecht zu werden. Es handelt sich hierbei um Systeme, die Menschenleben schützen sollen, sodass Kompromisse in diesen Bereichen nicht akzeptabel sind. Dies bedeutet, dass diese kamerabasierten Systeme den Langzeitanforderungen gemäß AEC-Q100 entsprechen müssen sowie auch der ISO-Norm 26262 für funktionale Sicherheit. Gleichzeitig sind Security-Maßnahmen erforderlich, um das System sowohl gegen Schadsoftware und unberechtigtem Zugriff abzusichern als auch um die enthaltene IP zu schützen.

Die Entwicklung von Lösungen, die sowohl die drei genannten fundamentalen Kriterien erfüllen und dabei die benötigte Rechenleistung bereitstellen, um Objekte zu erkennen und zu klassifizieren, stellt heute eine der größten Herausforderungen der Branche dar. Tatsächlich ist ohne die Entwicklung solcher hochkomplexer ADAS-Applikationen eine zuverlässige, stabile und sichere Einführung von autonom fahrenden Fahrzeugen flächendeckend nicht denkbar.

Die korrekte Detektierung der Umwelt gehört zu den komplexesten Teilaspekten beim autonomen Fahren.

Die korrekte Detektierung der Umwelt gehört zu den komplexesten Teilaspekten beim autonomen Fahren.Freescale

Im Mai 2014 hat Freescale Semiconductor eine Partnerschaft mit Neusoft Automotives bekannt gegeben, um Embedded-Hard- und Softwarelösungen für kamerabasierte ADAS-Applikationen zu entwickeln. Im Rahmen der Partnerschaft wollen die beiden Unternehmen ihre Erfahrung im Bereich der Automotive-Mikrocontroller und bei Vision-Software für die Automobilbranche nutzen, um stabile, sichere und geschützte semi-autonome Funktionen zu implementieren.

Passgenaue Lösung für offenes ADAS-System

Um eine offene und flexible Lösung anzubieten, lag der Schwerpunkt auf der Entwicklung einer weitestgehend programmierbaren Plattform, ohne dabei den Stromverbrauch oder die Kosten aus den Augen zu verlieren. Hierfür bietet Freescales S32V234-Familie mehrere programmierbare anwendungsspezifische Beschleuniger. Jeder Beschleuniger ist auf einen bestimmten Verarbeitungsschritt zugeschnitten, den die ADAS-Applikationen benötigen.

Zur Vorverarbeitung von Kameradaten enthält die Freescale-Plattform einen programmierbaren ISP-Block zur Verarbeitung der Bildsignale. Dieser kann außerdem bereits erste Schritte der Bilderkennung übernehmen, beispielsweise Integralbilder, oder auch Teile eines Gradienten-Histogramms (HOG) berechnen.

Die Verwendung von zwei Instanzen des APEX2-Moduls von CogniVue beschleunigt die klassischen Bilderkennungs-Algorithmen. Beim APEX2-Modul handelt es sich um ein massiv parallel arbeitendes System, das 64 Engines enthält, die für die Bildverarbeitung optimiert sind. Eine APEX Core Framework (ACF) genannte Softwareschicht abstrahiert die darunterliegende Komplexität so weit wie möglich und vereinfacht somit die Arbeit des Entwicklungsingenieurs.

Bilderkennung benötigt außerdem Unterstützung für nicht linearen Programmfluss und Berechnungen von Gleitkommazahlen. Der S32V234 basiert daher auf vier Kernen des Typs ARM Cortex A53, die eine RISC-Leistung von 9200 Dhrystone-MIPS zur Verfügung stellen. Alle vier ARM-Kerne beinhalten die SIMD-Erweiterung NEON, um deren Leistungsfähigkeit für bestimmte Algorithmen weiter zu steigern. Um speziell für Surround-View-Lösungen eine ansprechende grafische Benutzerschnittstelle zu ermöglichen, enthält die Prozessorfamilie auch einen Grafikprozessor (GPU), der den Khronos-Standards OpenGL ES3.0, OpenVG 1.1 und OpenCL 1.2 entspricht.

Fahrerassistenzsysteme können Fußgänger erkennen und bei Gefahr eine automatische Bremsung einleiten.

Fahrerassistenzsysteme können Fußgänger erkennen und bei Gefahr eine automatische Bremsung einleiten.Freescale

Freescale hat eine hierarchische Speicherorganisation implementiert, damit das System auch die Speicherbandbreite liefert, die für die Versorgung der verschiedenen Beschleuniger mit Eingangsdaten erforderlich ist. Beim Design verfolgten die Entwickler das Ziel, möglichst viele Datentransfers innerhalb des SoC zu halten. Diese Bauweise dient gleichzeitig zwei Zwecken: Zum einen verringert sich hierdurch die Anzahl externer Speicherbausteinen, zum anderen sinkt der Strombedarf, um Signale von einem Chip auf einen anderen zu senden. Beide Punkte gehören zu den größten Kostenfaktoren in ADAS-Systemen. Diese Technik ermöglicht Speicherbandbreiten in der Region von 50 GBit/s, ohne die Kosten vergleichbar zu erhöhen.

Keine Kompromisse in puncto Sicherheit

Diverse Maßnahmen zur Unterstützung ISO26262-konformer Anwendungen sind in diesen applikationsspezifischen Prozessoren ebenfalls implementiert. Um die vorhandene Hardware bestmöglich zu nutzen, bestand das Entwicklungsziel darin, eine Verdoppelung von kritischen Ressourcen weitestgehend zu vermeiden ohne dabei Abstriche in Bezug auf die Sicherheit zu machen. Deshalb führten die Designer zusätzliche Erweiterungen ein, um die erforderliche Fehlerabdeckung zu gewährleisten. In vielen Fällen wird dies durch eine geschickte Kombination aus Hard- und Software erreicht. Dieses Vorgehen ermöglicht ein für ASIL-B-Applikationen geeignetes SoC, ohne dabei die 9.2K-DMIPS auf der RISC-Plattform zu beeinträchtigen.

Um den Schutz der ECU und der Software auf dem S32V234 sicherzustellen, beinhaltet die ECU ein bewährtes Security-Modul, welches die Authentizität der laufenden Software sowie den Schutz der Software-IP abdeckt. Das CSE (Cryptographic Service Engine) genannte Sicherheitsmodul geht konform mit der Spezifikation der HIS-SHE-API.

Eck-Daten

Im Rahmen einer Kooperation bieten die Unternehmen Neusoft, Freescale, CongniVue und Green Hills eine optimierte Lösung für kamerabasierte ADAS-Funktionen an, die es OEMs und Tier-1-Lieferanten ermöglicht, aus einer Vielzahl von Sensoren zu wählen sowie verschiedene ADAS-Funktionen zu kombinieren.

Die technischen Details des S32V234 verdeutlichen den erheblichen Aufwand, der für solche komplexen und leistungshungrigen Funktionen wie ADAS erforderlich ist. Um die effiziente Verwendung der Plattform zu erleichtern, liefert Green Hills Software das sicherheitszertifizierte Echtzeitbetriebssystem Integrity. Auf der Applikationsseite hat Neusoft bereits in der Vorentwicklungsphase mit der Portierung seiner praxiserprobten Algorithmen auf die Freescale-Plattform begonnen, um die Entwicklungszeit bis zur Marktreife zu verkürzen. Die zur Verfügung stehenden Algorithmen decken alle Anforderungen optischer ADAS-Applikationen ab, beispielsweise Fußgängererkennung, Spurhalteassistent, Verkehrszeichenerkennung und Totwinkelassistent.

Software für optische Daten

Bei der Entwicklung von Software gibt es drei wesentliche Herausforderungen: Zuverlässigkeit, Anpassungsfähigkeit und Machbarkeit. In Bezug auf die Zuverlässigkeit ist hervorzuheben, dass ADAS-Funktionen zunehmend sicherheitsrelevanter werden. Systemübergreifende Sicherheitsanforderungen und funktionale Sicherheit sind mittlerweile Standard im Fahrzeug. Die Entwicklungsabteilungen möchten selbstverständlich immer neuere und bessere Methoden wie beispielsweise selbstlernende Systeme oder neuronale Netzwerke in die Algorithmen einfließen lassen, um die Bearbeitung der Daten zu verbessern. Andererseits haben solche Entwicklungen einen wesentlichen Einfluss auf das Echtzeitverhalten sowie an die Hardwareanforderungen. Software muss somit neben ihrer eigentlichen Bestimmung – der Erkennung von Objekten – auch die Echtzeitanforderungen der Systeme sowie die hohen Sicherheits- und Stabilitätsanforderungen erfüllen. Um allen Ansprüchen gerecht zu werden, ist eine vorausschauende Planung erforderlich.

Individuell auf Basis von Standard-Elementen

ADAS-Funktionen haben bei allen Anbietern meist ähnliche Namen. Jeder Hersteller hat seine eigenen Spezifikationen und Anforderungen. Es bestehen sowohl Unterschiede in der Hardware als auch bei den Einbaubedingungen. So entspricht keine Umsetzung einer anderen, auch wenn die Aufgaben identisch sind. Eine Software sollte so anpassungsfähig sein, dass sie sowohl unterschiedliche Kameratypen als auch -auflösungen unterstützt. Anpassungen und Adaptionen sollten mit einem überschaubaren Aufwand durch Einstellungen und Konfiguration erfolgen. Bei der Entwicklung sind der Ressourcenbedarf, die Stabilität und die Effizienz der Algorithmen sowie deren Fehlertoleranz zu berücksichtigen. Diese Anforderungen machen die Entwicklung von ADAS-Software zu einer komplexen und herausfordernden Aufgabe.

Wie löst man die beschriebene Aufgabe? Ein möglicher Weg ist die Kombination einer modernen Hardware mit Software-Algorithmen, die eng aufeinander abgestimmt werden. Aus dieser Motivation heraus arbeiten Freescale und Neusoft bereits seit einer frühen Designphase des S32V eng zusammen.

Bei ADAS-Funktionen müssen die Systeme viele Operationen parallel ausführen. Eine gemeinsame Untersuchung hat ergeben, dass sechs von zehn Berechnungsmustern die meiste Rechenzeit im System benötigen. Aufgrund dieser Ergebnisse wurden verschiedene Berechnungseinheiten für den S32V entwickelt und integriert sowie eine mehrschichtige Software-Pipeline als Grundgerüst für die ADAS-Software geformt: ISP für die untere Ebene der Bildverarbeitung, APEX2 für die Extraktion und Klassifikation von Merkmalen auf der mittleren Ebene sowie eine CPU für die Koordination und Zusammenführung von Informationen auf der oberen Ebene. In der wichtigsten Ebene sind die Schlüsselalgorithmen des ISP und des APEX integriert.

Im Entwurf muss ein Algorithmus eindeutig seine benötigten Ressourcen, seinen Gültigkeitsbereich und sein Verhalten in Ausnahmefällen definiert haben. Das ist bereits in einem frühen Entwicklungsstand erforderlich, um den Basis-Softwareblock ganzheitlich, unabhängig und flexibel zu halten. Dieses Vorgehen bietet eine solide Grundlage – selbst für die ADAS-Lösungen, welche den hohen Anforderungen der ISO26262 entsprechen müssen. Mit der verfügbaren FPGA-Simulation war es frühzeitig möglich, Kern-Algorithmen für diese neue Hardware zu optimieren. Aufgrund der Erkenntnisse ist zu erwarten, dass die Systeme mit dem S32V eine bis zu 20-fache Beschleunigung der entscheidenden Algorithmen erreichen.

Neusoft hat jetzt die Anpassung der Schlüsselalgorithmen auf den S32V bereits beendet. Als nächstes wird das Unternehmen eine vollständige optische Lösung für Front, Heck und Surround-View-ADAS-Funktionen für den S32V liefern.