Dauer einer seriellen Übertragung bei 9600 Baud



  • Hallo zusammen,

    ich möchte z.B. 10 Bytes über die serielle Schnittstelle (z.B. /dev/ttyS0) übertragen. Eingestellt sind: 9600 Baud, 8 Datenbits + Even + 1 Stopbit
    Zusammen mit dem Startbit werden doch pro Byte 11 Bits übertragen, richtig?

    Wenn ich mal von der (nicht ganz richtigen) Annahme ausgehe, dass 9600 Baud = 9600 Signaländerungen pro Sekunde = 9600 Bits pro Sekunde ausgehe, dann kann ich doch sagen, dass die Übertragung eines Bits

    1/9600 = 10,416µs

    dauert. So weit auch noch richtig? Wenn pro Byte eine "Bitsequenz" von 11 Bits (s.o.: Daten-, Start-, Stop-, Paritybit) benötigt wird, so dauert die Übertragung von einem Byte

    10,416µs * 11 = 1,145ms

    Bei der Übertragung von z.B. 10 Bytes muss ich also mit einer Dauer von ca 11,45ms rechnen.....

    Ist das so richtig?? Hab ich mir mal selbst so "zusammengereimt". Wollte das nur bestätigt haben. Bin über jeden Hinweis und jede konstruktive Kritik dankbar!

    Gruß, _bierbauch_



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Linux/Unix in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Einige Beispiele:
    9600,4N1 ergibt 625 µs/Byte (6 Bits gesamt pro 'Byte')
    9600,5N1 ergibt 729.167 µs/Byte (7 Bits gesamt pro 'Byte')
    9600,6N1 ergibt 833.333 µs/Byte (8 Bits gesamt pro 'Byte')
    9600,7N1 ergibt 937.5 µs/Byte (9 Bits gesamt pro 'Byte')
    9600,8N1 ergibt 1041.67 µs/Byte (10 Bits gesamt pro 'Byte')
    9600,7P2 ergibt 1145.83 µs/Byte (11 Bits gesamt pro 'Byte')
    9600,8P2 ergibt 1250 µs/Byte (12 Bits gesamt pro 'Byte')
    (7P2 == 8P1 == 8N2)

    Deine Rechnung stimmt.

    Blackbird



  • bierbauch schrieb:

    ..., dann kann ich doch sagen, dass die Übertragung eines Bits

    1/9600 = 10,416µs

    Falsch! 1/9600 sind 104,17µs und nicht 10,416µs.

    bierbauch schrieb:

    ..., so dauert die Übertragung von einem Byte

    10,416µs * 11 = 1,145ms

    Wieder falsch! 10,416µs * 11 sind 114,567µs = 0,114567ms.

    Da du dich aber beide male um einen Faktor 10 verrechnet hast, stimmt die Aussage unterm Strich wieder.



  • Oh... hast recht. Das kommt wohl daher, dass ich vom Taschenrechner falsch abgeschrieben habe 🙂

    Danke trotzdem....


Anmelden zum Antworten