Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Bus stürzt ab hängt sich auf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • do13
    antwortet
    Zitat von Tessi Beitrag anzeigen
    Erst einmal Danke für die Infos, jetzt weiß ich immerhin die Zeiten die da so zusammen kommen.


    Verstanden habe ich jetzt:
    1. Nach der Quittung eines Telegramms muß 50 Bitzeiten gewartet werden, bevor das nächste Telegramm gesendet werden darf.
    2. Jedes Telegrammbyte bekommt ein Paritätsbit und ist damit 9 Bit lang
    3. Für jedes Telegrammbyte werden 13 Bitzeiten zur Übertragung benötigt
    4. Zwischen Telegrammende und Quittungsbytestart liegen 13 Bitzeiten, im Prinzip also die Übertragungsdauer eines Bytes.

    Bleiben Fragen offen:
    1. Wenn mehr als eine Bytezeit nichts gesendet wird ist der Bus offensichtlich frei. Kennt jemand den Grund, warum 50 Bitzeiten gewartet wird (also festgelegt wurde) und nicht z.B. nur 26 (=2 Byte)?
    2. -
    3. 9 Datenbits (8 + Parität) benötigen 13 Bitzeiten. Was enthalten die zusätzlichen 4 Bit und wie sind sie verteilt (Vor die Daten, in die Daten, nach den Daten?)

    Und schließlich: Wird ein Byte beginnend mit LSB oder MSB gesendet?
    Die 50 Bitzeiten gelten nur bei Wiederholungen und Alarmen. Bei anderen Nachrichten kommen 2 (IIRC) Bitzeiten dazu

    Es werden übertragen:
    Startbit 0 1 2 3 4 5 6 7 Parity Stop
    und dann kommt eine Pause von 2 Bitzeiten.

    Dirk

    Einen Kommentar schreiben:


  • mhanft
    antwortet
    Hallo,

    ich weiß das zwar nicht speziell hier für'n Bus, aber generell kommt bei einer seriellen asynchronen Übertragung (seit es V24/RS232-Schnittstellen gibt, also bestimmt schon 50 Jahre oder so) vor dem Byte noch ein Startbit und danach ein bis zwei Stopbits (normal eines). Und angefangen wird mit dem LSB.

    Gruß Matthias.

    Einen Kommentar schreiben:


  • Tessi
    antwortet
    Erst einmal Danke für die Infos, jetzt weiß ich immerhin die Zeiten die da so zusammen kommen.


    Verstanden habe ich jetzt:
    1. Nach der Quittung eines Telegramms muß 50 Bitzeiten gewartet werden, bevor das nächste Telegramm gesendet werden darf.
    2. Jedes Telegrammbyte bekommt ein Paritätsbit und ist damit 9 Bit lang
    3. Für jedes Telegrammbyte werden 13 Bitzeiten zur Übertragung benötigt
    4. Zwischen Telegrammende und Quittungsbytestart liegen 13 Bitzeiten, im Prinzip also die Übertragungsdauer eines Bytes.
    Bleiben Fragen offen:
    1. Wenn mehr als eine Bytezeit nichts gesendet wird ist der Bus offensichtlich frei. Kennt jemand den Grund, warum 50 Bitzeiten gewartet wird (also festgelegt wurde) und nicht z.B. nur 26 (=2 Byte)?
    2. -
    3. 9 Datenbits (8 + Parität) benötigen 13 Bitzeiten. Was enthalten die zusätzlichen 4 Bit und wie sind sie verteilt (Vor die Daten, in die Daten, nach den Daten?)
    4. -
    Und schließlich: Wird ein Byte beginnend mit LSB oder MSB gesendet?

    Einen Kommentar schreiben:


  • MarkusL
    antwortet
    Danke, habe den Artikel geändert.

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von MarkusL Beitrag anzeigen
    * Ist die pause nicht 5,2ms + 1,35ms?
    Ja es gibt zwei Pausen. Einmal muss vor dem senden des Telegrammms gewartet werden, das sind die 5.2ms (50 Bitzeiten). Bei niedrigeren Prioritäten kommen dann noch 2 Bitzeiten dazu.
    Die andere Pause kommt nach dem Paket (1.35ms), erst dann darf das ACK gesendet werden.

    Zitat von MarkusL Beitrag anzeigen
    * Kennst du die Autoren (Zechel, Nowakowski) des PDFs?
    Wg. Frage ob wir evtl. ein paar der Graphiken ins Lexikon übernehmen bzw. das ganze doc verlinken können/dürfen.
    Nein, kenne ich nicht. Habe ich auch per Suchmaschine gefunden.

    PS: Deine Frage zum Lexikonartikel, du darfst das Quittungsbyte nicht zur Gesamtlänge zählen.

    Dirk

    Einen Kommentar schreiben:


  • Klaus Gütter
    antwortet
    Zitat von MarkusL Beitrag anzeigen
    Hallo Klaus,

    kannst du bitte die Achtung-Box in dem ersten verlinkten Artikel (Paketaufbau) auflösen? Das konnte ich beim Eintragen dieses Lexikon-Artikels irgendwie nicht klären. Danke!
    Hallo Markus,

    23 ist richtig, wenn man das Quittungsbyte nicht mit mitzählt, 24 ist dann inkl. Quittungsbyte.
    Ist aber auch nur die halbe Wahrheit: inzwischen gibt es sog. extended Frames, die bis zu 254 Byte (wenn ich mich richtig erinnere) Nutzdaten tragen können.

    Gruß, Klaus

    Einen Kommentar schreiben:


  • MarkusL
    antwortet
    Zitat von do13 Beitrag anzeigen
    Das ACK ist ein Byte.

    Die Pause ist 5,2ms

    Schau mal in das folgende PDF, da stehen noch mehr Infos:
    http://www.lucky-spike.de/fh/dat/EIB...au_Handout.pdf

    Dirk
    * Ist die pause nicht 5,2ms + 1,35ms?
    * Kennst du die Autoren (Zechel, Nowakowski) des PDFs?
    Wg. Frage ob wir evtl. ein paar der Graphiken ins Lexikon übernehmen bzw. das ganze doc verlinken können/dürfen.

    Einen Kommentar schreiben:


  • MarkusL
    antwortet
    Hallo Klaus,

    kannst du bitte die Achtung-Box in dem ersten verlinkten Artikel (Paketaufbau) auflösen? Das konnte ich beim Eintragen dieses Lexikon-Artikels irgendwie nicht klären. Danke!

    Einen Kommentar schreiben:


  • Klaus Gütter
    antwortet
    Schau mal hier: Paketaufbau - KNX/EIB - Lexikon - KNX-User-Forum
    und hier: Grundlagen KNX - KNX/EIB - Lexikon - KNX-User-Forum
    Ganz genau steht es natürlich im KNX Handbuch, aber das gibt es nicht zum Download

    Einen Kommentar schreiben:


  • do13
    antwortet
    Zitat von Tessi Beitrag anzeigen
    Hm, ich bin davon ausgegangen, das für ein Byte tatsächlich 8 Bit gesendet werden...

    Und das ACK ist meines Wissens nach ein Bit am Ende des Telegramms das
    Das ACK ist ein Byte.
    Zitat von Tessi Beitrag anzeigen

    Nebenbei: Hat jemand mal einen Link auf eine ganz genaue Beschreibung was da physikalisch tatsächlich auf die Leitung moduliert wird? Anscheinend finde ich immer nur Beschreibungen, die von Pausen und zusätzlichen Bits nichts wissen...
    Die Pause ist 5,2ms

    Schau mal in das folgende PDF, da stehen noch mehr Infos:
    http://www.lucky-spike.de/fh/dat/EIB...au_Handout.pdf

    Dirk

    Einen Kommentar schreiben:


  • Tessi
    antwortet
    Hm, ich bin davon ausgegangen, das für ein Byte tatsächlich 8 Bit gesendet werden...

    Und das ACK ist meines Wissens nach ein Bit am Ende des Telegramms das die Empfänger zeitlich exakt (und synchron) treffen müssen, das Zeitfenster entspricht da wohl einer Bitlänge, also rund 104 us. Das macht den Kohl nicht fett.

    Wiederholungstelegramme würde ich jeweils mitzählen, sie treten auf meinem Bus aber fast nie auf. OK, wenn ich über eine Schnittstelle hinweg arbeite, die beim Senden selbständig Telegramme wiederholt, dann sieht das sendende Gerät dahinter das wohl nicht. Ich meine hier aber die Telegrammzahl, die ein hörendes Gerät direkt am Bus sieht.

    Aber selbst wenn durch zusätzliche Bits und Pausen ein Telegramm zeitlich doppelt so lang wird, als von mir angenommen, sind 7-12 Telegramme/s einfach zu wenig.

    Und wenn man tatsächlich praktisch 49 Telegramme/s über den Bus bekommt, warum gibt es dann so viele Geräte, die zwar zertifiziert sind, aber garantiert keine 49 Telegramme/s schaffen? Nicht einmal lesend und erst recht nicht schreibend? Gut, nicht jedes Gerät hat einen solchen Informationsbedarf, aber Schnittstellen und Koppler/Router müssten auf jeden Fall mehr Bandbreite besitzen als der Bus selbst - was anscheinend nicht bei allen der Fall ist - trotz Konnex-Segen...

    Nebenbei: Hat jemand mal einen Link auf eine ganz genaue Beschreibung was da physikalisch tatsächlich auf die Leitung moduliert wird? Anscheinend finde ich immer nur Beschreibungen, die von Pausen und zusätzlichen Bits nichts wissen...

    Einen Kommentar schreiben:


  • Gamma
    antwortet
    Hallo Tessi,
    man schafft definitiv 49 Telegramme pro Sekunde(mit 1-6 Bit Daten).

    Deine Rechnung von theoretisch 100/s geht nicht auf da du
    auf Start,Stopbit, Parity und pausen verzichtest.

    Grüsse von Gamma!

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von Tessi Beitrag anzeigen
    Selbst mit kleinen Pausen müßte der Bus also mindestens 40 Telegramme/s schaffen, bei im Mittel 10 Byte langen Telegrammen müßten rund 100 Telegramme/s über den Bus gehen können. Dauerhaft!
    Nach jeder Nachricht am Bus kommt ein ACK (ich glaube innerhalb 12ms) vom Empfänger. Ganz ohne Sicherungsschicht läuft das also nicht ab. Das drückt Rate wohl auf 50/s, theoretisch.
    Sollte das Telegramm nicht ankommen wird wiederholt (3xmal [meistens]).

    Einen Kommentar schreiben:


  • Tessi
    antwortet
    Irgendwie verstehe ich das nicht ganz:
    KNX-TP läuft mit 9600 Bit/s entspricht 1200 Byte/s.
    Die längsten Telegramme haben 24 Bytes, die kürzesten 9 Byte.
    Die meisten dürften zwischen 9 und 12 Byte liegen.
    Selbst mit kleinen Pausen müßte der Bus also mindestens 40 Telegramme/s schaffen, bei im Mittel 10 Byte langen Telegrammen müßten rund 100 Telegramme/s über den Bus gehen können. Dauerhaft!

    Welcher Designfehler führt den dazu, das man in der Realität gerade mal 10% davon schafft? Und das noch nicht einmal sicher?

    Mal rechnen: 7 * 9 Byte pro Sekunde sind 36 Byte/s. Ziemlich wenig, wenn das Transportmedium eigentlich 1200 Byte/s schaffen sollte, oder?
    Selbst wenn ich nur Strings sende sind 7 * 24 Byte = 168 Byte immer noch sehr mager.

    Ich kenne kein anderes System, das derart ineffizient ist. Und ich rede hier nicht von Netto-Nutzdaten (9 Byte Telegramme für 1 Bit Nutzdaten - nun ja) sondern vom Brutto-Telegramm - da ist der gesammte Protokolloverheat schon enthalten.

    Also was macht KNX eigentlich so entsetzlich langsam?

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von Loxone Beitrag anzeigen
    wir sind bei unseren Tests auf 12 Telegramme/Sekunde gekommen. Bei komplexeren Telegrammen etwas weniger.
    Meinst Du "komplexer" im Sinne von länger [als was]? Bei Euren Tests bezüglich was?

    Einen Kommentar schreiben:

Lädt...
X