Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| projekte:hausautomatisierung:protokoll [2014/05/31 14:34] – ralf | projekte:hausautomatisierung:protokoll [2018/02/01 12:56] (aktuell) – 2001:638:a01:8061:aefd:ceff:fef3:ba65 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Protokollidee für den RS485-Hausbus ====== | + | ====== Protokollidee für den RS485-Hausbus |
| - | Speed: | + | Speed: |
| -> Bit pro Zeichen: 10\\ | -> Bit pro Zeichen: 10\\ | ||
| - | -> Dauer für ein Byte: 260µs/Byte\\ | + | -> Dauer für ein Byte: 86.806µs/Byte\\ |
| - | -> Datenrate: | + | -> Datenrate: |
| Default-Modus aller Geräte: Empfangen | Default-Modus aller Geräte: Empfangen | ||
| Zeile 13: | Zeile 13: | ||
| ^ Byte# ^ Data ^ Description ^ | ^ Byte# ^ Data ^ Description ^ | ||
| | 0 | 0x40 | Präambel, leitet das senden ein | | | 0 | 0x40 | Präambel, leitet das senden ein | | ||
| - | | 1 | 0x00-0xff | Device ID, addressiert das angesprochene Gerät | + | | 1 | 0x00-0xff | Source |
| - | | 2 | 0x00-0x40 | Payload Length (max. 64 Byte) | | + | | 2 | 0x00-0xff | Destination Device ID | |
| + | | 3 | 0x00-0x40 | Payload Length (max. 64 Byte) | | ||
| | 3-(max. 67) | | Payload, das jeweilige Gerät muss wissen was es mit den Daten anfängt | | | 3-(max. 67) | | Payload, das jeweilige Gerät muss wissen was es mit den Daten anfängt | | ||
| - | | letztes Byte | | Checksumme (Bytesweises XOR über alle vorhergehenden Bytes, inkl. Präambel) | + | | letztes Byte | | CRC8 Prüfsumme |
| - | Die Zeit zwischen einzelnen Bytes eines kompletten Frames, darf 1ms nicht überschreiten. | + | Die Zeit zwischen einzelnen Bytes eines kompletten Frames, darf 100µs |
| Wird die Zeit überschritten, | Wird die Zeit überschritten, | ||
| - | Ein Frame maximaler Größe belegt so den Bus maximal 68ms. | + | Bei fehlerhafter Prüfsumme wird das Paket verworfen. |
| - | Ein Frame minimaler Größe belegt den Bus maximal 4ms. | + | |
| + | Bei Kollissionserkennung wird random time gewartet, dann erneutes Senden versucht. | ||