Xmega mit externem 32,768kHz kalibrieren

OP #1658579
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich möchte gerne einen Xmega128A1 bei einem internen clock von 32MHz 
betreiben, der über einen externen 32,768kHz abgeglichen werden soll.
Leider fuktioniert dieses bei mir aber nicht, der externe Quarz fängt 
nicht an zu schwingen. Der uC gibt nur eine Gleichspannung von 0,5V auf 
beide TOSC Pins(PORTQ PIN 0&1).
Nach mehrmaligen durchschauen der Datenblätter bin ich mir relativ 
sicher, dass dies nicht mehr an einer falschen Register belegung liegen 
kann.
Mir stellt sich noch die Frage, wie ich die Ports einstellen soll die 
stehen momentan auf Input, habe aber auch schon einen auf Out (Totempole 
ohne Pull-...) gestellt. Aber es gab keine Veränderung.

Schon mal vielen Dank!!!
Gast #1658674
Lesenswert?
• ▲
▼
Hallo,

mein Code:

//32Mhz  Interner Takt (kalibriert mit 32 khz Quarz)atxmega128a1 Pin 
85/86

Aufruf:  system_clocks_init_32mhz();


void system_clocks_init(void)
{
unsigned char n,s;
s=SREG;
cli();

// External 32,768 kHz oscillator initialization
// External 32.768 kHz crystal oscillator low power mode: On
OSC.XOSCCTRL=OSC_X32KLPM_bm | OSC_XOSCSEL_32KHz_gc;
OSC.CTRL|=OSC_XOSCEN_bm;
while ((OSC.STATUS & OSC_XOSCRDY_bm)==0);
// Internal 32 MHz RC oscillator initialization
// Enable the internal 32 MHz RC oscillator
OSC.CTRL|=OSC_RC32MEN_bm;
n=(CLK.PSCTRL & 
(~(CLK_PSADIV_gm|CLK_PSBCDIV1_bm|CLK_PSBCDIV0_bm)))|CLK_PSADIV_1_gc|CLK_ 
PSBCDIV_1_1_gc;
CCP=CCP_IOREG_gc;
CLK.PSCTRL=n;
// Internal 32 MHz RC osc. calibration reference clock source: 32.768 
kHz Ext. Crystal Osc.
OSC.DFLLCTRL=(OSC.DFLLCTRL & (~OSC_RC2MCREF_bm)) | OSC_RC32MCREF_bm;
DFLLRC32M.CTRL|=DFLL_ENABLE_bm;
while ((OSC.STATUS & OSC_RC32MRDY_bm)==0);
n=(CLK.CTRL & (~CLK_SCLKSEL_gm)) | CLK_SCLKSEL_RC32M_gc;
CCP=CCP_IOREG_gc;
CLK.CTRL=n;
OSC.CTRL&= ~(OSC_RC2MEN_bm | OSC_RC32KEN_bm | OSC_PLLEN_bm);
n=CLK.LOCK | CLK_LOCK_bm;
CCP=CCP_IOREG_gc;
CLK.LOCK=n;
PORTCFG.CLKEVOUT=(PORTCFG.CLKEVOUT & (~PORTCFG_CLKOUT_gm)) | 
PORTCFG_CLKOUT_OFF_gc;
SREG=s;
}


Gruß GG
Gast #1658719
Lesenswert?
• ▲
▼
Hallo

Ohne den Processor jetzt zu kennen: Warum sollte er den
außen eventuell oder auch nicht angebrachten Quarz zum Schwingen
bringen, wenn du ihm sagst, er soll den inneren nehmen?


Gruß
Joachim
OP #1662592
Lesenswert?
• ▲
▼
Leider funktioniert das kallibrieren über den externen Quarz, auch mit 
euren Ratschlägen, immer noch nicht. Ich werde jetzt mal schauen, wie 
ich herausfinden kann ob der Quarz vielleicht defekt ist. Ich habe jetzt 
alle Clock einstellungen des Xmega durch wo der externe Quarz 
angesprochen wird. KEINE ÄNDERUNG DES PORBLEMS!

Falls ich noch etwas herausfinde lasse ich es euch wissen.

Gruß

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.