Forum: Mikrocontroller und Digitale Elektronik Höchste funktionierende baudrate für 16MHz


von Denny (Gast)


Lesenswert?

Hallo
Ich übertrage Daten seriell vom ATmega8 zum Computer.
Dafür benötige ich eine gute Baudrate.
Die sollte sehr hoch sein, da die Übertragung schnell stattfinden soll.

Welche ist also die höchste Baudrate für einen ATmega8 mit 16MHz Quarz??
Danke

von Εrnst B. (ernst)


Lesenswert?

2 Mbps. Sind im Datenblatt auch schicke Tabellen für drinnen.

UBBR=0; U2X=1; => 2Mbps bei 16MHz

von Oliver (Gast)


Lesenswert?

RTFM

Da gibt es seitenweise Tabellen zu allen Taktfrequenzen und Baudraten. 
Und die höchste da drin angebene Baudrate bei 16MHz ist 1Mbps. 
Allerdings ist das für handelsübliche PC's viel zu schnell.

Oliver

von spess53 (Gast)


Lesenswert?

Hi

Mit 16MHz etwa bis 115,2 KBd. Mit 14,745600MHz bis 912,6 kBd.

MfG Spess

von Denny (Gast)


Lesenswert?

OK ich habe die Tabelle jetzt vor mir.
1M ist zu schnell für Computer und bei 115,2 ist die Fehlerquote 3.5%
Was soll ich nun holen??
Es darf kein Fehler auftreten.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

38.4k ... ist nur 0.2% daneben.

von dave (Gast)


Lesenswert?

spess53 schrieb:
> Mit 16MHz etwa bis 115,2 KBd. Mit 14,745600MHz bis 912,6 kBd.

also umso schneller der quarz, desto langsamer die max. baudrate ;-)

Denny schrieb:
> Was soll ich nun holen??
> Es darf kein Fehler auftreten.

nimm am besten einen baudratenquarz, sonst kommst du nicht auf 0.0 % 
fehler (z.b. 14,745600MHz).

von Bensch (Gast)


Lesenswert?

Ist das soooo schwer, anhand der Tabelle und den Formeln das 
auszurechnen?

von Karl H. (kbuchegg)


Lesenswert?

Denny schrieb:
> OK ich habe die Tabelle jetzt vor mir.
> 1M ist zu schnell für Computer und bei 115,2 ist die Fehlerquote 3.5%
> Was soll ich nun holen??

3 Möglichkeiten

* Darauf hoffen, dass 3.5% grade noch akzeptabel ist. Immerhin
  bewegt man sich da im Grenzbereich dessen, was gemeinhin als
  'geht gerade noch' akzeptiert werden kann.

* Die 16MHz gegen einen Baudratequarz austauschen

* Eine andere Baudrate suchen, die einen kleineren Fehler aufweist.

von Peter R. (gelb)


Lesenswert?

spess53 schrieb:

> Mit 16MHz etwa bis 115,2 KBd. Mit 14,745600MHz bis 912,6 kBd.

Und mit gesetztem U2X0 - Bit geht auch genau das doppelte.

Allerdings "therefore a more accurate baud rate setting and system clock 
are required when this mode is used."

Wer bietet mehr?

Grüße, Peter

von spess53 (Gast)


Lesenswert?

Hi

>>spess53 schrieb:
>> Mit 16MHz etwa bis 115,2 KBd. Mit 14,745600MHz bis 912,6 kBd.

>also umso schneller der quarz, desto langsamer die max. baudrate ;-)

Manchmal ist weniger mehr.

MfG Spess

von Falk B. (falk)


Lesenswert?


von [Frank] (Gast)


Lesenswert?


von Oliver (Gast)


Lesenswert?

>... und bei 115,2 ist die Fehlerquote 3.5%

Das ist keine "Fehlerquote", das ist die Abweichung der tatsächlichen 
Baudrate von der vorgebenen. Ob und wieviele Fehler bei der Übertragung 
auftreten, sagt das nicht.

Ausserdem gibt es für 115kB auch noch eine Einstellung mit 2,1% 
Abweichung. Die würde ich beide einfach mal ausprobieren. Wenn KEIN 
Fehler auftreten darf, hast du ja sicherlich eine Testmöglichkeit für 
die Anzahl der Übertragungsfehler, und kannst die Funktion überprüfen.

Es gibt für PC's bzw. Notebooks auch Schnittstellenkarten, die Baudraten 
oberhalb der handelsüblichen 115kB zulassen. Wenn es also schneller sein 
soll, brauchst du so etwas, dazu dann auch etwas Sorgfalt bei der 
Auswahl des Pegelwandlers hinter dem AVR.

Oliver

von Oliver (Gast)


Lesenswert?

Nachtrag:

Und wenn du über einen Seriell/USB-Konverter gehst, erreichst du 1 
MBaud. Gib es als Chip (FT232R) zum selberbasteln, oder auch als fertige 
seriell-USB-Kabel. Plug and Pray...

Oliver

von Simon H. (Gast)


Lesenswert?

Wenn es keine fehler geben darf, kommmst du nicht um nen baudraten-quarz 
herum... (naja fehlerfrei gibts in der technik nicht...)

von Udo R. S. (Gast)


Lesenswert?

> Es darf kein Fehler auftreten.
Du kannst nie davon ausgehen daß es keinen Fehler geben wird. Du musst 
immer mal mit einem Fehler rechnen, warum denkst Du sind alle 
Übertragungsprotokolle fehlertolerant?
Wenn Du 100% fehlerfrei brauchst musst Du das entsprechend 
softwareseitig implementieren (Paketierung, CRC-prüfug etc.)

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.