Internal PLL

Status
Not open for further replies.

mynameisdan

New Member
I'm running the PIC18F4550 on a 20Mhz crystal, is there any way I can use the PLL to run it at 40Mhz? I'm a bit confused on the fuse settings, as it seems the PLL is only for USB?

As an off-topic question too, does anyone know where I can find a simple bootloader to program the PIC via USB?
 
Hi,

No experience with the 4550 although have used the PLL and external xtal in a 4520. Just down loaded the 4550 data sheet. Looks like you will be able to get 48MHz from your 20MHz xtal but not 40MHz: 20MHz / 5 to get 4MHz for input to PLL. Then 96MHz PLL output / 2 to give 48MHz.
 
Section 2.2.4 on page 27 of the data sheet says

PIC18F2455/2550/4255/4550 devices include a Phase Locked Loop (PLL) circuit. This is provided specifically for USB applications with lower speed oscillators and can also be used as a microcontroller clock source.

So, it sounds like it doesn't have to be used just for the USB module.
 
zne147! Thats how I read it as well the data sheet for these USB devices are very vague on this issue.

Cheers Ian
 
I'm running the PIC18F4550 on a 20Mhz crystal, is there any way I can use the PLL to run it at 40Mhz? I'm a bit confused on the fuse settings, as it seems the PLL is only for USB?

Yep the PLL works for the main clock as well. For example I had these settings for my '4550 to run at max speed (12MIPS):
Code:
        CONFIG	FOSC = HSPLL_HS               ; XT oscillator, XT used by USB
	CONFIG	CPUDIV = OSC1_PLL2	      ; Divide PLL output by 2 (96MHz/2 = 48 MHz clock for CPU)
	CONFIG	PLLDIV = 2		      ; PLL Divide by 2 (8MHz Crystal)
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…