Forum: Mikrocontroller und Digitale Elektronik AnfängerFrage Baudrate


von Daniel (Gast)


Lesenswert?

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

von Jim M. (turboj)


Lesenswert?

Haste 'nen Sechser in Mathe oder warum konnst Du mit einer trivialen 
Formel

y = a*b / x

nich klar?

von Daniel (Gast)


Lesenswert?

Sorry ich meinte:

UBRR= (16*f_CPU)/(Baud)-1

von Alexander S. (alesi)


Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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!

von holger (Gast)


Lesenswert?

>Sorry ich meinte:
>
>UBRR= (16*f_CPU)/(Baud)-1

Wohl eher UBRR= (f_CPU)/(16*Baud)-1

von Daniel (Gast)


Lesenswert?

holger schrieb:
>>Sorry ich meinte:
>>
>>UBRR= (16*f_CPU)/(Baud)-1
>
> Wohl eher UBRR= (f_CPU)/(16*Baud)-1

Ohhje ja du hast recht.

Danke

von Daniel (Gast)


Lesenswert?

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

von Sebastian S. (amateur)


Lesenswert?

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...

von Jacko (Gast)


Lesenswert?

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...

von Jacko (Gast)


Lesenswert?

Upps, da hab ich an der falschen Stelle kopiert:

UBRR = (f_CPU / (8 x Baud)) - 1

von Roland F. (rhf)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Roland F. schrieb:
> Es ist aber gut möglich, das je messbarer Veränderung mehr als ein Bit
> übertragen wird.

Aber nicht bei einer UART.

von Sebastian S. (amateur)


Lesenswert?

@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...

von Manfred (Gast)


Lesenswert?

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 ..

von Roland F. (rhf)


Lesenswert?

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

von Guido Körber (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Aber nicht bei einer UART. Immer noch nicht.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

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.

von Guido Körber (Gast)


Lesenswert?

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…

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.