Datenübertragung: Vorbereitung der zyklischen Daten, Maximierung von Kontrolle und Überwachung
Die folgenden Verfahren für unterschiedliche Framelängen zeigen, dass bei der Übertragung in Blöcken mit Längenspezifikationen keine Änderungen in der MTU vorgenommen werden müssen. Die Prozessschritte und die Position der Kontrollbytes sind identisch, nur die Anzahl der für den Abschluss der Datenübertragung benötigten Zyklen variiert.
Framelänge < Größe der Output MTU
Schritt |
Aktion |
---|---|
1 |
Kopieren der seriellen Daten von TxByte2 in TxByteX. |
2 |
Erstellen des Kontrollbytes in TxByte1. Angabe der Länge der Daten in der MTU und Setzen der Frame-Enderkennung = 0. |
3 |
Erhöhen der Sende-Sequenznummer in der OutputSequence. Das Modul kopiert die Daten während des nächsten Zyklus in den Sendepuffer. |
4 |
Warten, bis die Sende-Sequenznummer zur Bestätigung der Datenübertragung in die InputSequence quittiert wurde. |
5 |
Erstellen eines Kontrollbytes in TxByte1. Angabe der Datenlänge = 0 und Setzen der Frame-Enderkennung = 1. |
6 |
Erhöhen der Sende-Sequenznummer in der OutputSequence. Das Frameende wird vom Modul erkannt und der Frame zum Senden freigeben. |
7 |
Warten, bis die Quittierung der Sende-Sequenznummer als Rückmeldung in der Input-Sequence erscheint, zur Bestätigung, dass der Frame empfangen wurde. Dann kann ein neuer Frame gestartet werden. |
Framelänge ≥ Größe der Output MTU
Schritt |
Aktion |
---|---|
1 |
Kopieren des ersten Blocks der seriellen Daten in TxByte2 bis TxByteX. |
2 |
Erstellen des Kontrollbytes in TxByte1. Angabe der Länge der Daten in der MTU und Setzen der Frame-Enderkennung = 0. |
3 |
Erhöhen der Sende-Sequenznummer in der OutputSequence. Das Modul kopiert die Daten während des nächsten Zyklus in den Sendepuffer. |
4 |
Warten, bis die Quittierung der Sende-Sequenznummer erscheint, zur Bestätigung der Datenübertragung in die InputSequence. |
5 |
Wiederholen der Schritte 1 bis 4, bis alle seriellen Daten blockweise übertragen wurden. |
6 |
Erstellen eines Kontrollbytes in TxByte1. Angabe der Datenlänge = 0 und Setzen der Frame-Enderkennung = 1. |
7 |
Erhöhen Sie die Sende-Sequenznummer in der OutputSequence. Das Frameende wird vom Modul erkannt und der Frame zum Senden freigeben. |
8 |
Warten, bis die Quittierung der Sende-Sequenznummer als Rückmeldung in der InputSequence erscheint, zur Bestätigung, dass der Frame gesendet wurde. Dann kann ein neuer Frame gestartet werden. |
Flussdiagramm der Datenübertragung: Vorbereitung der zyklischen Daten, maximale Kontrolle und Überwachung der einzelnen Schritte
Datenübertragung: Nutzung des Block Forward-Mechanismus
Schritt |
Aktion |
---|---|
1 |
Kopieren des ersten Blocks der seriellen Daten in TxByte2 bis TxByteX. |
2 |
Erstellen des Kontrollbytes in TxByte1. Angabe der Länge der Daten in der MTU und Setzen der Frame-Enderkennung = 0. |
3 |
Erhöhen der Sende-Sequenznummer in der OutputSequence. Das Modul kopiert die Daten während des nächsten Zyklus in den Sendepuffer. |
4 |
Wiederholen der Schritte 1 bis 3, bis alle seriellen Daten blockweise übertragen wurden. |
5 |
Erstellen des Kontrollbytes in TxByte1. Angabe der Datenlänge = 0 und Setzen der Frame-Enderkennung = 1. |
6 |
Erhöhen der Sende-Sequenznummer in der OutputSequence. Das Frameende wird vom Modul erkannt und der Frame zum Senden freigeben. |
Die zyklischen Quittierungen der übergebenen Sende-Sequenznummern der vorhergehenden Blöcke in der InputSequence bestätigen, dass diese Blöcke empfangen wurden. Bleibt eine Sende-Sequenznummer ohne Quittierung, muss der Vorgang ab dieser ersten nicht quittierten Sequenznummer wiederholt werden.
Zur Überwachung des Durchsatzes im Hardwaresystem muss die Anzahl der Zyklen zwischen der Erhöhung der Sende-Sequenznummer und dem Empfang der Quittierung erfasst werden. Die Anzahl der Zyklen kann erheblich unterschiedlich ausfallen, je nach Beziehung zwischen Taskklassen, Netzwerkzykluszeiten und Topologie des verfügbaren Netzwerks.
Flussdiagramm der Datenübertragung: Nutzung des Block Forward-Mechanismus
Beispiel: Aufteilung von Kontrollbyte und Sendedaten
Es ist ein 27 Byte langer Frame zu übertragen. Die Größe der MTU wird auf 7 Byte festgelegt.
Die Vorgehensweise zur Vorbereitung und Zerlegung der Sendedaten ist stets dieselbe, ungeachtet dessen, ob der Block Forward-Mechanismus verwendet wird oder nicht:
oOhne Einsatz des Block Forward-Mechanismus wartet das Modul nach den MTU-Zyklen zur Übertragung der Sendedaten auf Quittierung der Sende-Sequenznummer.
oBei Rückgriff auf den Block Forward-Mechanismus wird im nächsten Zyklus sofort der folgende Datenblock übergeben.
In beiden Fällen kann ein neuer Frame erst nach MTU-Zyklus 6 gestartet werden.