Contents Up Previous Next

Besonderheiten bei RS232

Da RS232 bei der Entwicklung nicht als Bussystem gedacht war, müssen zusätzlich zum Datenrahmen einige Elemente eingefügt werden, damit mehrere Module mit einer einzigen seriellen Schnittstelle bedient werden können.

Figure 1.2: Datenrahmen RS232

Zunächst werden vor den Datenrahmen zwei Bytes (Group/ID) angehängt mit welchen bestimmt wird, welches Modul angesprochen werden soll, bzw. von welchem Modul die Antwort stammt. Hierbei werden vom ersten Byte nur die ersten drei Bits verwendet. Das zweite Byte stellt die eindeutige Modul ID dar. => es können bis zu 255 Module adressiert werden. Die ersten drei Bits des ersten Bytes sind wie folgt kodiert:

Alle anderen Zustände werden nicht benutzt.

Diese Art ein Modul mit 11Bit eindeutig zu identifizieren wurde aus dem CAN Protokoll übernommen.


Um eine sichere Datenübertragung unter RS232 gewährleisten zu können, werden über alle Daten, einschließlich Group/ID, D-Len und Cmd eine Checksumme (CRC16 => 2 Byte) gebildet, welche am Ende des Datenrahmens angehängt wird. Ein Algorithmus, um eine CRC16 zu berechnen, befindet sich im Anhang. Aufgrund der Tatsache, dass RS232 kein echtes Bussystem ist, aber als Bussystem verkabelt wird, kann es zu Kollisionen kommen, wenn mehrere Module gleichzeitig Daten zum Master senden wollen. Diese Kollisionen können aber eindeutig erkannt und dementsprechende Maßnahmen eingeleitet werden, um den Zustand aller Module eindeutig zu bestimmen. Werden sehr viele Module an einem ,,Strang'' betrieben, kann es unter Umständen notwendig werden Spontanmeldungen abzuschalten.