Steuergeräte Mit Leistung und Harmonie im Takt

Um die stetig steigende Rechenleistung zu nutzen, können heutige Inter-Chip-Schnittstellen die Anforderungen zur Anbindung peripherer Bauelemente an Mikrocontroller bald nicht mehr erfüllen. Hier hakt es beispielsweise an der verfügbaren Bandbreite; zudem erschwert die hohe Pin-Anzahl den Einsatz in kostensensitiven Systemen. Mit dem leistungsfähigen Inter-Chip-Schnittstellenstandard Serial WireRing wird diese Kommunikationsbarriere überwunden.

Zur Datenübertragung zwischen Logikbausteinen kommt derzeit häufig die SPI-Schnittstelle zum Einsatz. Der Standard beschreibt eine bidirektionale, synchrone und serielle Datenübertragung zwischen einem Master und mehreren Slaves. Schon heute genügt die SPI-Schnittstelle nicht den hohen Echtzeitanforderungen sicherheitskritischer Applikationen und es erfolgt in der Regel nur ein Austausch von Diagnose- und Statusinformationen. Zeitkritische Ansteuersignale werden unter der Nutzung von Timer-Einheiten oder separaten Schnittstellen mit hohem Aufwand an die Aktoren übertragen.

Die wesentlichen Unterscheidungskriterien von Schnittstellen sind Pin-Anzahl, Flächenbedarf, Datenrate, Latenz, Topologie und Signalisierung. Die Anzahl der Pins spielt neben der benötigten Siliziumfläche eine wichtige Rolle in Hinblick auf die Kosten. In der Vergangenheit reduzierten sich die Kosten des Mikrocontrollers aufgrund der Flächenersparnis durch Shrinks in der Halbleitertechnologie. In zukünftigen Generationen verkleinert sich die digitale Logik weiter, nicht jedoch die I/O-Zellen, weil diese beispielsweise ESD-Anforderungen erfüllen müssen. Daher wird die Anzahl der I/O-Zellen begrenzt sein und in Kombination mit dem Gehäuse die Gesamtkosten eines Mikrocontrollers bestimmen. Aufgrund dieses Trends werden serielle Inter-Chip-Schnittstellen mit wenigen Pins bei erhöhtem Datenaufkommen erforderlich.

An die Kette gelegt

Mögliche Ausgestaltungen einer Inter-Chip-Kommunikation zur Datenübertragung zwischen Mikrocontroller und Peripheriebausteinen auf einer Leiterplatte werden entsprechend der Bus-, Ring- oder Sterntopologie aufgebaut. Während die Bustopologie eine minimale Anzahl an Pins benötigt, jedoch Reflexionen durch Stichleitungen auf der Übertragungsstrecke bei hohen Datenraten aufweist, verfügt die Sterntopologie über einen idealen Übertragungskanal durch Punkt-zu-Punkt-Verbindungen zwischen den Teilnehmern. Dadurch ist allerdings eine enorme Anzahl an Pins erforderlich. Die Ringtopologie vereint die Vorteile weniger Pins in Kombination mit Punkt-zu-Punkt-Verbindungen. Nachteil dieser Topologie ist in der Regel die erhöhte Latenzzeit, weil die Nachricht mehrere Teilnehmer durchläuft, bis eine Auswertung am Zielknoten erfolgen kann. Das Optimum liegt daher bei einer Ring-topologie minimierter Latenzzeit mit gegenüber Bus- oder Sterntopologie minimierter Latenzzeit.

Die Signallaufzeiten für Daten und Takt müssen bei einer synchronen Übertragung identisch sein, wodurch sich das Layout einer Leiterplatte durch Restriktion erschwert. Um Signal-Pins einzusparen und das Layout einfacher zu gestalten, bietet es sich an, das Taktsignal im Datensignal kodiert zu übertragen. Der Empfänger gewinnt den Takt aus dem leitungskodierten Datensignal zurück. Zusammenfassend ermöglichen leitungskodierte Datenübertragungen auf Punkt-zu-Punkt-Verbindungen in einer Ringtopologie mit minimierter Latenzzeit eine kostengünstige Implementierung in integrierten Schaltungen sowie ein einfaches und platzsparendes Layout.

