uart baudrate

OP #1577135
Lesenswert?

schönen sonntag morgen,

...und zwar möchte ich eine uart übertragung mit 921600 bps zustande 
bekommen. bei meinem c# programm ist es ja kein problem 921600 bps 
einzustellen - aber beim controller (verwende einen atmega128a) finden 
sich ja in der baudratenliste nur 0.5 und 1 Mbps: sprich die 921600 
stehen nicht drin. kann ich nun trotzdem einfach im UBRR-register 0 
einstellen und das ganze funktioniert dann? (hätte in diesem fall vor 
einen 14.7456 MHz Quarz zu verwenden.)

in diesem thread les ich raus dass es funktionieren müsste:
http://www.embeddedrelated.com/usenet/embedded/show/8794-1.php

kann aber auch sein dass ich etwas übersehen oder falsch verstanden 
habe.

mfg zoechi
Moderator (Firma: Titel) Persönliche Seite #1577167
Lesenswert?

Such mal hier im Forum nach dieser Zahl. Die taucht andauernd auf:
http://www.mikrocontroller.net/search?query=921600&forums[]=1&forums[]=19&forums[]=9&forums[]=10&forums[]=2&forums[]=4&forums[]=3&forums[]=6&forums[]=17&forums[]=11&forums[]=8&forums[]=14&forums[]=12&forums[]=7&forums[]=5&forums[]=18&forums[]=15&forums[]=13&forums[]=16&max_age=-&sort_by_date=0

>>> Nur wozu braucht man 921600 bps?
Diese Frage stellt sich dann immer wieder wie im 
Beitrag "Re: UART mit Baudrate von 921600"
Und irgendwie gibts bei den Threads dann nur selten ein Happy-End  :-o
Gast #1577223
Lesenswert?

Hi

>du meinst damit wahrscheinlich dass mir pc seitig die "abholung" der
>daten zu langsam ist?!

Der braucht erstmal nichts abzuholen, da du im Vergleich zu AVR relativ 
grosse Puffer festlegen kannst. Im AVR steht aber hardwaremässig nur ein 
Byte Puffer zur Verfügung. Und der RAM ist auch recht begrenzt.

MfG Spess
OP #1577256
Lesenswert?

Lothar Miller schrieb:
> Und immer noch ohne Antwort:
>>>> Nur wozu braucht man 921600 bps?

hab ein usb-seriell kabel mit dem ftdi chip... und wenn ich das 
anschließe und dann im device manager schaue welche baudraten 
einstellbar sind, dann finde ich dort 921600bps... von daher kommt der 
wert.
Moderator (Firma: Titel) Persönliche Seite #1577964
Lesenswert?

@  Florian Z. (zoechi)
> ... welche baudraten einstellbar sind, dann finde ich dort 921600bps...
> von daher kommt der wert.
Schon eine interessante Einstellung: nur weil ich etwas könnte,
will (bzw. brauche) ich es auch :-o

Zur Erinnerung, die Frage war nicht, ob du es kannst, sondern wofür du 
es /brauchst/:
>>>>>> Nur wozu braucht man 921600 bps?
Gast #1578005
Lesenswert?

Florian Z. schrieb:
> [..] [Baudrate] 921600 bps [..] 14.7456 MHz Quarz [..]

Das ist erstens ein "Baudratenquarz" und zweitens ergibts sich nach Adam 
Riese und Eva Zwerg ein
1
UBRR = fOSC /16 /BAUD -1 = 14.7456e6 /16 /921600 -1 = 0
(mathematisch exakt, nicht gerundet, Formel aus dem Datenblatt). Also 
ist auch der Fehler genau 0. Also alles in Butter.

Aber bedenke: Bei der angestrebten Baudrate bleiben Dir (bei 8N1) genau 
160 Takte um ein ankommendes Datenbyte zu verarbeiten - inklusive ggf. 
Interrupt Ein- und Aussprung und was sonst noch alles dazugehört - und 
der AVR hat ja wahrscheinlich auch noch was anderes zu tun als nur von 
der UART zu lesen.. das ★kann★ eng werden, das ★kann★ aber auch 
nötig/gewünscht sein.. nur bedenken sollte mans gründlich.

HTH und HF
OP #1579418
Lesenswert?

g457 schrieb:
> das ★kann★ eng werden, das ★kann★ aber auch
> nötig/gewünscht sein.. nur bedenken sollte mans gründlich.

mhm... verständlich. muss aber dazusagen dass ich bei meinem prozessor, 
sobald er am Eingang des UART's etwas erhält, eigentlich sämtliche 
anderen Arbeitsschritte unterbreche (und mit "eigentlich sämtliche" 
meine ich "eigentlich alle" ;) ). Außerdem werden die Datensätze die vom 
PC kommen in der Länge auch sehr gering gehalten (werde hier vielleicht 
sogar nur eine Länge von 3 byte anstreben) - zur not werde ich die Daten 
die vom PC rausgehen mit einem Timer senden und den auf 100ms oder so 
stellen. Diese "hohe" Baudrate benötige ich eigentlich nur dafür um die 
gespeichterten Daten des Controllers möglichst schnell an den Computer 
zu bringen - Wenns mit 921600 nicht klappt geh ich einfach auf die 
nächstmögliche Baudrate runter.

und dass ichs nicht vergesse: danke soweit an alle!
#1579473
Lesenswert?

Vergiss aber den (Hardware-)Handshake nicht. Ohne wirst du bei den 
Datenraten keinen Blumentopf mehr gewinnen können, auch nicht in 
Richtung zum PC hin. Der Buffer des FT232R (256B) ist bei 921,6kBaud 
nach gerademal 2,8ms schon voll, da reicht ein kleiner Schluckauf auf 
dem USB-Bus oder im Host, und es gehen Daten verloren.

Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren