Forum: Mikrocontroller und Digitale Elektronik ASF auf dem AVR32: clock durch PLL läuft nicht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von brechpunkt (Gast)


Lesenswert?

Hallo,

ich habe einen AT32UC3 und verwende Atmels ASF. Mit internem clock kann 
ich debuggen. Als Quarz habe ich 16MHz bestückt. Die CPU soll mit 66MHz 
laufen.

Nun möchte ich den Quarz verwenden und habe unten stehende settings. 
Allerdings hängt sich die Initialisierung bei der Abfrage auf 
pll_is_locked() auf.

Ein Oszi zum Messen ob der Quarz überhaupt schwingt habe ich leider 
nicht daheim. Aber ich vermute, dafür bräuchte man dann eh ein gutes mit 
sehr hohem Innenwiederstand.

Falls es an meinen Einstellungen liegt, kann mir jemand einen Tipp geben 
was schief läuft?

conf_clock.h:
1
#define   FOSC0   16000000UL
2
3
/* ===== PLL0 Options
4
 * Configure the PLL0 module to use external crystal oscillator OSC0 as
5
 * its source: */
6
/* Fpll0 = (Fsource * PLL_mul) / PLL_div
7
         = (16 MHz * 33 ) / 4 = 132 MHz */
8
#define CONFIG_PLL0_SOURCE            PLL_SRC_OSC0
9
#define CONFIG_PLL0_MUL               33
10
#define CONFIG_PLL0_DIV               4
11
12
13
// ===== System Clock Bus Division Options
14
/* Fbus = Fsys / (2 ^ BUS_div) */
15
/* cpu runs at 66 MHz */
16
#define CONFIG_SYSCLK_CPU_DIV         1
17
#define CONFIG_SYSCLK_PBA_DIV         1
18
#define CONFIG_SYSCLK_PBB_DIV         1
19
#define CONFIG_SYSCLK_PBC_DIV         1

von brechpunkt (Gast)


Lesenswert?

Hat keiner eine Idee?

Kann man denn das Schwingen vom Quarz mit einem Oszi messen? Oder würde 
das Signal dann in die Knie gehen?

Eventuell könnte ich in der Arbeit fragen, ob ich mal messen darf.

von Christian H. (christian_h849)


Lesenswert?

brechpunkt schrieb:
> /* Fpll0 = (Fsource * PLL_mul) / PLL_div
>          = (16 MHz * 33 ) / 4 = 132 MHz */



Hallo,

Deine eingestellte Taktfrequenz ist: 132 MHz

und soviel ich mal aus einem Tutorial gelesen habe errechnet sich die 
Frquenz auch bissl anders:

fvco=(PLLMUL+1)/(PLLDIV)*fosc

Das Tutorial habe ich auch noch schnell gesucht:
https://www.mikrocontroller.net/articles/AT32UC3C_-_Einstieg_in_die_Programmierung

Gruß Christian

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]
  • [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.