Stilisiertes Auto

Visualisierung dank PCI und Ethernet: Auto/TSN ermöglicht schnelle Datenübertragung im Fahrzeug und spart Platz im Auto. (Bild: Viks_jin – stock.adobe.com)

Auto/TSN ist der Arbeitstitel für eine Technologie, mit der automotive Daten samt PCIe via Time-Sensitive Networking (TSN) übertragen werden können.

PCI Express (PCIe) kennen viele Entwickler und Anwender aus dem PC, beispielsweise als Anschluss für die Grafikkarte oder für schnelle NVMe-Massenspeicher. Ebenso bekannt ist Ethernet, mit dem sich zu Hause oder im Büro Rechner und Drucker usw. vernetzen lässt. IEEE Ethernet in Form von 100/1000Base-T1 fährt heute bereits auf der Straße.

Aber warum wird PCIe immer mehr ein Thema im Automobil-Bordnetz? Was bedeutet PCIe im Fahrzeug und wie kann PCIe eingesetzt werden, sodass das Gesamtsystem zuverlässig ist?

Aus technologischer Sicht spricht für Ethernet und PCIe,

  • dass durch Kombination dieser beiden offenen Standards die Kosten für Fahrzeugvernetzung erheblich reduziert werden können,
  • dass OEM und Tier1 weniger abhängig von Halbleiterherstellern für System-on-Chips (SoC) werden,
  • und dass sich insgesamt die Flexibilität erhöht, weil software-basierte Funktionen einfacher erweitert werden können.

Die treibenden Kräfte dahinter sind heute offensichtlich: Die Knappheit von Halbleiterkomponenten, die sich durch deutlich längere Lieferzeiten bemerkbar macht. Hinzu kommt die Notwendigkeit, die Kosten für die Elektronik im Fahrzeug zu reduzieren. Hier ist einer der größten Kostenblöcke der Kabelbaum. Die aktuell typischerweise verbaute Bordnetzarchitektur ist nach Funktionsdomänen aufgeteilt, bei der unzählige Steuergeräte miteinander vernetzt werden. Dies hat wesentlich zur Komplexitäts- und damit auch zur Kostensteigerung beigetragen.

Zonen-basierte Bordnetzarchitekturen, bei denen Funktionsgruppen auf Basis der Lokalität im Fahrzeug in einer Einheit zusammengefasst sind, gelten aktuell als beste Alternative für zukünftige Bordnetzarchitektur.

Was die Virtualisierung per Auto/TSN zur im Fahrzeug bringt

Die Auto/TSN-Lösung von Missing Link nutzt PCIe und Time Sensitive Networkung (TSN), um automotive Daten zu übertragen. Das kann etwa Kosten reduzieren und Flexibilität und Unabhängigkeit schaffen. Die Technologie ermöglicht eine Virtualisierung des Fahrzeugs und ermöglicht Funktionen mit Zonenrechnern, die bisher nur mit vielen einzelnen physikalischen Steuergeräten umsetzbar waren. Außerdem vereinfacht sich auch der Kabelbaum. Wie die Auto-TSN-Lösung von Missing Link funktioniert, erklärt der Artikel im Detail.

Wie die Virtualisierung des Bordnetzes Kosten senkt

Zum einen erhöht sich der Integrationsgrad, denn mithilfe von Virtualisierung können Funktionen, die bisher in vielen einzelnen physikalischen Steuergeräten implementiert sind, jetzt auf wenigen Steuergeräten ablaufen. Zum anderen wird der Kabelbaum einfacher, denn diese Zonenrechner sind (fast) nur noch mit einem einzigen Kabel untereinander verbunden. Ähnlich wie bei einem Datacenter Backbone transportiert dieses eine Kabel dann die unterschiedlichen Nachrichten der einzelnen virtualisierten Funktionseinheiten. Auch dies ist quasi eine Form der Virtualisierung, in diesem Fall des Netzwerks, und wird häufig auch als Tunneln bezeichnet.

