Wiedergabe als LIN-Slave

<< Click to Display Table of Contents >>

Navigation:  Arbeiten mit CanEasy > Aufzeichnung und Wiedergabe > Wiedergabe > Wiedergabe-Einstellungen > LIN-Busse >

Wiedergabe als LIN-Slave

 

Die Wiedergabe als LIN-Slave bietet die Möglichkeit eine Wiedergabe auf dem LIN-Bus durchzuführen, bei der ein reales Steuergerät die Funktion des LIN-Masters übernimmt.
Bei diesem Wiedergabemodus müssen folgende Parameter/Einflüsse berücksichtigt werden, die evtl. zu Problemen führen können:

 

Der LIN-Slave kann nicht selbständig auf den LIN-Bus schreiben. Er ist darauf angewiesen, dass der LIN-Master sie abfragt.
 

Die Wiedergabe kann nur der Aufzeichnung folgen, wenn der LIN-Master sich genauso verhält, wie bei der Anfertigung der Aufzeichnung.
 

Der PC kann nicht zeitgerecht auf eine Anfrage des LIN-Masters antworten, deshalb ist ein spezieller Umgang mit der LIN-Hardware nötig.

 

Funktionsweise

Die nachfolgende Erläuterung bezieht sich auf die Wiedergabe als LIN-Slave, mit aktiviertem „Aufsynchronisieren“ und angegebener Vorlauf- und Nachlaufzeit. Auf der nachfolgenden Grafik ist beispielhaft der Verlauf der Daten einer Botschaft bei der Aufzeichnung und einer anschließenden Wiedergabe gezeigt.

Wiedergabe-LIN-Slave-Ablauf

 

Zunächst wird eine Aufzeichnung angefertigt - dies stellt die grüne Linie dar. Der Wert der Botschaft ist zunächst unbestimmt bzw. steht auf dem Initialwert der Datenbasis. Nach 100ms wird die Botschaft zum ersten Mal aufgezeichnet und erhält den neuen Wert A. Die nächste Wertänderung erfolgt nach 230ms, die Botschaft erhält nun den Wert B. Weitere Wertänderungen erfolgen bei 340ms und 420ms.

 

Vereinfacht enthält die Aufzeichnung also folgende Daten:

 

Zeitstempel Ts

Wert

100ms

Wert A

230ms

Wert B

340ms

Wert A

420ms

Wert B

 

Bei der Wiedergabe wird davon ausgegangen, dass der LIN-Master genau zu den aufgezeichneten Zeitpunkten diese Daten wieder abfragen wird. Ihm sollen dann auch die aufgezeichneten Daten zur Verfügung stehen.

 

 

Besonderheiten der LIN-Hardware

Der LIN-Bus basiert auf dem Master-Slave-Prinzip. Es gibt immer einen Master, der das Senden von Daten durch die Slaves initiiert. Dazu schreibt der Master einen Botschaftskopf auf den Bus. Innerhalb einer kurzen Zeitspanne hat nun einer der Slaves die Möglichkeit, auf die Anfrage zu antworten. Macht er dies nicht rechtzeitig genug, wird dies entweder direkt als Fehler registriert oder die vom Bus gelesenen Daten werden fehlerhaft empfangen.

Der Computer ist normalerweise nicht in der Lage, schnell genug auf so eine Anfrage zu reagieren. Dies liegt nicht allein an der Architektur, sondern auch an den eingesetzten Betriebssystemen. Deshalb werden alle Daten die versendet werden sollen, zuvor auf der LIN-Hardware gespeichert. Sobald der LIN-Master sie abfragt, werden sie ohne Eingreifen des PCs versendet.
 

Das bedeutet:
 

Es kann nicht unmittelbar auf Busereignisse reagiert werden
 

Alle zu sendenden Daten müssen vor dem Senden auf der Hardware gespeichert werden
 

Bei der Wiedergabe muss das Verhalten des LIN-Master vorhersehbar sein

 

 

Ablauf der Wiedergabe

Es genügt für die Wiedergabe also nicht, die Daten der Aufzeichnung zum selben Zeitpunkt in die Hardware zu schreiben, in dem der LIN-Master sie abfragen wird. Das Schreiben der Daten muss einige Zeit zuvor erfolgen. Zu diesem Zweck wird das ΔTs (delta T) benutzt. Von jedem Sendezeitpunkt wird diese Zeitspanne abgezogen, um den Zeitpunkt zu ermitteln, an dem die Daten geschrieben werden. In der Grafik (siehe oben) ist diese Zeitspanne gelb markiert. Der LIN-Master muss also nicht exakt zur selben Zeit, wie bei der Aufzeichnung, die Daten abfragen. Er kann dies auch schon ΔTs früher tun.

