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.

MSP430FE4272 - LFXT1 (32 KHz) oscillator debug

Other Parts Discussed in Thread: MSP430FE4272

Hello,

I have a MSP-FET-430U64 debugger for MSP430FE4272 having YAMAICHI 64-pin socket for the microcontroller. My code is working OK with internal oscillator (ie without crystal). But my crystal oscillator does not seem to work. I am aware that several things could go wrong. Some of them are

1. Bad external caps

2. socket capacitance

3. Bad software settings

etc etc

Right now, I am doing trial and error to debug the issue. But I am not able determine or eliminate the cause.

How do I go about it? What things I must check and in what order?

Thanks for your valuable advice in advance,

Purushottam

  • 1. this can always happen. Cheap capacitors have a large tolerance range. (up to +-80%) The internal ones which you can enable with the XCAPxPF bits in FLL_CTL0 are usually better than external ones. Check teh datasheet for the device-specific values. The maximum settign gives you 18pF+2pF for the pin, resulting in 10pF load on teh maximum setting. Add the capacitance of the socket and maybe that's what you need without additional capacitors.

    2. you should be able to get this from the socket datasheet. My gues sis that a socket adds at least 2pF load to the crystal.

    3. if you post it here, we can check.

  • Purushottam,

    Try using one of the code examples available under Software and Development Tools on the MSP430FE4272 product page.

    http://www.ti.com/litv/zip/slac017h

    These are tried and true examples. Start a new project containing only the example code. If this does not work for you then you have a hardware error. If it does work, you have a software error. That can help you narrow it down hopefully. 

  • Thank you both.

    I tried the software code in slac017h and checked ACLK out on Digital Storage Osc. It merely goes and stays '1'. For furhter expts I'll use the same code.

    #include  <msp430x41x.h>

    void main(void)
    {
      WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
      SCFI0 |= FN_3;                            // Set DCO operating range
      SCFQCTL = 121;                            // (121+1) x 32768 x 2 = 7.99 Mhz
      FLL_CTL0 = DCOPLUS + XCAP18PF;            // DCO+ set so freq = xtal x D x N+1
      P1DIR = 0x22;                             // P1.1,5 to output direction
      P1SEL = 0x22;                             // P1.1,5 to output MCLK & ACLK

      while(1);                                 // Loop in place
    }

    Meanwhile I came across SLAA423 describing a bug named XOSC8.

    The summary of the note is as follows

    " The occurrence of XOSC8 can be controlled with V, temperature, load capacitance, ESR, and impedance. However, only ESR and impedance adjustments provide solutions over the entire V temperature range. It is recommended to use the highest amount of load capacitance possible, regardlessof the workaround chosen. Using too little or no load capacitance is not recommended. The firstworkaround is the workaround found in the XOSC8 erratum: Use a crystal with an ESR greater than 40KΩ. The second workaround is to use a shunt or load resistor from XIN to ground (AVSS) "

    So now I am confused.

    1. What does it mean by "It is recommended to use the highest amount of load capacitance possible" ? If this is true than, why worry about parasitc caps?

    2. Now, how to measure ESR of the crystal. My crystal spec says ESR: typ 35K, Max 50K. So there is good chance that XOSC8 has struck. But how to confirm or deny?

    3. Please suggest recommended negative resistance measurement setup so as to measure the OA and SF. I mean, how do people usually do that? My difficulty is if I use a resistance in series with crystal, it will also affect capacitance and will it not affect the measurement?

    4. How the check the health of the Oscillator itself? I mean, may be I did something wrong(ESD or something) and damaged interior of the oscillator (inside MSP430). How to check that?

    5. Is there any simple way of doing trial and error with capacitors?

    6. Are ESR and |negative resistance| same?

    Thanks a lot,

    Purushottam

  • Purushottham,

    The XOSC8 errata does not apply to your device. If you look at the errata sheet (http://www.ti.com/litv/pdf/slaz049c) the only issue related is:

    XOSC5 XOSC5 - Bug description

    Module: LFXT1 OSC, Function: LF crystal failures may not be properly detected by the oscillator

    fault circuitry

    The oscillator fault error detection of the LFXT1 oscillator in low frequency mode (XTS = 0) may

    not work reliably causing a failing crystal to go undetected by the CPU; i.e., OFIFG is not set.

    Workaround:

    None

    This is mostly as issue for XTALs that are working that miss the fault. Not an issue for you to start yours up. As I mentioned, if the code examples are not working, it is very likely that you have a hardware error. Check that your crystal is not shorted and that you have the correct load capacitance on it. Your crystal connection should maintain short traces directly to the pins of the micro, not be routed all over the board, and use other proper XTAL hardware. 

  • Thanks Mike. I took your advice and de-soldered and got another crystal soldered from a pro. Now the osc is working.

    Thanks for your help

**Attention** This is a public forum