Forum: Mikrocontroller und Digitale Elektronik PLL und interner Oszillator bei PIC18


von Peter (Gast)


Lesenswert?

Hallo,

ich habe hier einen PIC18F2680 (unter MPLAB), bei dem der interne 
Oszillator mit 8MHz verwendet wird. Jetzt möchte ich zusätzlich die 
4x-PLL einschalten, um 32MHz zu bekommen. Momentan setzte ich die 
(meinem Verständnis nach) relevanten Register so:

OSCCON = 0b01110010;  // Interner Oszillator, 8MHz, Sleep on "sleep"
OSCTUNE = 0b11000000;  // PLL einschalten, keine Frequenzkorrektur

Allerdings schwingt der Oszillator ungeachtet der Einstellung in OSCTUNE 
immer mit 8MHz, bzw eine Warteschleife von 2 000 000 NOPS benötigt genau 
eine Sekunde.

Den folgenden Text habe ich im Datenblatt gefunden, denke aber doch, 
dass ich das korrekt konfiguriert habe?/!:

"The PLL is available when the device is configured to
use the internal oscillator block as its primary clock
source (FOSC3:FOSC0 = 1001 or 1000). Additionally,
the PLL will only function when the selected output frequency
is either 4 MHz or 8 MHz (OSCCON<6:4> = 111
or 110). If both of these conditions are not met, the PLL
is disabled.
The PLLEN control bit is only functional in those internal
oscillator modes where the PLL is available. In all other
modes, it is forced to ‘0’ and is effectively unavailable."

Naja, vielleicht hat ja jemand eine Idee, was ich hier falsch mache, und 
wie ich die PLL doch noch aktiviert bekomme.

Peter

von Peter (Gast)


Lesenswert?

Problem gelöst. Die PLL war richtig konfiguriert, allerdings muss man 
nun als Taktquelle in OSCCON:0..1 nicht den "Internal oscillator block", 
sondern den "Primary oscillator" wählen, obwohl der Takt weiterhin vom 
internen Oszillator kommt. Im Datenblatt hat es ein schönes 
"Flussdiagramm" für den Systemtakt, das mich drauf gebracht hat.

Vielleicht hilft es ja jemand, mich hat das gerade gute zwei Stunden 
Fehlersuche gekostet.

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.