Die Daten stehen dem LIN-Master solange zur Verfügung, bis der nächste Wert gesetzt wird. Durch Messen des Abrufzeitpunktes kann eine Abweichung zur Aufzeichnung ermittelt werden. Diese fließt in die Zeitpunkte der nachfolgenden Daten ein. Im Idealfall kann sich die Wiedergabe so korrekt auf den Master einstellen und sogar kleinere sporadische Verschiebungen ausgleichen.

Als Abweichungen werden nur Sendeereignisse registriert, die innerhalb eines ΔTs-Zeitraumes erfolgen. Das betrifft einmal den Zeitraum vor dem eigentlichen Sendezeitpunkt (gelber Bereich), sowie den Zeitraum nach dem eigentlichen Sendezeitraum (orangener Bereich).

 

 

Start der Wiedergabe

 

Wiedergabe-LIN-Sync

 

Der Start der Wiedergabe erfolgt mit dem Simulationsstart. Die Wiedergabe bleibt nun aber zunächst in einem ruhenden Zustand (Grafik: Zeitpunkt Z1). Um die Wiedergabe zu wecken und endgültig zu starten, wird auf ein Ereignis durch den LIN-Master gewartet. Als Ereignis dient das Abrufen oder Senden einer bestimmten Botschafts-ID durch den LIN-Master (Grafik: Zeitpunkt Z2).

Danach werden die Daten zu den Aufzeichnungszeitpunkten gesetzt, abzüglich des ΔTs. Verdeutlicht wird dies in der Grafik durch die rot Linie. Gesetzt werden die Daten z.B. zu den Zeitpunkten Z3 und Z6.

 

Die blaue Linie der Grafik zeigt den Werteverlauf, den der Master erhält. Zum ersten Mal erhält er einen Wert zum Zeitpunkt Z2. Dieses Ereignis dient gleichzeitig dem Auslösen der Wiedergabe. Ein weiteres Mal fragt der LIN-Master die Daten zum Zeitpunkt Z4 ab. Es ist zu erkennen, dass der Master die Daten dieses Mal früher abgerufen hat, als in der Aufzeichnung. Diese zeitliche Verschiebung wird erfasst und fließt die Berechnung der nachfolgenden Zeiten ein. Die Sendezeiten werden dann entweder vorgezogen (bei verfrühtem Abrufen) oder herausgezögert (bei verspätetem Abrufen durch den LIN-Master). So kann sich die Wiedergabe bis auf eine Millisekunde an das Timing des Masters annähern.

 

Ein weiteres Abrufen der Daten erfolgt zum Zeitpunkt Z7. Dieser Zeitpunkt befindet sich in einem kritischen Bereich. Der Master hat sich mit dem Abrufen der Daten so stark verspätet, dass er in einen zeitlichen Überschneidungsbereich gelangt ist.

Diese Bereiche entstehen durch das vorausgehende ΔTs und das nachfolgende ΔTs zweier Sendezeitpunkte (Grafik: violett). Überschneiden sich diese beiden Bereiche, verkürzt sich das vorausgehende ΔTs des nachfolgenden Sendezeitpunkts. Ruft der Master die Daten in einem Überschneidungsbereich ab, werden direkt im Anschluss die Daten des nächsten Sendezeitpunkts geschrieben (siehe Grafik unter Funktionsweise, Zeitpunkt Z7).

 

 

Auswirkungen des LIN-Master Verhaltens auf die Wiedergabe
 

Ruft der LIN-Master die Daten sehr viel häufiger ab, als er das während der Aufzeichnung getan hat, so fließen diejenigen Abtastzeitpunkte, die in einer Vorlauf- oder Nachlaufzeit liegen, in die Berechnung der Verschiebung ein.
 

Tastet der LIN-Master mehrmals in einer Vorlaufzeit ab, so fließt nur der letzte Abtastzeitpunkt in die Berechnung ein.
 

Tastet der LIN-Master mehrmals in einer Nachlaufzeit ab, so fließt nur der erste Abtastzeitpunkt in die Berechnung ein.
 

Nach dem Abfragen der Daten in einem Überschneidungszeitraum, werden direkt die Daten des nächsten Zeitpunktes gesetzt.
 

Werden die Daten bereits vor dem Überschneidungszeitraum abgerufen, werden direkt mit Beginn des Überschneidungszeitraums die Daten des nächsten Zeitpunkts gesetzt.
 

Auch wenn der LIN-Master eine Botschaft nicht abruft, geht die Wiedergabe weiter und die nächsten Daten werden gesetzt. Eine Verschiebung wird in diesem Fall nicht registriert.