Im Fokus: die Ringleitung

Serial WireRing ist ein unter obigen Kriterien optimiertes Konzept zur seriellen Datenübertragung zwischen dem Mikrocontroller und peripheren ASICs. Die Anordnung der Teilnehmer erfolgt in Form einer Ringtopologie, wie sie Bild 1 zeigt. Dadurch erfolgt die Datenübertragung ausschließlich über Punkt-zu-Punkt-Verbindungen und nur in einer Richtung. Der Mikrocontroller agiert als Master, die angeschlossenen ASICs beinhalten die Funktionen eines Slaves. Zur Minimierung der Latenzzeit verzögert jeder Teilnehmer der Ringtopologie das Datensignal um 1 Bit. Die Latenzzeit, bis eine Botschaft durch den Ring übertragen wurde, ist so vernachlässigbar niedrig, wodurch die Echtzeitfähigkeit des Systems sichergestellt werden kann.

Serial WireRing sieht eine kodierte Übertragung des Takts innerhalb des Datensignals vor. Der Systemtakt wird durch den Master vorgegeben und alle Slaves synchronisieren sich mit eigenen, lokalen Taktrückgewinnungsmodulen darauf. Die Implementierung der Phase-Locked Loop (PLL) kann in Form eines analogen Moduls, eines rein digitalen Moduls oder in einer Mischform erfolgen.

Für niedrige und mittlere Datenraten bis etwa 20 Mbit/s ist eine massebezogene Signalisierung mit 2 Pins pro Teilnehmer - je eine Leitung zum Vorgänger und Nachfolger im Ring - ausreichend. Hohe Datenraten bis zu einigen 100 Mbit/s nutzen eine differenzielle Signalisierung mit 4 Pins pro Teilnehmer, also je zwei Leitungen zum Vorgänger und Nachfolger im Ring.

Die Leitungskodierung dient der Rückgewinnung der Taktinformation aus dem Datensignal. Im Unterschied zu fehlerkorrigierenden und fehlererkennenden Codes, die mitunter einen hohen Overhead erzeugen, wird die Kodierung nur zur Rückgewinnung der Taktinformation und Rahmenbildung genutzt. Aufgrund der minimalen Verzögerung von einem Bit pro Teilnehmer ist eine gängige Blockkodierung, beispielsweise 8B10B, für Serial WireRing nicht geeignet. Stattdessen wird ein systematischer 4b5b-Code verwendet. Dieser Code gestattet darüber hinaus eine Polaritätserkennung. So lassen sich bei einer differentiellen Übertragung die beiden Leitungen zwischen zwei Teilnehmern entsprechend einer optimalen Ausgestaltung des Layouts auf der Leiterplatte mit beliebiger Polarität an die ICs anschließen.

Einmal initialisiert - immer verfügbar

Während der Initialisierung vor Beginn einer Datenübertragung sendet der Master ein Synchronisationssignal an den ersten Slave im Ring. Sobald der Systemtakt des ersten Slaves in Phase mit dem Master ist, beginnt die Weiterleitung des Synchronisationssignals an den nächsten Slave. Dieses Vorgehen setzt sich durch den gesamten Ring fort, bis zurück zum Master. Dann sind alle Teilnehmer in Phase und die Daten können synchron im Ring übertragen werden.

Um Frequenzschwankungen der Taktrückgewinnungsmodule in den Slaves durch ständiges Neu-Synchronisieren zu vermeiden, sieht Serial WireRing eine kontinuierliche Signalübertragung vor. Durch die kontinuierliche Synchronisation benötigen die Slaves auch keinen Anschluss für den Systemtakt, der heutigen Systemen neben der Kommunikationsschnittstelle zusätzlich zugeführt werden muss. Infolgedessen lassen sich weitere Leitungen und Pins einsparen. Das komplette System ist synchron, womit unterschiedliche Taktdomänen in zukünftigen Systemen nicht mehr existent sein werden.