For most of my projects I use either a 14.7456 MHz crystal (57600*256) or
20.000 MHz (for USB 96 MHz 24*f/5). The 20 MHz crystal I am using specifies a 20 pF parallel load, but my boards have 12 pF capacitors. I just noticed this and I think the value had been selected for a previous brand of crystal, but the oscillator frequencies measure pretty close to the ideal value, as follows for five boards:Board 1: 20.00258 +0.013% 130PPM Board 2: 20.00039 +0.002% 20PPM Board 3: 20.00068 +0.003% 30PPM Board 4: 20.00085 +0.004% 40PPM Board 5: 20.00073 +0.004% 40PPM
My specification is 0.02%, or 200 PPM, so all are within spec, but perhaps with the 20 pF capacitors the frequency will be much closer and variation will be positive and negative. But the application notes I found seem a bit confusing as to the correct way to figure the load capacitance:
It seems that the capacitance is determined by:
CL = (CL1*CL2)/(CL1+CL2)+CS
Where CL1 and CL2 are the load capacitors and CS is the stray capacitance, generally figured about 5 pF. So with my 12 pF capacitors the actual CL = 11 pF and with 20 pF capacitors CL = 15 pF and with 47 pF capacitors (as I think I used at one time), CL = 28.5 pF. The ideal value appears to be
30 pF. I don't know the actual stray capacitance, but it is a double sided board with 0805 SMT capacitors and a PIC18F4455 microcontroller in a TQFP-44 package. It has a value of 15 pF or the OSC2 pin but this is characterized for external clock drive into OSC1.I think the 12 pF capacitors are OK but I think I will try changing to
20 pF and see if the frequency comes in closer. The crystal itself is rated 30 PPM and 100 PPM over the temperature range. Except for board #1, I'm just about there.But the CL formula seems a bit strange. Usually, when I see product over
sum, its square root is taken, as for parallel resistors. And if one of the capacitors is zero, the other apparently has no effect, and that just seems wrong.
Paul