XMega128A1 RTC mit externem Takt (nicht Quarz oder Oszillator)

OP #3677886
Lesenswert?
• ▲
▼
Hallo,

ich möchte einen Timer vom XMega128A1 mit einem externen Takt aus einer 
DS3234 versorgen. Da das nachdem, was ich dem Datenblatt so entnehmen 
kann, nur mit dem RTC geht, wollt ich diesen auch verwenden. Nun steht 
in der Übersichtdarstellung des RTC auf S.188 die Auswahlmöglichkeit 
"External Clock" an TOSC1. An andere Stelle steht aber, dass TOSC nur 
für Quarze geht. Nun bin ich etwas verunsichert. Kann ich an TOSC1 
einfach ein Rechtecksignal anlegen? Wie bekomme ich alternativ den Takt 
an den Timer?

Grüße, Alex
#3678035
Lesenswert?
• ▲
▼
--> Wieso willst du überhaupt einen externen Quarz verwenden? Der 
Platzbedarf und Aufwand sprechen da doch total dagegen. Außerdem 
funktioniert ein Quarz doch ganz prima.

--> Aber gut, wenn du das trotzdem probieren willst, stellst du einfach 
auf einen externen Oszillator um. Am OSC1 Pin musst du dann das Signal 
anlegen. Besser ist natürlich Sinus als Rechteck. Dann im Programm noch 
den Takt übernehmen und fertig. Dauerlösung ist das aber auf keinen 
Fall! Diese Methode eignet sich jedoch gut zum Reparieren von verfusten 
AVRs.

mfg mega9
OP #3678069
Lesenswert?
• ▲
▼
Hallo,

danke für Eure Antworten. Ich möchte ja nicht den Controller mit dem 
Takt betreiben, sondern lediglich den Timer. Der interne Oszillator ist 
für meine Zwecke viel zu ungenau und egal was ich über die DFLL lese, 
alle tuen sich schwer damit, und wenn ich das Errata lese, scheint da ja 
auch noch einiges im Argen zu liegen. Beim Mega war das kein Thema, da 
gab's für den Timer2 einen separaten Takteingang. Den vermisse ich 
gerade sehr.

Grüße, Alex
Gast #3678096
Lesenswert?
• ▲
▼
Hallo Alexander

Ich kann Marcel nur recht geben. Das XMega Event System kann einen Pin 
als Taktgeber für einen beliebigen Timer weiterreichen.

Man muss dazu die Taktquelle des Timers auf einen Event-Kanal stellen, 
etwa so:
TCxy.CTRLA = TC_CLKSEL_EVCHz_gc;

Und anschlißend den Pin Events generieren lass und diese auf den selben 
Event Kanal legen:
PORTx.PINyCTRL = PORT_ISC_FALLING_gc;
EVSYS.CHzMUX   = EVSYS_CHMUX_PORTx_PINy_gc;

da1l6

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.