Ethernet in Form von 10GBase-T1 oder auch 25GBase-T1 kann hierfür die notwendige Netzwerk-Bandbreite zur Verfügung stellen. Mittels der neuen IEEE Standards für TSN (Time-Sensitive Networking) ‒ unter anderem IEEE 802.1AS, 802.1Qbv, 802.1CB, etc. ‒ lässt sich Echtzeitverhalten und Zeitsynchronisierung im verteilten System realisieren.

PCIe hingegen ist diejenige performante Schnittstelle, die die Austauschbarkeit eines SoC-Typs oder -Herstellers durch einen anderen SoC möglich macht. Dieser Aspekt wird auch als Commoditization of Silicon bezeichnet.

Die PCI-SIG, die seit über 15 Jahren den PCIe-Standard administriert und mit vielen Experten aus unterschiedlichen Unternehmen an Kompatibilität und Zukunftsfähigkeit arbeitet, hat der immer größer werdenden Wichtigkeit von PCIe im Automobil Rechnung getragen und Anfang 2021 die Automotive Work Group gegründet. Schwerpunkte, die sich in den regelmäßigen Treffen herauskristallisieren, sind

  • funktionale Sicherheit (z.B. nach ISO 26262 oder SOTIF ISO 21448),
  • Zuverlässigkeit und Elektromagnetische Kompatibilität vor allem auf physikalischer Transportebene, und
  • Vernetzungstopologien mit PCIe.
PCIe in hierarchischer Baum-Topologie
Bild 1: PCIe folgt einer hierarchischen Baum-Topologie, allerdings lässt sich ein PCIe Switch aufschneiden, sodass der PCIe Upstream Switch Port auf der einen Seite liegt und die PCIe Downstream Switch Ports auf der anderen Seite. (Bild: Missing Link Electronics)

PCIe-Vernetzungstopologien im Bordnetz

Vernetzungstopologien auf Basis von PCIe müssen hier zwei wichtige Aspekte erlauben:

  • Das Tunneln von PCIe über das automobile Bordnetz (PCIe Range Extension).
  • Nicht im PCIe-Standard abgebildete Topologien wie NTB (Non-Transparent Bridging, bei der CPUs mit anderen CPUs verbunden sind) sowie der Zugriff von mehreren unterschiedlichen CPUs auf ein einziges Gerät (z.B. eine NVMe SSD).

PCIe folgt einer strengen hierarchischen Baum-Topologie (Bild 1, links): Es gibt genau einen einzigen PCIe Root Complex, an den die PCIe Endpoints angeschlossen sind. Letztere können entweder direkt oder indirekt via PCIe Switches an einen PCIe Root Port angeschlossen sein. Jeder PCIe Switch hat genau einen PCIe Upstream Switch Port und einen oder mehrere PCIe Downstream Switch Ports. An den PCIe Upstream Switch Port wird entweder ein PCIe Root Port angeschlossen oder ein PCIe Downstream Switch Port eines darüberliegenden PCIe Switches. An den PCIe Downstream Switch Port wird entweder genau ein PCIe Endpoint angeschlossen oder der PCIe Upstream Switch Port eines darunterliegenden PCIe Switches. Dieser PCIe Root Complex führt beim Systemstart die Initialisierung der PCIe Hierarchie durch, die Enumeration.

Jede elektrische Verbindung transportiert über den PHY Layer und den Data Link Layer die eigentlichen PCIe-Daten in Form der PCIe Transaction Layer Packets (TLP). Die Data Link Layer implementiert einen zuverlässigen (reliable) Transport, dabei sendet es verloren gegangene Pakete erneut und entkoppelt dadurch die höheren Transportebenen von elektrischen Übertragungsstörungen.

Innerhalb eines Switches sind weitere Bedingungen für den Transport der TLPs einzuhalten; so müssen etwa Regeln über die Reihenfolge (TLP Ordering Rules) eingehalten und Deadlocks vermieden werden. Zudem dürfen TLPs nicht verloren gehen, da sonst Gefahr besteht, dass das Gesamtsystem abstürzt. Letzteres ist wichtig, denn eine der besten Möglichkeiten für PCIe Range Extension ist, solch einen PCIe Switch aufzuschneiden, sodass der PCIe Upstream Switch Port auf der einen Seite liegt und die PCIe Downstream Switch Ports auf der anderen Seite, wie Bild 1 (rechts) zeigt.

