Problem mit RS232 und int. RC-Osz.

Gast #112492
Lesenswert?

Hallo,

ich habe ein Problem mit der Datenübertragung per RS232. Ich verwende
als Spannungsversorgung einen LM2575 um einen möglichst großen
Eingangsspannungsbereicht zu haben. Mein ATMega8515 läuft mit 8MHz die
vom internen RC-Oszillator erzeugt werden. Manchmal treten bei der
seriellen Datenübertragung Fehler auf. Wenn ich statt des internen
Oszillators einen externen Quarz für den Takt verwende, oder statt des
LM2575 einen 7805, dann treten die Fehler nicht auf. Da ich aber schon
einige Platinen geätzt habe, möchte ich die Änderung auf ext. Quarz
nicht machen, da ich sonst neue Platinen machen müsste. Auch möchte ich
nicht auf den 7805 ausweichen, weil ich sonst ebenfalls neu Platinen
fertigen müsste und den großen Eingangsspannungsbereich nicht mehr
hätte. Zusätzliche Kondensatoren an der 5V-Versorgung des MC haben
keine Besserung gebracht. Hat jemand eine Idee wie man das (einfach)
lösen kann?
Gast #112493
Lesenswert?

Wenn Deine Taktfrequenz aus den vor Dir genannten Gründen nicht stabil
genug ist und Du daran nichts ändern kannst, würde ich an Deiner Stelle
probieren:

1. Geh mit der Baud-Rate so wo weit runter wie möglich,
2. Übertrage immer nur möglichst kleine Datenpakete auf einmal und
   mach dazwischen Pausen.


Gruß, Michael
Gast #112495
Lesenswert?

OK, den Teil im Datenblatt habe ich gefunden. Aber ich verstehe das
nicht so ganz. Da steht: This can be done by first reading the
signature row by a programmer, and then store the calibration values in
the...
Was ist die signature row und wie kann man die auslesen..????
Gast #112496
Lesenswert?

Welchen Programmer verwendest du?
Mit dem STK500/AVR-Studio kannst im Programmiertool unter "Advanced"
die cal.bytes für die verschiedenen Frequenzen auslesen  und im
"normalen" Flash oder EEProm speichern. Dort kann sie dann im
Programm lesen und in das OSCAL-Register schreiben.
Ich persönlich nehme lieber einen SMD-Resonator, wenn es in der
Anwendung auf halbwegs genaues Timing ankommt (RS232 gehört für mich
dazu). Neben der sowieso schon vorhandenen Ungenauigkeit kommt noch
Drift durch Temperatur und Spannung, und nach Murphy gleicht sich da
nicht etwa was aus, sondern summiert sich prinzipiell in Richtung des
grösstmöglichen Fehlers.
#112502
Lesenswert?

Irgendwo steht auch, daß der RC nicht stabil genug für RS-232 ist.

Entweder Du baust eine Baudratenerkennung ein oder nimmst einen Quarz.

Ansonsten ist es nur Glückssache, daß es klappt.
Für reine Hobbyprojekte kann man es ja machen, aber die paar Cent für
nen Quarz zu sparen macht einfach keinen Sinn.

Ich würds jedenfalls nicht riskieren, daß die Schaltung bei kalten
Wintern oder heißen Sommern aussteigt.


Peter

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