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!!!
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
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
DFLL auf dem Xmega128A1 ist Defekt -> Datenblatt Kapitel "Errata". Überhaut ist bei den Xmegas ziemlich viel in den Fritten, um nicht zu sagen, das sind Drecksteile.
@ Hannes Jaeger (pnuebergang) >Überhaut ist bei den Xmegas ziemlich viel in den Fritten, um nicht zu >sagen, das sind Drecksteile. NBöö, das kommt raus, wenn man Produkte übereilt auf Krampf an den Markt bringt. MfG Falk
Ist doch egal warum die kaputt sind. Ich arbeite momentan nicht mehr mit Xmegas, weil jede zweite Funktion, die ich brauchte und angefasst habe, irgendeine Macke hatte. Mit diesem Glück sollte ich Lotto spielen.
Hallo, er meint natürlich den Port, an dem der 32 khz Quarz hängt. PQ0 85 SYNC TOSC1 PQ1 86 SYNC TOSC2 Gruß GG
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ß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.