Baudratenfehler egal, wenn bei allen Teilnehmern gleich?

Gast #728302
Lesenswert?
• ▲
▼
Hallo,

habe zwei Baugruppen, die über RS232 möglichst schnell kommunizieren 
sollen (Mega 16). Dummerweise habe ich 16 MHz Quarze eingesetzt, besser 
wären ja 14,7456 MHz.
Jetz ist mir eingefallen, das der Baudratenfehler doch egal sein müßte, 
da ja beide sie gleiche Abweichung haben.

Ist dem so, oder liege ich da fallsch?


Gruß Reinhard
#728397
Lesenswert?
• ▲
▼
Das eintreffen des startbits löst die ganze maschinerie aus.

Der logische wert des empfangenen bits wird in der Mitte des 
dazugehörigen Taktes bestimmt. Damit ist eine gewisse Fehlertoleranz 
gewährleistet.

Liegt zwischen dem stoppbit und dem nächsten startbit eine pause die 
länger als ein baud (takt) ist, erfolt eine neusynchronisation des sio.
Der gesamte Datenrahmen kann bei startbit+8datenbit+stopbit=10bit auch 
mit einer toleranz (wenn mich nicht alles täuscht sogar 10%, siehe 
anzahl bits) übetragen werden.

Ist das beim PC nicht so?
Gast #728417
Lesenswert?
• ▲
▼
Die Frage ist eigentlich schon von Ulrich beantwortet worden, trotzdem
hier noch eine etwas andere Sichtweise:

Wenn du nur zwischen 16-MHz-Systemen kommunizieren willst, solltest du
gar nicht erst versuchen, eine "Standard"-Baudrate (z.B. 115200)
einzustellen und Fehlerrechnungen anstellen, sondern gleich eine exakt
darstellbare Baudrate nehmen, also bspw. 100000 oder 128000.

Das hat den Vorteil, dass du dieselbe Baudrate, die im Quellcode
steht, auch bei Testmessungen mit dem Oszi sehen oder für
Performanceberechnungen verwenden kannst.
Gast #728515
Lesenswert?
• ▲
▼
Hallo,

besten Dank für die vielen Antworten!

Die beiden Atmegas (16 und 162) können jetzt problemlos mit 115200 Baud 
kommunizieren, allerdings hat der Mega 162 ja noch eine zweite 
Schnittstelle zum Anschluß eines Pocket PCs.
Da sind sicher nur 38400 möglich.

Auf längere Sicht werde ich die beiden Quarze doch noch austauschen.

Übrigens, bei Rowald habe ich gelesen,
http://www.rowalt.de/mc/avr/avrboard/03/avrb03.htm
das bei der Einrichtung eines Sende oder Empfangspuffers mit Bascon 
(Config Serialin und Config Serialout)zusätzlicher externer Ram 
angeschlossen werden muß.
Ist dem so, oder bezieht sich das nur auf Prozessoren ohne SRAM

Gruß Reinhard
#728521
Lesenswert?
• ▲
▼
Reinhard wrote:

> Die beiden Atmegas (16 und 162) können jetzt problemlos mit 115200 Baud
> kommunizieren

Das ist Quatsch mit Soße.

Bei 16MHz sinds entweder 111 oder 125kBaud.

Der Baudratenfehler ergibt sich nicht durch den Unterschied zu 
irgendeinem Phantasiewert, sondern zwischen den Teilnehmern.

Und bei gleichen Quarz und Teilerwert ist der Fehler immer 0.


Peter
Gast #728540
Lesenswert?
• ▲
▼
117.6k geht auch noch bei double speed, das könnte gerade noch klappen 
mit einem Standard 115,2k-Teilnehmer, knapp über 2%.
Ob der 162er den double-speed-mode hat, weiss ich nicht aus dem Kopf.

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