Forum: Mikrocontroller und Digitale Elektronik AVR Uhrenquarz und RS232


von Peter R. (gelb)


Lesenswert?

Hallo,

ich habe derzeit einen ATmega88 mit 32,768kHz - Quarz (asynchron) für 
die RTC, die im Power-Save-Mode bei 5µA Stromverbrauch weiterläuft.

Als schneller Haupttakt für den Wachzustand (des Controllers!) ist dann 
leider nur noch der interne RC-Oszillator möglich.

Ich muss aber RS232 mit 115,2kBaud betreiben und brauche eigentlich 
einen Baudratenquarz, z.B. 7,3728 MHz.

Welche Möglichkeiten gibt es, den Haupttakt genauer zu machen? Externer 
Oszillator? Anderer Controller (selbe Familie, nicht SMD)?

Auf externe RTC bin ich selbst schon gekommen, ist aber nicht elegant.

Grüße, Peter

von so nicht (Gast)


Lesenswert?

Na. Den internen RC auf den externen 32kHz synchronisieren. Sind ein 
paar duzend ASM Zeilen.

von Benedikt K. (benedikt)


Lesenswert?

@Peter
Der interne Oszillator reicht für den UART, wenn man ihn ab und zu 
nachregelt. Als Referenz dient dann der 32kHz Quarz. Schau mal bei 
Atmel, da gibt es einige AppNotes zu dem Thema, und auch fertigen Code.

von Carsten (Gast)


Lesenswert?

.. oh doch, leider zu genau.

wenn ihr sowas vorhabt nehmt eine RTC mit integriertem Quarz
und wenn notig mit int. Bat.

von Peter R. (gelb)


Lesenswert?

@  so nicht (Gast)

meinst du synchronisieren mit Hilfe von Software-UART?

Bei Änderung des Kalibrierbytes sind die Sprünge in der Frequenz zu 
groß. Da kommt nur entweder zu viel oder zu wenig raus.

Grüße, Peter

von Carsten (Gast)


Lesenswert?

@ Peter Roth

>Welche Möglichkeiten gibt es, den Haupttakt genauer zu machen? Externer
>Oszillator? Anderer Controller (selbe Familie, nicht SMD)?

das ist der falsche Weg!

@ Gesäßvioline

Du scheinst Dich auszekennen!

von Falk B. (falk)


Lesenswert?

@ Peter Roth (gelb)

>meinst du synchronisieren mit Hilfe von Software-UART?

Nein, er meinte die Kalibrierung des interen RC-Oszillators per OSCCAL.

>Bei Änderung des Kalibrierbytes sind die Sprünge in der Frequenz zu
>groß. Da kommt nur entweder zu viel oder zu wenig raus.

Probiert oder nur eine Vermutung? Wenn einige sogar OHNE Kalibrierung 
den UART betrieben. Und für RS232 mit dem PC reichen +/-3%.

MFG
Falk

von Peter R. (gelb)


Lesenswert?

@ Benedikt K. (benedikt)

Danke für den Tip, habe die Applikation zur Syncronisation gefunden. 
Abgleich auf +/- 2% ist möglich. Bei niedrigeren Frequenzen ist die 
OSCCAL-Kurve zumindest beim ATmega88 flacher als bei höheren Frequenzen, 
so dass ich meine heißgeliebten 7,37.. MHz vielleicht genauer als 2% 
hinbekomme.

Grüße, Peter

von eProfi (Gast)


Lesenswert?

Es geht sehr gut und genau mit OSCCAL.
<Reim>
Der Butterfly wird genau so betrieben,
dort ist es auch sehr schön beschrieben.
</Reim>
lies mal dort nach.

von Peter R. (gelb)


Lesenswert?

@  Falk Brunner (falk)

>>Bei Änderung des Kalibrierbytes sind die Sprünge in der Frequenz zu
>>groß. Da kommt nur entweder zu viel oder zu wenig raus.

> Probiert oder nur eine Vermutung? Wenn einige sogar OHNE Kalibrierung
> den UART betrieben. Und für RS232 mit dem PC reichen +/-3%.

Im Datenblatt werden 0,5% empfohlen, ab dann steigt das Fehlerrisiko. 
Aber nur bei kritischen Anwendungen (large serial frames etc.) Daher 
meine Weisheit.

Aber wenn 3% genügen, klappt das ja mit OSCCAL - Synchronisierung.

Grüße, Peter

von rene (Gast)


Lesenswert?

Die Appnote von Atmel bezueglich Synchronisation des RC auf einen 32kHz 
Quartz ist Schrott, die verpuffen viel zuviel Code fuer so eine 
Trivialitaet. Ich hab's mit 60 Zeilen ASM geschafft.
http://www.ibrtses.com/embedded/avrosccal.html

von hans (Gast)


Lesenswert?

Hallo Peter,

denn internen Oszillator kann man wundebar verbiegen und abgleichen.

Bei einem Mega8 habe ich den 4MHz Oszillator auf 4,9152MHz verbogen
durch einen Abgleich mit 32,768Khz beim Start.
Danach wird alle 8 Sekunden (Überlauf vom 32,..) kontrolliert durch denn
Wert eines schnellen Zählers (LED-Multiplex mit ca. 400 Hz) und fein 
nach-
geregelt (OSSCAL+-1).

Top Ergebnis auch bei aufheizen (Heisluft) bis 80° und Betrieb bei
3,3Volt.

Für RS232 locker ausreichend!

gruß Hans

von Peter R. (gelb)


Lesenswert?

Danke an alle, die geantwortet haben. Das Problem sollte nun gelöst 
sein.

Grüße, Peter

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.