G'day all A couple of (theoretically) simple questions, which I haven't found definitive answers to elsewhere; - Normally, the instruction speed is 1/4 that of the crystal (ie. 5MHz with a 20MHz crystal), correct?; with PLL enabled, does that then mean that the instructions run at the same speed as the crystal? If so, any disadvantages? - Seems there are limits to the above; for the chip I am currently playing with (PIC18F2620) (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010284), [1] it seems to say that you can only use PLL for " frequencies up to 10 MHz. A PLL then multiplies the oscillator output frequency by 4 to produce an internal clock frequency up to 40 MHz"; so does that mean if a 10MHz crystal is used with PLL, the internal clock runs at 40MHz, but the 1/4 instruction cycle means the instructions run @ 10MHz? So a 10MHz crystal with PLL gives an instruction speed of 10MHz, as opposed to the 2.5MHz without PLL? - MIPS. A newer, cheaper chip that I am looking at with similarish specs, the PIC24FJ64GA104 (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en536114), [2] says it can run @ "Up to 16 MIPS Operation @ 32 MHz"; how are these figures figured out? With the 18F2620 it says up to 10MIPS, which I can relate to 10MHz crystal with PLL (4x 10 = 40, 40/4 = 10), are the 24F chips running at one instruction every _2_ cycles instead of every 4 maybe? As per my previous posts, I'm attempting to play basic sound from internal memory, it's working OK but I think I need to squeeze some more speed out for room to breath, especially if I'm going to be doing any other calculations at the same time (sound is 8bit 16kHz mono, so interrupting and processing every 62.5us; actually interrupting every 31.2us and doing the routine every second interrupt, closest method I could find to get the right speed). So instead of using a 20MHz straight crystal, am I better off with a 10MHz combined with PLL? Oh, and for those playing at home, an issue I was having writing values via variable to PWM turned out to be a compiler error; it was putting in the same value no matter what the variable held. Fixed with a compiler update. Thanks again Lee Links: ------ [1] http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010284), [2] http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en536114), -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist