Kirk Humphries

Pierce Oscillator does not oscillate

Discussion created by Kirk Humphries Employee on Jan 27, 2006

This message contains an entire topic ported from a separate forum. The original message and all replies are in this single message. We have seeded this new forum with selected information that we expect will be of value to you as you search for answers to your questions.

 

Posted: Sat Dec 3, 2005  11:46 pm

 

We have used the Motorola appnote Designing Hardware for the HCS12 D-Family and used the Pierce oscillator cct. The cct does not oscillate; feeding an external clock into the micro will cause the micro to talk via the bdm. But just using the crystal oscillator it is dead. We used 1M ohm reistor in parallel with the 20pf, 16mhz crystal and 22pf cap to xtal signal and the other side to gnd, and a 1nf cap on the extal signal then the other side of the cap to gnd. MODC is tied to gnd, MODA and B are floating (we have tried both to gnd and floating but the cct will not oscillate). The crystal is from ECS and is a HC49U-V 16mhz (I think series resonant, whatever the standard crystal is).

 

But it does not oscillate; can anyone suggest a way to look at the cct and signals to troubleshoot this? Using an scope with it's loading would affect the cct I would think. Or is there a better set of values we should use for the resistor and cap. All the traces are correct. The board is a 4 layer, with power and gnd in the middle.

 

Thanks in advance for the help.

 


 

Posted: Sun Dec 4, 2005  1:04 am

 

> We have used the Motorola appnote Designing Hardware for the HCS12

> D-Family and used the Pierce oscillator cct. The cct does not oscillate;

> feeding an external clock into the micro will cause the micro to talk

> via the bdm. But just using the crystal oscillator it is dead. We used

> 1M ohm reistor in parallel with the 20pf, 16mhz crystal and 22pf cap to

> xtal signal and the other side to gnd, and a 1nf cap on the extal signal

> then the other side of the cap to gnd. MODC is tied to gnd, MODA and B

 

the pierce oscillators I have seen so far all had equal values for the two capacitors and the series capacitance of both should match the load capacitance of the crystal, so, in your case, about 39pF each, experimenting may be needed.

 

> are floating (we have tried both to gnd and floating but the cct will

> not oscillate). The crystal is from ECS and is a HC49U-V 16mhz (I think

> series resonant, whatever the standard crystal is).

 

Not sure why you are playing with the MOD pins as I don't see any relationship to oscillator workings. What I do miss though is your treatment of /XCLKS, that should be set to "0" during the rising edge of /RESET to enable the internal oscillator circuitry.

 


 

Posted: Sun Dec 4, 2005  7:32 am

 

Here are a couple of things that may help to get your Pierce Oscillator working:

 

1. In most Pierce oscillator applications the two caps between GND and the two sides of the crystal are equal in value (on the range or 10pF - 39pF in my experience).

 

2. You write that MODC is tied to GND, and MODA and MODB are floating. This will force the part into Special Single Chip mode. Is this your intention? Usually MODC/BGND is tied high using a pull up, so the CPU will Reset into Normal Single Chip mode that most applications are using. (This does not conflict with BDMs since BDMs drive MODC/BKGD low during Reset, to overcome the pull-up resistor).

 

3. You didn't mention which HCS12 part you are using. Note that the MC9S12DP256 / B / C parts (mask sets 0K36N, 0K79X, 1K79X and 2K79X) don't support the Pierce crystal configuration - only Colpitts crystal or an external square wave clock. (All other HCS12D family parts do support the Pierce crystal configuration).

 

4. To select the Pierce crystal configuration you need to drive PE7/XCLKS low during Reset. Note that PE7 has an enabled internal pull-up resistor during Reset, so in order for an external pull-down resistor to supply a sufficiently low logic 0 during Reset (to select the Pierce oscillator configuration), you need to select a sufficiently low value for the pull-down resistor (a value in the range of 1Kohm - 4.7Kohm is a good selection for this pull down resistor in my experience).

 


 

Posted: Mon Dec 5, 2005  4:19 am

 

> 2. You write that MODC is tied to GND, and MODA and MODB are floating. This

> will force the part into Special Single Chip mode. Is this your intention?

> Usually MODC/BGND is tied high using a pull up, so the CPU will Reset into

> Normal Single Chip mode that most applications are using. (This does not

> conflict with BDMs since BDMs drive MODC/BKGD low during Reset, to

> overcome the pull-up resistor).

 

It seems the biggest problem is that if you force special mode then it does not begin executing code from the Reset Vector, but instead wait for BDM instructions. Those would not be received because BKGD is tied low. The symptom you would see is nothing executing, same as if there were no clock.

 


 

Posted: Mon Dec 5, 2005  11:49 pm

 

Thank you everyone, for the helpful replies; I will post what the solution is once we get the cap's to change the oscillator around. Why we used different caps on the two legs I have to find out, but I bet this is the problem.

 

But regarding the MODB, MODA lines, the processor works correctly with a canned oscillator on extal and with xclks, MODC, tied low but MODB and A floating. The spec says there is a pulldown resistor on MODB and A, and these signals are only checked out of reset... putting the processor into Normal single chip mode. Or so I am hoping, or we have to change the board.

 

"PE6 is a general purpose input or output pin. It is used as a MCU operating mode select pin during reset. The state of this pin is latched to the MODB bit at the rising edge of RESET. This pin is shared with the instruction queue tracking signal IPIPE1. This pin is an input with a pull-down device which is only active when RESET is low."

 


 

Posted: Tue Dec 6, 2005  12:31 am

 

> But regarding the MODB, MODA lines, the processor works correctly with a

> canned oscillator on extal and with xclks, MODC, tied low but MODB and A

> floating. The spec says there is a pulldown resistor on MODB and A, and these

> signals are only checked out of reset... putting the processor into Normal

> single chip mode. Or so I am hoping, or we have to change the board.

 

Pulldown is rather weak, and in presence of noisy environments it's good to have reliable and "strong" logic levels on such important mode selection inputs.

 

Best regards,

Outcomes