UART Timing

Gast #2727
Lesenswert?

Hallo Freunde des AVR`s,

wieviel Zeit sollte man dem AVR (8515) lassen vom Befehl

sbi ucr,txen

bis zu

tx_out:
sbis usr,udre
rjmp tx_out
out udr,temp
ret

?

Hintergrund: Bei einer Übertragung mit 1200Bd gibt es keine Probleme 
aber ab 4800Bd stimmen einige Zeichen nicht mehr. Wird auf 9600Bd 
erhöht, erscheint nur noch warme Luft und Kuchenkrümel auf dem Terminal.
Füge ich eine Schleife unsinnigen Wartens von 50µS ein klappt es bis 
19200Bd einwandfrei.

Zur Schaltung: AVR 8515 mit Quarz 3,6864 MHz. Die Abweichung liegt bei
-24 Hz. Ich denke, das ist wohl vernachlässigbar.

Danke,
Günter
Gast #2729
Lesenswert?

Hi Jonas,
hast recht, aber mit diesem Quarz (3,6864MHz) sollte lt. Berechnung der 
Fehler bei

1200 Bd  = 0%
2400 Bd  = 0%
4800 Bd  = 0%
9600 Bd  = 0%
19200Bd = 0%

sein.
Selbst bei einer Abweichung der Quarzfrequenz von 24 Hz liegt der Fehler 
innerhalb der Spec`s.
Ich habe noch ein bisschen rumprobiert, ist aber leider so. Irgendwie 
seltsam.......


Gruß und Danke,
Günter


sein
Gast #2733
Lesenswert?

nun denn, die Sache hat sich geklärt.
Nachdem sich beim Auslesen des Speichers einige Merkwürdigkeiten gezeigt 
haben, wurde mal der 8515 getauscht. Und siehe, die Speicherprobleme 
waren weg und dann.....
die Timingprobleme ebenfalls.

Das Leben hält so manche Unbill für uns bereit, und wieder hat ein armer 
Controller uns verlassen.


in diesem Sinne,

Gruß,
Günter

Günter
Gast #2735
Lesenswert?

Oh Mann, das mit Sicherheit nicht. Aber den habe ich mal wegen 
irgendeiner Sache aus einem Gerät ausgebaut. Ich glaube, jetzt weiß ich 
warum. Möglicherweise hat er auch das Auslöten nicht verkraftet.

Bis demnächst,
Günter

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