mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Xmega mit externem 32,768kHz kalibrieren


Autor: Venga Ahnungslos (venga)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: GG (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joachim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: GG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Venga Ahnungslos (venga)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.