Your question is very similar to one I participated in on May 11 2015. I suggest you read through it.
https://community.freescale.com/thread/355209
The above relates to an MC68332, which is a 20 year old part. It looks like newer designs can still lock up the same way if you disobey the rules in the Data Sheet.
> with the new EMI reduction clock Generator IC
> (P2781A from ON SEMI), and with this new IC we are seeing good
> 25MHZ signal generated
I'll start with what I think is your problem, then throw in some other things to look at later.
You need to capture the oscillator waveform from power-on to see if it "glitches" between having no output and being stable. You should also compare it with the old one (which didn't give you any trouble) and look for obvious differences in voltage, timing or frequency during the startup.
I expect that at some point it is violating some of the Data Sheet items for the CPU. The ones I'm considering that are in the Data Sheet are:
Vxtal, Vih, Vil,
Vihext, Vilext,
Tdc
The known ones that AREN'T listed in the Data Sheet are the minimum clock high time, minimum low time, and maximum and minimum slew rates. Some systems don't like fast slew rates, and most don't like slow slew rates (as they can trigger multiple times on a slow rising edge). The only figure given is "Tdc" which is "40% to 60%". What CPU really don't like is narrow high-going or low-going pulses on the clock input. That can wedge the internals of the CPU, which is what you're seeing.
Here's what can happen with a simple oscillator. Crystals take a while to start, often 10ms or more. As they build up resonance, their output voltage starts from zero, and usually looks like an increasing amplitude sin wave. As this voltage passes through the threshold of whatever gate or chip is receiving that signal, the output starts switching. It must be tricky to come up with a design that doesn't start generating (say) 10%/90% duty cycle, and only gets to 50%/50% when the crystal voltage is at full amplitude. If you get "glitches" on startup the internals of the CPU can get into states they can't get out of.
The On Semi chip looks pretty sophisticated, and like it might actively avoid doing this. You should still check with an oscilloscope. You might also want to check the Loop Filter you have on it.
Check Trivt. Is Reset asserted from power-up and held low until after the clock input is stable? Maybe the new oscillator takes longer to start than the reset assertion time?
Have you read the Errata? Specifically "SECF195: OSC: Limited input voltage range on EXTAL pin"? You have to have a resistive divider between the oscillator and the EXTAL pin.
Is the oscillator running from the same power supply as the CPU? Are there any separate supply of filter paths that might have the rails for the CPU and Oscillator not tracking each other?
How fast or slow is your power supply startup? Does it get from 0 to 3.3V in microseconds, does it "slow-start" over tens of milliseconds or somewhere inbetween? At what point during the ramp does the POR controller start driving reset LOW (or is it pulled low from startup properly)? At what point during the ramp does the oscillator start generating output? Where is it during the startup, low, following VCC or somewhere in the middle (bad)? Can you fix the problem with a high value pullup or pulldown resistor on EXTAL?
Tom