Realisierung eines verteilten PCIe Switch
Bild 2: Realisierung eines verteilten PCIe Switch. (Bild: Missing Link Electronics)

Das Bordnetz als PCIe Range Extension

Gemeinsam mit dem Fraunhofer HHI, dem Fraunhofer IPMS und der Universität Ulm entwickelte Missing Link Electronics (MLE) eine Lösung, mit der sich PCIe zuverlässig und kosteneffizient via Bordnetz tunneln lässt. Kernpunkt ist, die PCIe TLPs in einer digitalen Schaltung via Transmission Control Protocol (TCP) via Internet Protocol (IPv4) via Time-Sensitive Networking (TSN) über das Bordnetz zu transportieren. Bild 2 zeigt die Realisierung eines verteilten PCIe Switch. Außerdem veranschaulicht es, wie die PCIe-Verbindung im PCIe Upstream Switch Port terminiert wird, wodurch das System nur TLPs weiterleitet. Die Lösung enkapsuliert (TLP2TCP) bzw. dekapsuliert (TCP2TLP) und überträgt diese mit Hilfe der Network Protocol Accelerator Platform (NPAP) via TSN und Ethernet zwischen dem PCIe Upstream Switch Port und einem PCIe Downstream Switch Port. Entsprechend den Anforderungen der jeweiligen Kommunikation dahinter lassen sich mehrere TLPs vor dem Versenden aggregieren, was den Protokolloverhead reduziert, oder sofort versenden, was die Latenz klein hält.

Untersuchungen über die letzten Jahre haben die vielen Vorteile dieses Ansatzes nachgewiesen:

  • PCIe Standards, egal ob aktuelle, ältere und zukünftige, werden eingehalten, was Interoperabilität garantiert.
  • TCP garantiert immer eine zuverlässige Verbindung, auch wenn kurzzeitige Störungen auftreten sollten, die sich nicht allein auf physikalischer Ebene mitigieren lassen.
  • IPv4 bietet ein klares und gut verständliches Schema in einem ausreichend großen Adressraum, falls nötig, auch über eine ganze Fahrzeugflotte hinweg.
  • TSN ermöglicht Zeitsynchronisation der Teilnehmer und damit Echtzeitverhalten sowie eine Priorisierung einzelner Datenströme, wenn etwa gewisse Sensoren Vorrang haben sollen.
  • Ethernet lässt sich über viele unterschiedliche physikalische Transportmedien übertragen wie etwa Copper, Fiber, T1, T1S, A-PHY oder ähnliche.
  • Die Implementierung als digitale Schaltung macht das Zeitverhalten deterministisch im Nanosekundenbereich und hält die Transportverzögerungen (Latenzen) klein ‒ typischerweise weniger als 3 Mikrosekunden.
  • Diese digitale Schaltung braucht nur wenig Ressourcen, was die Skalierbarkeit erhöht, und kann mit geringen Platzbedarf in zukünftige System-on-Chips integriert werden.

Über dieses Konzept lässt sich nicht nur PCIe tunneln, sondern quasi zeitgleich auch andere Protokolle wie etwa MIPI CSI-2 oder CAN. Ferner ist dieses Tunneln von PCIe TLP über TCP/IP über TSN über Ethernet unabhängig von der eigentlichen PCIe-Topologie.

Emuliertes Zonen-Gateway
Bild 3: Emuliertes Zonen-Gateway samt PCIe-Anbindung an eine CPU und TSN-Ethernet via 10GBase-T und Fiber. (Bild: Missing Link Electronics)

CPU-zu-CPU via PCIe Non-Transparent Bridges

Wollen Entwickler mehrere CPUs via PCIe vernetzen, dann geht das nicht über einen PCIe-Switch gemäß PCIe-Standard. In diesem Fall können sie auf eine PCIe Non-Transparent Bridge (NTB) zurückgreifen. Die NTB terminiert aus Sicht jedes einzelnen PCIe Root Complexes die PCIe-Hierarchie mit einem NTB-Endpoint. Dieser NTB-Endpoint übersetzt dann den Adressbereich der einen CPU in den Adressbereich der anderen CPU.

