| Hierbei handelt es sich um einen Leitungscode. Dabei werden 8-bit-Daten mit 10 Bits codiert. Damit wird verhindert, dass sich lange Folgen von Nullen oder Einsen bilden (Gleichspannungsausgleich). Für die Synchronisation ist leicht eine Taktrückgewinnung aus dem Datensignal möglich. Die Steigerung der Taktrate rechtfertigt die zusätzlich investierten Bits. Zudem können zahlreiche Übertragungsfehler auf Hardware-Ebene erkannt und korrigiert werden. |
| TA2I |
| Bei „Time Slot Access with Acknowledge Insertion“ handelt es sich um ein neues Medienzugangsverfahren, das eine Kombination aus einer Variante des „Time Division Multiple Access“-Verfahrens (TDMA) und Register Insertion (RI) darstellt. Bei dieser TDMA-Variante werden die Zeitschlitze nicht wie üblich über einen globalen Takt generiert, sondern durch leere, kreisende Transportrahmen (so genannte Transport Frames) implementiert. Jeder Knoten besitzt seinen eigenen Transport Frame. Register Insertion (RI) wird zur Übertragung kurzer Bestätigungen (so genannter Echos) verwendet, um die effektive Nutzung der Ringbandbreite zu erhöhen. Dazu kann ein Knoten den Ring temporär erweitern, indem er die Länge einer seiner Ringpuffer variiert. Echos werden mit RI vom Sender in den Ring eingefügt und nach einer Ringumrundung wieder entfernt. |
| ETA2I |
| Diese Erweiterung von TA2I wird mit „Extended Time Slot Access with Acknowledge Insertion“ bezeichnet. Hierbei ist unter bestimmten Voraussetzungen (siehe Abschnitt „Effiziente Nutzung der Zeitschlitze“) die Wiederverwendung nicht genutzter Zeitschlitze (Transportrahmen) möglich. |
| OTA2I |
| Diese Erweiterung von TA2I wird mit „Open Time Slot Access with Acknowledge Insertion“ bezeichnet. Hierbei kann ein Knoten seinen eigenen Transportrahmen zur Nutzung durch andere Knoten freigeben, falls er selbst keine Daten senden möchte. |
Interne Struktur der Knoten
Ein Knoten im CarRing-II-Netzwerk verfügt über Schnittstellen zum Ring und zu den Attachments (Bild 4). Die Schnittstellen zum Ring (Link Input, Link Output) erlauben eine Verbindung mit den beiden benachbarten Knoten. Jeder Knoten verfügt über getrennte Sende- und Empfangspuffer, um mögliche Blockierungen (Deadlocks) zu vermeiden. Zusätzlich hat jeder Puffer zwei getrennte Speicherklassen: Request und Response. Der Sendepuffer (Send FIFO) hält die zu sendenden Daten von den Attachments. Der „Retry FIFO“ ist ein spezieller Sendepuffer, in dem bereits gesendete Daten für den Fall einer Datenpaket-Wiederholung gespeichert werden. Im Empfangspuffer (Receive FIFO) werden empfangene Daten bis zur Weitergabe an die Attachments gespeichert. Ein zusätzlicher Empfangspuffer (Overflow Receive FIFO) kann von Daten mit hoher Priorität genutzt werden, falls der reguläre Empfangspuffer bereits voll ist. Mit diesem Verfahren lassen sich kurzzeitig erhöhte Datenaufkommen bewältigen, ohne dass Datenpakete verworfen werden müssen.
Die Puffer sind so organisiert, dass sie die Reihenfolge der Datenpakete bewahren. Dies ist von erheblicher Bedeutung, da z.B. „X by Wire“-Anwendungen eine strikt sequentielle Verarbeitung der Daten erfordern. Über den Eingangs-FIFO und eine daran angeschlossene Auswertelogik wird während des Empfangs eines Datenrahmens synchron zum Takt dessen „Header“ gelesen und ausgewertet. Die Auswertelogik ermittelt daraus unter anderem den Datentyp und die Zieladresse der Daten und entscheidet danach über den weiteren Weg zum Zielknoten bzw. die weitere Verarbeitung. Der Eingangsselektor ist für den eigentlichen Empfang der Daten verantwortlich. Die Aufgabe des Ausgangsselektors besteht darin, Daten zum Ausgang zu leiten und Bestätigungen in den Datenstrom einzufügen.
Die Funktionstüchtigkeit des Haupt-Knotens wird anhand von Plausibilitätsprüfungen im „Node Checker“ geprüft. Falls der Haupt-Knoten nicht korrekt arbeitet oder ganz ausfällt, realisiert die „Bypass Unit“ einen redundanten Backup. Bei einem Totalausfall werden eintreffende Daten automatisch über den „Bypass FIFO“ weitergeleitet. Sollte der Haupt-Knoten nicht korrekt funktionieren, wird der Betrieb auf einen Backup-Knoten (Shadow Node) umgestellt. Der Knoten besitzt außerdem diverse Register zur Initialisierung und Fehlerdiagnose. Einige Timer dienen zur Erkennung von Zeitüberschreitung bei Datenrahmen. Durch einen „Retry Counter“ wird die Zahl der Datenpaket-Wiederholungen begrenzt. Ohne eine solche Beschränkung wäre die Echtzeit-Fähigkeit nicht gegeben.
Effiziente Nutzung der Zeitschlitze
CarRing II verwendet, wie schon beschrieben, eine Variante von TDMA, bei der die Zeitschlitze als leere Übertragungsrahmen implementiert sind. Diese leeren Übertragungsrahmen werden als „Transport Frames“ bezeichnet. In Kombination mit dem Einfügen kurzer Bestätigungen (Echos) mittels „Register Insertion“ (RI) wird das Medienzugangsverfahren als TA2I (Time Slot Access with Acknowledge Insertion) bezeichnet. Mit den synchron eintreffenden Transport Frames ist eine maximale Datenpaket-Zustellzeit garantiert, damit erfüllt das Protokoll die Forderung nach Einhaltung der Echtzeit-Bedingung. Jeder Knoten in einem Ring hat seinen eigenen Transport Frame, in dem er einmal pro TDMA-Zyklus Daten senden kann. Der Knoten erkennt seinen Transport Frame anhand einer Identifikationsnummer (ID). Beim Senden von Daten konvertiert der Knoten seinen Transport Frame in einen Datenrahmen. Nachdem der Empfänger den Inhalt des Datenrahmens gelesen hat, konvertiert er ihn in einen Transport Frame zurück.
Der Mechanismus der „Register Insertion“ (RI) wird für die Übertragung kurzer „Echos“ verwendet. Dadurch lässt sich die Bandbreite des Rings besser nutzen. Diese Echos enthalten nur die Information, ob die Daten korrekt beim Empfänger angekommen sind oder verworfen wurden. Diese Information lässt sich mit einem einzigen Bit codieren. Die Verwendung eines maximal 74 byte langen Transport Frames zur Übertragung einer derart kurzen Information würde die effektive Nutzung der Bandbreite drastisch senken. Deshalb kann ein Knoten den Ring temporär erweitern und dabei ein Echo einfügen. Dazu verfügt jeder Knoten über einen Ringpuffer variabler Länge. Beim Erweitern des Rings wird der Datenstrom innerhalb des Puffers so lange verzögert, bis ein Echo eingefügt wurde. Die Größe des Ringpuffers ist abhängig von der Anzahl der Knoten im Ring. Ein Knoten muss genau so viele Echos einfügen können, wie es Knoten im Ring gibt, also maximal 16. Echos werden mit RI vom Sender in den Ring eingefügt und nach einer Ringumrundung vom Sender wieder entfernt.
Einen gravierenden Nachteil hat das hier vorgestellte Medienzugriffsverfahren dennoch: Wenn ein Knoten keine Daten senden will, bleibt sein Transport Frame ungenutzt. Es ist auch keinem anderen Knoten gestattet, diesen leeren Transport Frame für den Datentransport zu nutzen. Mit anderen Worten: Bandbreite geht verloren und kann somit nicht effizient genutzt werden. FlexRay versucht dieses Problem durch Einführung eines dynamischen Segments zu lösen, indem der Zugang zum Medium in Abhängigkeit der tatsächlichen Bedürfnisse eines Knotens gewährt wird. CarRing II umgeht diese Schwierigkeit durch Erweiterungen von TA2I. Die Erweiterungen – ETA2I und OTA2I und ihre Kombination EOTA2I – sind abwärtskompatibel zu TA2I und können parallel dazu eingesetzt werden.