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.

MSP430F1122 Low power modes, DCO and RSel

Other Parts Discussed in Thread: MSP430F1122

Hello,

I successfully built an application using the MSP430F1122 that sleeps most of the time (using a 32khz crystal) and then when it wakes up uses the DCO to generate a 19.2kb data stream. I need reasonable accuracy on the data stream.

It is battery operated and low current is required of course.

It all worked fine till I used a 150K resistor on "RSELx". I needed this to reduce temperature drift of the DCO. The effect on current is a very significant increase.

I can't reduce the current. Is the DCO permanently on when an external resistor is connected to this RSELx pin (P2.5)?

Any help wuld be much appreciated;

Thanks - Richard Holmes

 

 

  • 1. Are you connecting the resistor from P2.5 to Vcc?

    2. I recommend the following:
    a. Run the code example (fet120_rosc.c) "as-is" from the following zip file and measure the current:
    http://www.ti.com/lit/zip/slac013
    b. Then edit the code to put the device in LPM3 & LPM0 and measure the current.
    c. What is the difference in current that you abserve by running the code "as-is", LPM3 & LPM0?
    d. You can also monitor P1.1 (see the diagram in the code example) to see what happens with DCOCLK in each of these states.

    3. Another suggestion is to use the 32kHz crystal to calibrate the DCO to increase accuracy. Please see the code example (fet120_fll_01.c & fet120_fll_02.c) in the above zip file.
    This way you won't need the external resistor to increase DCO accuracy and can run the device in LPM0.

  • Hi and thanks kindly for these suggestions.

    You are right in a number of places and my description was rather poor I'll admit. I was in "panic mode" with this causing a lot of trouble.

    I have a suspicion that when the resistor is applied between Vcc and P2.5 that the DCO does not turn off. I'm re-reading the manuals looking at this in particular. I suspect that when the DCO is turned off that the internal current sources are turned off but if current is feeding in from this enabled pin and resistor that the DCO and some sub systems (?) associated with it consumes current.

    This would make sense as to my results.

    I will now of course, before disabling DCO, turn this Pin 2.5 function to be an input (or output pulled high etc) and determine the results (and advise).

    Correcting the DCO using the watch crystal is also a good suggestion I saw previously but didn't do because my accuracy was fine over the temp range I'm using with the resistor....it was a simple and fast solution (I now regret). Some of the newer parts look extremely clever also with pre-calibration and lower currents.

    Unfortunately this development was a legacy unit shoe-horned into a new application. Again a mistake in some ways - however highly successful in time to market and low effort required (yeah...I know....justifications etc).

    Cheers - Richard Holmes

  • I have found the problem. It was a bug in my use of the ADC-10 converter block _and_ I found that the user of the external resistor does not cause any excess current flow when the DCO is turned off. The bug in the ADC10 block centred around turning off the block fully. I could turn it off partially, but not fully and that took a while to find.

    Part of my problem in diagnosing fault was that the ADC10 block is used only infrequently and hence the problem did not show up immediately on power up. Also, my code had many "legacy elements" in it that basically caused it to be more difficult than it should have been.

    I followed one of your suggestions and reduced the code to its barest minimum, found the ADC10 problem and now have a quiescent current (in LPM3) that is less than 10uA (an external device has a sleep current of over 5uA).

    Cheers and thanks - Richard Holmes

     

**Attention** This is a public forum