Hallo,
ich habe eine Frage. Was ist der Unterschied zwischen Baud und den zu
berrechnenden Wert UBRR in der folgenden Formel:
UBRR= (16*f_CPU)/(Baud)
Baud: Übertragungsgeschwndigkeit von Daten bzw. Änderung eines Signals.
VG
Jim M. schrieb:> Haste 'nen Sechser in Mathe oder warum konnst Du mit einer> trivialen> Formel>> y = a*b / x>> nich klar?
konnst?? Deutsch bitte...
Höchstwahrscheinlich kann ich Mathe besser als DU!
Alexander S. schrieb:> Daniel schrieb:>> Was ist der Unterschied zwischen Baud und den zu>> berrechnenden Wert UBRR>> Hallo,>> Baud ist die gewünschte Baudrate und UBRR ist der entsprechende> Teiler um die Baudrate aus dem Mikrocontroller-Takt abzuleiten.>> https://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
Danke
Es gibt, im Grunde genommen zwei Möglichleiten mit Deinem Problem
umzugehen.
1. Du nimmst die Formel so wie sie ist und glaubst ihr.
2. Du beschäftigst Dich mit der Interna des µP und bekommst raus, was es
mit den Zahlen bzw. Teilerfaktoren auf sich hat.
Übrigens: Die Baudrate hat nur indirekt was mit der
Übertragungsgeschwindigkeit zutun.
Die Baudrate steht für übertragene Bit pro Sekunde. Wenn ich
unterstelle, dass Du 8 Bit, ein Byte (pro Block) übertagen willst, so
kommt noch einiges an Füllmaterial hinzu:
Mindestens ein Start- und ein Stoppbit. Macht also 10 Bit für ein
Netto-Byte. Manchmal werden auch 2 Stoppbit verwendet und der eine oder
andere steht auf ein Prüf-Bit. Dann brauchst Du schon 12 Bit pro Byte.
So werden dann aus z.B. 9600 Baud 960 oder auch nur noch 800 Byte pro
Sekunde.
9600 klang da doch viel besser...
Und wenn es mit UBRR knapp wird, kann man noch U2X in UCSRA
setzen (je nach Modell heißt es vielleicht anders) womit man
UBRR = (8 * f_CPU) / (Baud-1) setzen kann.
Nur bei miesem Empfangssignal über lange schlechte Leitungen
kann damit die Fehlerrate etwas ansteigen...
Hallo,
> Die Baudrate steht für übertragene Bit pro Sekunde.
Das ist nicht richtig, die Baudrate steht für die Anzahl der Symbole je
Zeiteinheit (in der Regel je Sekunde). Und ein Symbol entspricht einer
definierten, messbaren Veränderung im physischen Übertragungsmedium.(1)
Im vorliegenden Fall entspricht allerdings einem Baud einem Bit/s, da
jede messbare Veränderung nur einem von 2 Zuständen entspricht. Es ist
aber gut möglich, das je messbarer Veränderung mehr als ein Bit
übertragen wird. Und dann ist ein Baud nicht mehr ein Bit.
> 9600 klang da doch viel besser...
Gibt man die Übertragungsgeschwindigkeit in Baud an, geht es um die rein
physikalische Symbolrate, nicht um die tatsächliche Menge an
Nutzinformation, die übertragen wird. Und deshalb ist die Angabe von
z.B. 9600 Baud völlig richtig.
rhf
Quelle:
(1) siehe Wikimedia: Baud
@Roland
Ich war so naiv, davon auszugehen, dass es um eine UART geht und damit
um die klassische, serielle Schnittstelle. Die Formel sieht mir stark
nach dem Erguss, aus einem Atmel-Handbuch aus.
P.S. Ich habe hier noch eine Tüte Erbsen, die nur darauf warten gezählt
zu werden...
Daniel schrieb:> konnst?? Deutsch bitte...
M und N liegen direkt nebeneinander, Tippfehler - das könntest Du
einfach überlesen, fertig?
Das Glashaus sagt, dass Du es auch nicht kannst:
Daniel schrieb:> .. der Unterschied zwischen Baud und den zu> berrechnenden Wert ..
Hallo Sebastian,
mein Beitrag sollte keine Kritik an dir sein. Aber ich habe mehrfach
Diskussionen zu diesem Thema geführt und bin vielleicht deshalb etwas
sensibilisiert wenn es um eben dieses Thema geht.
Im Übrigen habe ich darauf hingewiesen:
> Im vorliegenden Fall entspricht allerdings einem Baud einem Bit/s,
und wollte nur anmerken das Baud und Bit/s nicht in allen Fällen das
Gleiche ist.
rhf
Sebastian S. schrieb:> P.S. Ich habe hier noch eine Tüte Erbsen, die nur darauf warten gezählt> zu werden...
Nee, nicht wirklich. Bitrate und Baudrate verwechseln ist ein sehr
häufiger Fehler und einer der zu echten Kommunikationsproblemen führt
(technisch und menschlich). Ein Baud kann auch mehr oder weniger als
einem Bit entsprechen, auch Bruchteile sind möglich, also ist die klare
Unterscheidung schon sinnvoll.
Guido Körber schrieb:> Nee, nicht wirklich. Bitrate und Baudrate verwechseln ist ein sehr> häufiger Fehler und einer der zu echten Kommunikationsproblemen führt> (technisch und menschlich). Ein Baud kann auch mehr oder weniger als> einem Bit entsprechen, auch Bruchteile sind möglich, also ist die klare> Unterscheidung schon sinnvoll.
Es muss sich immer ein möchtegernexperte melden, der noch schnell
das abgeschriebene oder rausgegoogelte Wissen niederschreiben muss.
Wenn der TO von UBRR redet, dann ist bestimmt nicht der Parallelport
oder Ethernet gemeint. Und Baud wird nur noch (selten) für serielle
Schnittstellen verwendet, ansonsten ist b/s, Mb/s, MB/s, GB/s üblich.
Nirgendwo sonst wird Baud noch verwendet.
Rufus Τ. F. schrieb:> Aber nicht bei einer UART. Immer noch nicht.
Ja, bei einem UART ist 1 Baud = 1 Bit/s
Aber es gibt heute anscheinend noch mehr Leute die den Unterscheid
zwischen Bit/s und Baud nicht begreifen, wie der Post einen hier vor
zeigt…