(5)
Fehlerprüfung
CRC-Prüfung
Jedes Telegramm enthält ein Fehlerprüffeld gemäß dem CRC-Verfahren.
Das CRC-Feld dient der Überprüfung des Inhalts des gesamten Telegramms. Die Prüfung ist unabhängig von der
Paritätsprüfung der einzelnen Zeichen, aus denen das Telegramm besteht.
Das CRC-Feld besteht aus zwei Bytes mit 16-bit-Binärdaten. Der CRC-Wert wird vom Sender berechnet, der das
CRC-Feld an das Telegramm anhängt. Der CRC-Wert wird dann vom Empfänger beim Empfang des Telegramms neu
berechnet und mit dem tatsächlichen, im CRC-Feld übermittelten Wert verglichen. Stimmen die beiden Werte nicht
überein, wird ein Fehler festgestellt.
Für die Berechnung des CRC-Werts wird der Wert „1" in alle 16 Bits des ersten Registers vorgeladen. Daraufhin werden
die aufeinanderfolgenden 8-Bit-Bytes auf den aktuellen Inhalt des Registers angewandt. Nur acht Bits unter den Zeichen
werden zur Erzeugung eines CRC-Werts verwendet. Das Start-, Stop- und Paritätsbit werden nicht benutzt.
Zur Erzeugung eines CRC-Werts wird jedes 8-bit-Zeichen auf Grundlage des XOR-Gates mit dem Registerinhalt
verglichen.
Das Ergebnis wird zur niederwertigsten Stelle hin verschoben und für die höchstwertige Stelle wird eine 0 eingefügt.
Daraufhin wird der Wert der niederwertigsten Stelle entnommen und geprüft. Wenn die niederwertigste Stelle den Wert 1
hat, wird das Register erneut auf Grundlage des XOR-Gates verglichen. Hat die niederwertigste Stelle den Wert 0, wird
das XOR-Gate nicht angewandt.
Dieses Verfahren wird so lange wiederholt, bis die Daten acht Mal verschoben wurden. Nach der letzten (achten)
Verschiebung wird das nächste 8-bit-Byte auf Grundlage des XOR-Gates mit dem aktuellen Registerwert verglichen.
Dieser Vorgang wird dann wie oben beschrieben acht Mal wiederholt. Nachdem das Verfahren auf alle Bytes des
Telegramms angewendet wurde, stellt der letzte Inhalt des Registers den CRC-Wert dar.
Das Erzeugungspolynom (CRC-16-Verfahren) ist:
Wenn ein CRC-Wert an das Telegramm anhängt wird, folgt das obere Byte dem unteren Byte.
(6)
Sende-/Empfangspuffer
Bei der GateWayR-Einheit für RS485 SIO haben der Sende- und Empfangspuffer jeweils eine Größe von 160 Byte.
Berechnen Sie die Telegrammgröße, um sicherzustellen, dass im Fall von vom Host gesendeten Telegrammen der
Empfangspuffer und im Fall von Datenanforderungs-Telegrammen der Sendepuffer nicht überschritten wird.
x16 + x15 + x2 +1
Teil 1 Spezifikation
133