Forum: Mikrocontroller und Digitale Elektronik Übertragungsrate UART


von Mike (Gast)


Lesenswert?

Hallo,

ich plane, zwei ATMega per UART (und RS-485) kommunizieren zu lassen.
Die ATMega werden je mit 16MHz betrieben, können diese z.B. problemlos 
mit
500000 Baud kommunizieren? Da war doch irgenwas mit "Fehler < x%"...

Mike

von Peter (Gast)


Lesenswert?

wenn beide megas mit dem gleichen Quarz laufen kannst dir der Fehler 
ziehmlich egal sein. Sie verstehen sich immer beide. ob es nun 500500 
baud oder 499000 baud sind ist egal.

von spess53 (Gast)


Lesenswert?

Hi

Steht im Datenblatt.

MfG Spess

von Mike (Gast)


Lesenswert?

Ui, das ging schnell.

Also war das mit dem Fehler nur auf die Komm. mit dem PC bezogen?!

Heißt für meine Anwendung mit dem Max490: Max. Ü-Rate 2,5Mbit (brauche 
ich zwar nicht, würde aber gehen?)

Überträgt der ATMega die Daten im Hintergrund (Puffer wird verwendet) 
oder wird das Programm dafür angehalten?

Danke!

von g457 (Gast)


Lesenswert?

> Die ATMega werden je mit 16MHz betrieben, können diese z.B. problemlos
> mit 500000 Baud kommunizieren?

Einfach ausrechnen: UBRRx = F_CPU /16 /BAUD -1 = 1.6e7 /16 /500000 -1 = 
1
Geht also.

> Da war doch irgenwas mit "Fehler < x%"...

Das ist hier unerheblich sofern beide megas die selbe Baudrate erzeugen 
können (und das können sie wenn sie beide mit dem selben Takt betrieben 
werden).

Allerdings solltest Du noch was anderes bedenken: bei 500kBaud (mit 8n1) 
hast Du gerade mal etwa 320 Takte CPU-Zeit pro Datenbyte. Das reicht 
dicke wenn sonst nichts zu tun ist, wird andernfalls aber schnell eng - 
'nur' Daten rüberschieben ist ja eher langweilig, wahrscheinlich soll 
mit denen auch irgendwas angestellt werden..

von Mike (Gast)


Lesenswert?

@g457: Also, der Plan ist Folgender:

Beide AVR haben einen eigenen 16MHz-Quarz. Beide senden sich gegenseitig 
(alle 2 Sekunden, keine Ahnung) Informationen, diese sollen im Puffer 
des anderen landen. Wenn ein AVR Daten benötigt, liest er den Puffer 
aus. Dabei ist es egal, wenn er mal die Daten nicht abholt und diese 
durch den anderen überschrieben werden.
Wenn einer wieder Daten braucht, liest er die jeweils zuletzt 
empfangenen  aus.

Klappt das so?

von g457 (Gast)


Lesenswert?

Klar, sollte klappen.

von Mike (Gast)


Lesenswert?

Ich bedanke mich und wünsche einen schönen Abend!

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.