This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5438A Oscillator(32.768KHz ) problem

Other Parts Discussed in Thread: CC1120, MSP430F5438A

Hi,

I am trying to design application specific board of TrxEB boards using MSP430F5438A and CC1120 at 434MHz. I have designed the PCB for some boards it is working fine, but for some others I am getting oscillator problem. I am using MC-306 (32.768MHz) oscillator with 15pF capacitors. The board is four layer and below the oscillator, there is a ground plane at a distance of 0.35mm. The ground plane is also there on top layer. I tried to debug in IAR Embedded Workbench and got the following results. The firmware is running on the TrxEB board and some of the boards successfully. 

SFRIFG1 register has the problem. The values of OFIFG and VMAIFG bits remains the same as initial and the program is stuck in an indefinite loop (BD02, BD08, BD0C and BD10). The oscillator is the connected the same way in all boards. I am confused if the problem is with the oscillator, then why are the assembly instructions executing in the indefinite loop?

For more details please see the attached images.

Zahoor


  • Hi Zahoor,

    An active oscillator fault flag indicates an error with the crystal, whether it involves an improper drive strength, load capacitance or otherwise. Have you tried testing with any other load capacitor values? What percentage of boards fail? Have you ensured that the crystals are installed properly on the faulty units, and that the traces have been cleaned from moisture or flux? You can also try referencing the suggestions from the MSP430 32-kHz Crystal Oscillators Application Report (SLAA322): www.ti.com/.../slaa322b.pdf

    Regards,
    Ryan
  • According to my experience, you have to solder the crystal with lower temperature if you do it manually. Then clean the flux carefully. Finally, set the load cap to match your hardware (15pF//15pF + 1~3pF).
  • Have you tried switching out crystals on the failing boards, and do they work afterwards? What if you changed the MSP430? Your load cap value is accounting for a large amount of stray capacitance, you could also try using larger cap values like 18 or 22 pF. Please also comment on what percentage of boards you see failing. Providing your clocking & crystal initialization code might also be useful for debugging your issue.

    Regards,
    Ryan
  • Thank you all for your suggestions.
    In the begining three out of five boards had problems. I had tried 8.2pF capacitors as well, but the boards didn't work. After clearing the flux now all the boards are working fine.
  • It is great that your board is working.

    About the compensation capacitors, you don't need to "guess". You can calculate it by C = 2*(CL - [2~5pF]). For example, if the CL specified in crystal specification is 15pF then, 2*(15 - 5) = 20pF and 2*(15 - 2) = 26pF. So, you can use two capacitors with value around 20~26pF, e.g. 22pF, to compensate. The [2~5pF] is adjusted according to your board layout and available standard capacitor value.

    In this way, the crystal should be able to oscillate. You need to try different capacitor values only when very precise frequency is required.

    FYI, I usually choose crystal with CL < 10pF so that it can be compensated directly by MSP430 by setting register.

    Hope that the above information is helpful for your future designs.
  • For crystal datasheet, please visit the link below:

    cdn-reichelt.de/.../0032768-SMD.pdf

    What does Load Capacitance 6pF ~ 12.5pF (Std.) means? Does it mean 6pF or 12.5pF? When nothing is connected on the board, I calculate capacitance with LCR, it gives 2.2pF.

    Please confirm whenther the below formula is alright for my crystal.
    2*(12.5-2) = 21pF and 2*(6-2) = 8pF. So I can use 15pF.

**Attention** This is a public forum