Here is the datasheet of the crystal (32 MHz) that I use for a MCU.
The right layout is an older version of my board which totally works fine. The left one is the newer version where I placed the components closer to each others (as well as the crystal). However, the 32 MHz crystal does not work properly on the new board ( I carefully assembled three of them).
I measured the pins of crystal by an oscillator, and I see the logic level of pins goes a higher, but don't oscillate. In addition, my code gets stuck on clock initialization.
Basically everything is the same, apart from the distance of the components.
What I did so far to debug the problem is that:
- I replaced the crystal and load caps with the new ones and the ones from the old board that works for sure. It didn't help
- pins of the crystals are measured by an oscillator, but there is no oscillation on the pins (the board has a 32k crystal as well, that one works fine).
- I tested the same SW on different designs that the SW works correctly and it should be HW problem.
- The orientation of the crystal is assembled correctly for sure, I use known brand capacitors (Murata and Kemet).
- I inspected crystal's path to the MCU by a microscope and the solder on the pins looks fine.
Left side of CC321 bypass cap belongs to VCC path, and it might be too close to the crystal's In/Out pin (>0.2 mm). I wonder if it could be the problem that high frequency signal couples with the VCC path?
I removed the C321 but did not observe anything different.
Does anyone see any possible problem or have any suspicion or have any suggestion to debug/solve the problem?
Additional information about the Crystal:
And related-schematic view of the layout