Wie schnell ist der KNX Bus?

Ganz klar: 9600 Baud …

Das wird zumindest der informierte KNX-Kenner sagen. Aber wie schnell ist das tatsächlich?

Nun. Dazu muss man ein wenig tiefer einsteigen…

Beim Auftreten eines Gruppen-Telegramms (z.B. eine Taste wird betätigt) sendet das KNX Gerät ein Telegramm auf den Bus. Dazu muss der Bus jedoch mindestens für eine bestimmte Zeit (t1) nicht belegt sein. Erst danach beginnt der Sendevorgang des eigentlichen Telegramms. Danach haben die empfangenden Geräte Zeit (t2) zur Überprüfung des korrekten Empfangs. Alle „angesprochenen“ Geräte (also die, die ein entsprechenden KO mit der betreffenden GA verknüpft haben) quittieren gleichzeitig den Empfang.

Das Telegramm wird mit 9600 Baud gesendet. Das heißt, 1 Bit belegt den Bus für 1/9600 s bzw. 104 µs. Oder anders ausgedrückt: Es werden 9600 Bit pro Sekunde übertragen.

Ein Zeichen besteht prinzipiell aus 8 Bit. Zusammen mit Prüfinformationen, wächst es jedoch auf 11 Bit an. Mit der notwendigen Pausenzeit von 2 Bit, summiert sich ein einziges Zeichen dann sogar auf 13 Bit auf.

13 Bit mit je 104µs ergeben dann 1,352ms.

Ein KNX Telegramm ist zwischen 8 (einfaches Ein/Aus-Telegramm) und 23 Zeichen (langes Text-Telegramm) lang. Manche Geräte beherrschen „Extended Frame“ Teleramme. Diese können länger sein. Wir konzentrieren uns hier aber auf das, was jedes Gerät kann.

Die zuvor genannten Zeiten t1 und t2 sind 50 Bit und 13 Bit, bzw. 5,2ms und 1,352ms lang

Für ein kurzes Telegramm mit 8 Zeichen ergibt sich somit eine Zeit von 17,36ms und für ein langes Telegramm mit 23 Zeichen eine Zeit von 37,65ms.

Wenn es jetzt wie bei KONNEKTING zum Teil darum geht, über ein Gruppen-Telegramm „Daten“ zu transportieren (je 14 Byte DPT-Rohdaten in einem solchen Telegramm), dann lässt sich ausrechnen, dass 14 Bytes Rohdaten etwa 37,65ms für die Übertragung benötigen.

Das sind dann, um es verständlicher auszudrücken, rund 372Bytes pro Sekunde.

Um das ganze aber mal praktisch zu beleuchten:

Mit Beta5 wollen wir wie anderweitig schon erwähnt, ein Firmware-Update der Geräte über den Bus ermöglichen.  Nehmen wir mal einen mittelgroßen Beispielsketch. Dieser hat 50kByte, also 51.200 Bytes.

Unser „Programmierprotokoll“ erlaubt den Transport von bis zu 11 Byte (Eigentlich 12, aber wir brauchen ein weiteres Byte für die Steuerung der Rohdaten) in einem Telegramm. Das Telegramm benötigt aber nach wie vor 37,65ms. Macht dann umgerechnet 292 Byte pro Sekunde.

Unser 50kB Beispiel-Sketch würde dann knapp 3min für die Übertragung benötigen. Das ist jetzt nicht rasend-schnell, aber zum gelegentlichen Firmware-Updaten doch angenehm zügig.

Warten wir mal ab wie das dann in der Praxis aussieht und wie die Meinungen der Nutzer dazu sind.

Stay tuned …

3 Gedanken zu „Wie schnell ist der KNX Bus?“

  1. Sehr gute Darstellung!
    Nur das mit der maximalen Länge von 23 Byte stimmt nicht. Extended Frames können viel länger sein. Durch das dann bessere Nutzlast/Overhead-Verhältnis ist z.B. ein Download mit der ETS5 in Geräte, die das unterstützen ca. 30% schneller.

    Gruß, Klaus

    1. > Nur das mit der maximalen Länge von 23 Byte stimmt nicht.

      Doch, das stimmt. Ich habe nämlich von KNX Telegrammen, und nicht von „Extended Frame“ KNX Telegrammen geschrieben. Aber um die Sache etwas klarer zu machen (dass es nämlich noch eine weitere Telegramm-Variante gibt), habe ich den Text entsprechend ergänzt. Danke für den Hinweis und die Klarstellung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.