Was ist die "sichere S-Bus-Daten-Modus"?
FAQ #100713
Der "sichere S-Bus-Daten-Modus" wurde eingeführt, um eindeutig identifizieren ein Seriell-S-Bus-Response-Telegramm als Antwort auf eine bestimmte Anforderung-Telegramm (durch die Einführung einer Sequence Number). Diese FAQ erläutert den Unterschied zwischen der "standard S-Bus-Daten-Modus" und den "sicheren S-Bus-Daten-Modus".
Warum wurde die sicheren Daten-Modus eingeführt?
Der sicheren Daten-Modus verhindert, dass die Situation, dass ein Seriell-S-Bus-Antwort-Telegramm, der Timeout überschritten hatte (und daher eine neue Anforderung gesendet wurde) als Antwort auf die folgende Anforderung interpretiert wird. Diese Situation kann auftreten, wenn z.B. Funkmodems verwendet werden und das master-Port-Timeout nicht festgelegt ist, angemessen (wenn die Sendezeit der Anforderung und die Antwort länger als der Timeout sind).
Wie funktioniert die sicheren Daten-Modus?
Der sicheren Daten-Modus führt einen neuen (zusätzlichen) Header in das bestehende S-Bus-Daten-Modus-Telegramm. Eine sichere S-Bus-Daten-Modus-Telegramm hat folgende Struktur:
- Ein Byte mit Gestaltung Zeichen (B5, als Frame synchronisieren verwendet)
- Ein Byte "AT-Zeichen" darauf hinweist, dass dies eine sichere Daten-Modus-Header (0 x 10 = Antrag; 0 x 11 = Antwort)
- Ein Byte, die die Telegrammlänge des folgenden Telegramms (standard S-Bus-Daten-Modus)
- Ein Byte für die Sequenznummer des die telegam
- Eine komplette S-Bus-Daten-Standardmodus Telegramm (wieder beginnend mit einer Rahmung Zeichen B5 und einschließlich das CRC)
Wenn der Meister den sicheren Daten-Modus unterstützt, wird es für alle Anfrage-Telegramme verwendet werden sendet es an alle seriellen Schnittstellen. Der Slave antwortet im gleichen Modus wie die Anforderung, wenn möglich gesendet wird. Wenn ein Sklave, der den sicheren Daten-Modus nicht unterstützt, wird es alle Anforderungen mit dem standard-Daten-Modus Antworten.
Beispiel
Unten finden Sie zwei Beispiele, die zeigen, die Request- und Response-Telegramme der Stationen, die den sicheren Daten-Modus unterstützen. Die schwarzen Teile die Telegramme sind gemeinsame Standarddaten-Modus-Telegramme, die von dem sicheren Modus Header (blau) erweitert werden.
Die Spezialität der zweiten Anforderung Telegramm ist, dass die Registeradresse gleich 181 (= 0xB5, das entspricht den Daten Modus Rahmung Charakter). Um den Wert B5 im Telegramm zu vermeiden, wird ein DLE (Data Link Escape)-Zeichen verwendet, für das Ersetzen der "B5" in das Telegramm. Dieser DLE-Charakter (0xC500, im zweiten Beispiel rot) zwei Bytes lang ist aber zählt nur als ein Byte in dem sicheren Modus-Header.
Anfrage: | B5 10 09 02 B5 00 05 06 00 00 00 F8 1D | |
Antwort: | B5 11 08 02 B5 01 12 34 56 78 A6 D0 |
Anfrage: | B5 10 09 03 B5 00 05 06 00 00 C5 00 94 C6 | |
Antwort: | B5 11 08 03 B5 01 00 00 00 00 12 FC |
Ist es ein Problem, wenn der Master "sichere Datenmodus" und der Slave-Gespräche "Standarddaten Modus" spricht?
Nein. In diesem Fall sendet der Master den sicheren Daten-Modus-Header, die vom Slave nicht interpretiert wird.
Nachdem der Sklave das Framing-Zeichen gelesen hat, versucht es, interpretieren den AT-Befehl, der keinen Wert hat, die, den er erkennt. Der Slave daher stoppt die Interpretation und wieder startet, warten auf das nächste Rahmung-Zeichen, die diejenige des standard S-Bus Daten Modus Telegramms werden. Der Sklave wird diese Anforderung mit einem standard S-Bus-Response-Telegramm beantworten, die durch den Master als standard S-Bus-Telegramm (wegen dem AT-Zeichen) erkannt wird.
Anfrage: | B5 10 09 02 B5 00 05 06 00 00 00 F8 1D | |
Antwort: | B5 01 12 34 56 78 A6 D0 |
(der blaue Teil wird vom Slave ignoriert)
Firmware-Versionen unterstützen den sicheren Daten-Modus
Der sicheren Daten-Modus wird in der folgenden Firmware-Versionen eingeführt. Die "deaktivieren Option" zeigt die erste Firmware-Version, wo der "sichere S-Bus-Daten-Modus" deaktiviert werden kann (siehe FAQ 101084).
System | erste offizielle FW | Pilot FW | "deaktivieren" option |
PCD1.M1x0 | - | - | - |
PCD1.M1x5 | 0E3 | $A5 | - |
PCD1.M2xx0 | 1.14.23 | seit Beginn | 1.14.23 |
PCD2.M110/120 | - | - | - |
PCD2.M150 | 0E3 | $D1 | - |
PCD2/4.M170 | 0E3 | $21 | - |
PCS1.C4/C6/C8 | 0C 0 | - | - |
PCD6.Mxxx | - | - | - |
PCD3.Mxxxx | 1.08.23*) | 1.08.00*) | 1.10.16 |
PCD2.M480 | 03C | - | - |
PCD2.M5xx0 | 1.08.19 | - | 1.10.16 |
*) Auf PCD3 Systemen wurde der S-Bus-Daten sichern-Modus zuerst später auch als Client und als Server umgesetzt. Der obigen Tabelle gibt die erste Client-Implementierung. Modus sichern S-Bus Daten-Server-Funktionalität in Version 03C implementiert wurde (erste pilot-Version wurde $31).
Categories
PG5 2.0 / Serial-S-Bus
Last update: 31.05.2015 07:43
First release: 08.05.2007 16:38
Views: 26979