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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.