PIC18F4458: Klockfrågor

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

PIC18F4458: Klockfrågor

Inlägg av JimmyAndersson »

Det är alltid lika kul att studera databladet när man skaffat en PIC-modell
som man inte använt tidigare. I det här fallet är det en PIC18F4458.

PDF-filen DS39887B är lite tunn, så jag har även läst mycket i DS39632D.
PIC18F4458 ger många valmöjligheter när det gäller oscillatorerna, men det gör det även svårare att välja. :)


Jag behöver köra med "fullspeed USB" och en CPU-klocka på 48MHz.
Har jag förstått rätt att man då använder en kristall på 4MHz (tänker på att det står "4MHz Input only" på sidan 24), sätter USBDIV och konfigurerar CPUDIV1:CPUDIV0 så att den delar med 2 ?

PLLDIV2:PLLDIV0 är jag lite osäker på. Ska den vara 000, dvs "No prescale (4MHz oscillator input drives PLL directly)" ?

Med tanke på att PLL'en är på 96MHz så tycker jag att det borde vara 001, dvs "Divide by 2", men i parantesen står det ju "8MHz oscillator input".

Jag fattar inte riktigt... :wacko:
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> (tänker på att det står "4MHz Input only" på sidan 24)

Det syftar på *ingången* till 96 MHz PLL'en, inte på kristallen.

Så du måste använda en kristall (eller extern klocka) som via
"PLL prescaler" kan ge just 4 Mhz in till PLL'en, d.v.s 4, 8, 12,
16, 20, 24, 40 eller 48 Mhz (alltså 4 X 1, 2, 3, 4, 5, 6, 10 eller 12).

Då får du 48 MHz till USB hårdvaran.

Sedan kan du via "Osc postscaler" och "PLL postscaler" välja
lämplig "fart" för de övriga delarna av processorn...
Skriv svar