Die Implementierung eines NTB von Missing Link setzt dafür neuere Protokollansätze ein, so wie sie etwa auch im NVMe-Protokoll zum Einsatz kommen: Schreibzugriffe sind bei PCIe effizienter als Lesezugriffe, also verwendet die Lösung ein Write-Only-Protocol mit einem Door-Bell-Mechanismus und Remote DMA (RDMA). Wenn ein Teilnehmer A von einem anderen Teilnehmer B Daten lesen will, dann schreibt A diese Anforderung in das Register von B, sodass anschließend B die Daten in den Hauptspeicher von A schreibt.

Ein NTB ist damit aus Sicht jeder CPU ein eigenständiges PCIe-Device samt dazugehörigem PCIe-Treiber. Dieser NTB-Treiber lässt sich obendrein so implementieren, dass er als POSIX-Netzwerkgerät agiert. Neben der Kommunikation via RDMA ist also auch ein abstraktes API möglich wie etwa via SOME/IP für eine Datenübertragung mit hohen Bandbreiten.

Da ein NTB auf Basis von PCIe-TLPs arbeitet, lässt sich auch hierfür der oben beschriebene Ansatz für PCIe-Range-Extension anwenden.

Latenzanalyse mit einem PCIe-Protokoll-Analyzer
Bild 4: Latenzanalyse mit einem PCIe-Protokoll-Analyzer: Vergleich von Round-Trip-Time (RTT) zwischen PCIe Config TLPs, wenn die SSD direkt an die CPU angeschlossen ist, und der RTT von Auto/TSN. (Bild: Missing Link Electronics)

Hohe Zeitsynchronität und geringe Latenzen

Im Rahmen verschiedener Untersuchungen analysierte Missing Link auch das Zeitverhalten. Dazu implementierten die Entwickler Auto/TSN prototypisch auf einem FPGA-basierten Emulator, so wie er typischerweise auch in der ASIC/SoC-Entwicklung zum Einsatz kommt. Bild 3 zeigt ein emuliertes Zonen-Gateway samt PCIe-Anbindung an eine CPU und TSN-Ethernet (hier via 10GBase-T und Fiber).

Ebenso zeigt Bild 3 (rechts) zwei Beispiele für Topologien, einmal zur Analyse des Latenzverhaltens beim Anschluss einer NVMe SSD via Auto/TSN, zum anderen bei der Vernetzung zweier CPUs via Auto/TSN. Für die Latenzanalyse verwendeten die Entwickler einen üblichen PCIe-Protokoll-Analyzer und verglichen die Round-Trip-Time (RTT) von PCIe Config TLPs, wenn die SSD direkt an die CPU angeschlossen ist, mit der RTT von Auto/TSN (Bild 4).

Aus den Messungen (Bild 5) ergab sich, dass die typische Latenz, welche durch Auto/TSN hinzukommt (hier T_tunnel), bei 1 Gb Ethernet rund 3,4 µs beträgt und bei 10 Gigabit Ethernet unter 3 µs liegen kann. In Perspektive zu den bei PCIe typischen 30 bis 100 µs für einen DMA-Speicherzugriff ist eine Verzögerung durch Auto/TSN also hinreichend schnell.

Messergebnisse von Auto/TSN und PCIe
Bild 5: Messergebnisse der Latenz von Auto/TSN und PCIe. (Bild: Missing Link Electronics)

Offene Standards vereinfachen Zusammenarbeit

Missing Link erwartet, dass weitere Protokolle via Auto/TSN getunnelt werden möchten, folgt bereits eine erste prototypische Implementierung einer klaren modularen Aufteilung, basierend auf mehreren etablierten Standards: IEEE definiert Ethernet und TSN, PCI-SIG spezifiert PCIe und die IETF hat TCP/IP definiert. Die Kombination offener Standards vereinfacht die Zusammenarbeit und verkürzt die Entwicklung sowie baldige Implementierungen.

Autor

Dr. Endric Schubert, Missing Link Electronics

Dr. Endric Schubert

Geschäftsführer der Missing Link Electronics GmbH

Sie möchten gerne weiterlesen?