ATMega8 Uhr mit Quarz

Gast #1656795
Lesenswert?
• ▲
▼
Moin,

klarer Fall von Buffer Overflow beim Nutzer :-) Nach Lektüre des des 
Data Sheets von Atmel und zig Links zum Thema stehe ich gerade auf dem 
Schlauch:

Ich möchte eine einfache aber ganggenaue Uhr mit Uhrenquarz am AtMega8 
realisieren. Der Atmel soll die Zeit auf 7-Segmenter im Multiplex 
brüllen, wobei der Atmel später ggf mit Unterspannung 
(Batterieakkubetrieb mit ~3,6V) betrieben werden soll.

Wieviele Quarze benötige ich? Einen Main (zB. 4 Mhz) und den Uhrenquarz?
Oder reicht der Uhrenquarz alleine, wobei ich dann nicht sicher bin wie 
sich dann der interne Taktgeber verhält, gerade wenn ich die Spannung 
absenke.

Wenn 2 Quarze benötigt werden, wie werden sie am AtMega8 beschaltet?
Tosc1/2 für den Uhrenquarz als ext. Timer und wohin käme der Main?
#1656810
Lesenswert?
• ▲
▼
Eigentlich brauchst du nur den internen und den externen Uhrenquarz. Der 
Uhrenquarz geht zum Timer/Counter. Der löst dann einen Interrupt aus und 
du zählst gemütlich deine Uhr hoch. Dann gehst du wieder in den 
Sleep-Modus wenn du gerade nichts anderes machen musst. Gibts auch ne 
Application Note von Atmel: 
http://atmel.com/dyn/resources/prod_documents/doc1259.pdf
und http://atmel.com/dyn/resources/prod_documents/Avr134.zip
#1656813
Lesenswert?
• ▲
▼
yenlo schrieb:
> Ich möchte eine einfache aber ganggenaue Uhr mit Uhrenquarz am AtMega8
> realisieren.

Schau mal hier:

http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

> Wieviele Quarze benötige ich? Einen Main (zB. 4 Mhz) und den Uhrenquarz?
> Oder reicht der Uhrenquarz alleine, wobei ich dann nicht sicher bin wie
> sich dann der interne Taktgeber verhält, gerade wenn ich die Spannung
> absenke.

Ein Quarz reicht. Die Frequenz sollte so hoch sein, dass der µC mit all 
seinen Aufgaben zurecht kommt. Je nachdem, wie Du die Hardware auslegst, 
genügen vielleicht schon z.B. 2 MHz.

Ein Quarz bedeutet: Ein Takt. Um Sekunden zu zählen, brauchst Du einen 
Takt mit 1Hz. Sowas gewinnt man aus dem "Haupttakt" z.B. über einen der 
Timer im CTC-Modus, möglicherweise mit nachgeschaltenem 
Software-Postscaler in der ISR. So kriegt man z.B. den Sekundenzähler 
und die Multiplex-Ansteuerung des Displays recht einfach unter einen 
Hut.

Im Standby-Modus (Display aus) kannst Du den µC dann zwischen den 
Overflow- Interrupts des Timers in den Schlafzustand versetzen, das 
spart Energie. Wenn Du nicht von vorne herein eine 
Ultra-Super-Low-Power-Applikation entwickeln willst, dann kannst Du ja 
mal mit einem Quarztakt von 8 MHz anfangen. Den Quarz kannst Du dann ja 
später gegen ein langsameres Exemplar austauschen.

Alles klar? ;-)

Stephan
#1656825
Lesenswert?
• ▲
▼
Stephan M. schrieb:
> Im Standby-Modus (Display aus) kannst Du den µC dann zwischen den
> Overflow- Interrupts des Timers in den Schlafzustand versetzen, [...]

Hm, da kam mal wieder Quatsch an meiner Tastatur an...

Den µC kannst Du zwischen den Timer-Interrupts in den Standby-Modus 
fahren, um Strom zu sparen, egal, ob das Display an oder aus ist.

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.