Forum: Mikrocontroller und Digitale Elektronik xmega 16MHz Quarz und PLL


von Dirk (Gast)


Lesenswert?

//noch läuft der Chip auf 2 MHz RC
//16MHz-Quarz benutzen

  OSC.XOSCCTRL = OSC_FRQRANGE_12TO16_gc | OSC_XOSCSEL_XTAL_16KCLK_gc; 
//Siehe iox128a3.h

  CLK.PSCTRL = 0;                //Prescaler A B C ohne Funktion

  OSC.CTRL = OSC_XOSCEN_bm;             //Quarz einschalten

  while(! (OSC.STATUS & OSC_XOSCRDY_bm) ){ _delay_ms(5);}
    //Warte, bis Quarz stabil wenn nicht stabil delay

  CCP = CCP_IOREG_gc;               //CCP_SPM_gc; //Signatur

  CLK.CTRL = CLK_SCLKSEL_XOSC_gc;             //Quarz als Takt benutzen

    //Jetzt sollte der Chip auf 16 MHz Quarz laufen
  //PLL konfigurieren

  OSC.PLLCTRL = OSC_PLLFAC1_bm | OSC_PLLSRC_XOSC_gc;
         // * 2 ; 11: Ext.Clock (Quarz)

  OSC.CTRL |= OSC_PLLEN_bm;
         //PLL einschalten

  while(! (OSC.STATUS & OSC_PLLRDY_bm ) ){ _delay_ms(5);}      //Warte, 
bis PLL stabil wenn nicht stabil delay

  CCP = CCP_IOREG_gc;               //CCP_SPM_gc; //Signatur

CLK.CTRL = CLK_SCLKSEL_PLL_gc;              // PLL als Takt benutzen

         //Jetzt sollte der Chip auf 32 MHz laufen
}
Leider tut er des aber nicht.
Wo könnte das Problem liegen.
MfG Dirk

von Dirk (Gast)


Lesenswert?

Keiner eine Idee?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hast Du im Manual zufällig etwas über Configuration Change Protection 
gelesen? Das könnte es sein.

von GG (Gast)


Lesenswert?

Servus,

lade Dir mal den CodeWizardAVR 2.04.6 Evaluation 
http://www.hpinfotech.ro/ runter. Der CodeWizardAVR für Xmega ist ist 
für Anfänger unverzichtbar.

Desweiteren einige Beispiele: AVR1003: Using the XMEGA Clock System 
Application Note
http://www.atmel.com/dyn/genera l/tech_doc.asp?doc_id=11479

Sinn macht auch die Deaktivierung der nicht benötigten Taktquellen.

Zum Beispiel:

// Disable the unused oscillators: 2 MHz, internal 32 kHz, PLL
OSC.CTRL&= ~(OSC_RC2MEN_bm | OSC_RC32KEN_bm | OSC_PLLEN_bm);


Gruß GG

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.