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.

EVM430-FR6047: Sleep mode power usage too high

Part Number: EVM430-FR6047
Other Parts Discussed in Thread: MSP-FET, ENERGYTRACE, UNIFLASH

Hi! 

I have been measuring the power consumption with the MSP-FET and also using a battery and a multimeter on the I_meas jumper. I have set the settings to the same as in this guide and disabled LCD, Buttons and removed jumpers J1,2,3,5 and I have no other devices connected to the EVM: 

In EnergyTrace (3.6V source from MSP-FET) I get a very high minimum sleep mode current of ~0.3 mA which is way over the stated sleep mode current(1uA) in mentioned guide above. Using the battery and multimeter I get the value between ~0.1 and 0.2 mA, guessing that the MSP-FET also draws some current in the DC-DC converter...? 

What should I debug? 

Thanks in advance! 

Best regards,
Thibault 

  • Please provide more information: CCS ver., compliler, OS, etc.
    Do you use TI example? Which one?
  • Hi,

    Sorry missed that:
    - CCS v8, Mac OS X High Sierra
    - compiler: MSP430 Hex Utility
    - latest MSP430FR6047EVM_USS_Water_demo

    Best regards,
    Thibault
  • Thibault,

    The current consumption test data on the TI Design is based off of an external supply voltage at 3.3V and the EVM being programmed with the unmodified example code provided (USSLib_GUI_Demo). What battery voltage are you using? Which jumper are you using to measure the current using the multi-meter? Also, please make sure that you have moved the POW_SEL switch over to "External" and again removed all of the J1,2,3,5 jumpers after programming. After all of the previous steps are done, the multi-meter would be reading the average current consumption of the periodic process which should be approximately 3.83uA.

    Best regards,

    Matt
  • Thibault Helle said:
    - CCS v8, Mac OS X High Sierra

    CCS8.0, CCS8.1 or CCS 8.2?

    Thibault Helle said:
    - compiler: MSP430 Hex Utility

    It is not  TI compiler version.

    Thibault Helle said:
    - latest MSP430FR6047EVM_USS_Water_demo

    Your latest? Your left or my right?
    Please, be more engineering.

  • Hi,

    I made a new attempt:

    - Version 02_10_00_07 of USSLib.

    - Completely Unmodified Version 02_10_00_05 of Ultrasonic Water Meter Demo and unmodified configuration headers.

    - CCS v8.2 Mac OS X High Sierra 10.13.6

    - Compiler: ti-cgt-msp430_18.1.3.LTS

    - Changed the MSP-FET voltage to 3.3V.

    - Jumper J1,2,3,5 removed.

    Building as LPM_LEARAM or LPM configuration gives roughly same result with a minimum consumption of 0.18mA using EnergyTrace.

    Yes the switch is correctly set while using battery (Lithium 3.6V) and I use jumper J32 for the multimeter, where I get the same result of 0.1-0.2mA.  Picture of my EVM:

    Thanks again

    Best regards,
    Thibault 

  • To Matthew and Thibault,
    document says 2.5 uA @ 1 sample per second.

    Thibault,
    there is a chance that the installation folder contains an *.out file ready to install.
    Could you check and try it?

    What ESD protection do you use?
  • Hi Tom,

    I could not find the .out file in the default folders (only a .hex file, however I cannot install it as I get a error: "Error on line 1 : bad lexical cast: source type value could not be interpreted as target" in UniFlash). Could you send it to me perhaps?

    I do not use any particular ESD protection?

    Thanks for your help

    Best regards,
    Thibault
  • Thibault,

    I am going to try to address the high current consumption seen in the external power configuration first, since that is closest to the power consumption testing that was done in house for the TI design. First thing to check would be to confirm that you are using the "LPM" build configuration for the MSP430FR6047EVM_USS_Water_Demo project (this is found by right-clicking on the project -> Build Configurations -> Set Active -> LPM). Once this is confirmed, the next thing to make sure is if the water meter is correctly connected to the EVM. You will see a higher current consumption than detailed in the reference design if there is no water meter attached or if it is incorrectly attached because the application code and algorithm will loop in an error reporting state due to the EVM not detecting a meter. After the meter is confirmed to be correctly connected, you then need to open up the Ultrasonic Sensing Design Center to confirm that the USS module is properly configured for the specific meter attached. Hopefully this helps point you in the right direction of determining why the current consumption is higher than expected.

    Once the above concerns are addressed, the current consumption test will need to be taken using a multi-meter or a DC power analyzer with a resolution and accuracy high enough to measure at the micro-amp level. The one we used in our lab is the Keysight DC Power Analyzer (Model: N6705B).

    Best regards,

    Matt
  • Matt Calvo said:
    Thibault,

    I am going to try to address the high current consumption seen in the external power configuration first, since that is closest to the power consumption testing that was done in house for the TI design. First thing to check would be to confirm that you are using the "LPM" build configuration for the MSP430FR6047EVM_USS_Water_Demo project (this is found by right-clicking on the project -> Build Configurations -> Set Active -> LPM). Once this is confirmed, the next thing to make sure is if the water meter is correctly connected to the EVM. You will see a higher current consumption than detailed in the reference design if there is no water meter attached or if it is incorrectly attached because the application code and algorithm will loop in an error reporting state due to the EVM not detecting a meter. After the meter is confirmed to be correctly connected, you then need to open up the Ultrasonic Sensing Design Center to confirm that the USS module is properly configured for the specific meter attached. Hopefully this helps point you in the right direction of determining why the current consumption is higher than expected.

    Once the above concerns are addressed, the current consumption test will need to be taken using a multi-meter or a DC power analyzer with a resolution and accuracy high enough to measure at the micro-amp level. The one we used in our lab is the Keysight DC Power Analyzer (Model: N6705B).

    Best regards,

    Matt

    Hi ,

    I am using LPM build, water meter is correctly installed and there are no errors occurring. I also tried to put a LPM3; instruction directly before the While(1) loop, then the state is correctly in sleep mode and the power consumption is 0,2mA. Feels like there is some leakage somewhere? What current usage do you measure with the EVM at sleep mode using energyTrace? 

    Thanks in advance!

    Best regards,
    Thibault 

  • This kind of leakage could be caused by ESD damages.
  • Thibault,

    I am in fact measuring an average current consumption of 3.5uA when I use Energy Trace on the EVM running the water demo.

    Section 4.10 of the Energy Trace App Report ( www.ti.com/.../slaa603.pdf ) explains how to use CCS with an MSP-FET to measure the current consumption of the device without dealing with the overhead of the debugger. What you have to do is start the debug session, let it run for a little while then pause it, go to Run and click Free Run. This allows the Energy Trace circuitry of the MSP-FET to only measure the current consumption of the device.

    A problem I ran into was that I would use the USS Design Center to configure the EVM for the attached water meter, but when I'd launch the debug session, the configured parameters would be overwritten causing the error sequence to fire. What I had to do was export the USS configuration settings from the GUI and replace the original USS_userConfig.h file with the new exported one from the GUI. One specific configuration modification on the GUI you may want to make to lower the current consumption even more is to make the ULP Bias Delay 3, the Start PPG Count 10000, and the Turn on ADC Count 5000. These changes are done in the Advanced Parameters tab.

    Best regards,

    Matt
  • Hi Matt
    Thanks for the explanation. I did try the free run option and the settings in the GUI to your suggested ones, however I still have a minimum current usage of 0,16mA. This is what I get with the multimeter as well.

    So the MSP-FET is no longer a thief here, what else could it be?

    Thanks,
    Best regards
    Thibault
  • Could you write a simple test code just to enter LPMx.5 and measure current usage?
  • Thibault,

    Tomasz has a valid point with a possible previous ESD event causing damage and resulting in the leakage on your setup.

    The steps I outlined above resulted in the proper current consumption on my EVM and MSP-FET. Could you please send me a detailed step by step explanation of your process from configuring the GUI and EVM for your meter, exporting the config file, importing that into your unmodified water demo project, to using Energy Trace to measure the current consumption? Could you also provide a more zoomed out picture showing everything connected to your setup during the energy measurement?

    Best regards,

    Matt
  • Hi

    When I place it into LPM4 directly in main(), the current consumption is 0.0000mA using EnergyTrace and 94,2uA in LPM3 directly. So this should be a software issue then if I am not wrong?

    Best regards
    Thibault
  • Thibault,

    In addition to what I previously asked for, you are welcome to attach a zipped folder of your project so that I can see if I can recreate what you are seeing with your setup.

    Best regards,

    Matt
  • In LPM3 XT1 is ON, RTC is ON, LV OSC is running, SVS is ON, RAM retention, etc.
    It could be a h/w issue.
    In your case, I would turnoff the above resources in a few steps to find their contribution to power usage.
  • Thibault,

    Just checking back in to see if you've made any progress on this matter. If not, please go ahead and try providing what I asked for in the previous two posts so that I can further support you.

    Best regards,

    Matt
  • Hi,

    I'm sorry I did not respond, I did some traveling and could not test the hardware. I'm uploading the unchanged demo project with the USS_userConfig.h header. Now the sleep current is much better (Min: 1.4uA), however the mean current is at 12,7uA (max current 60uA). So about 9uA over your results. Is there something in my USS_userConfig.h that causes this? (No errors, LPM build).

    My previous customised(minor changes) code that I tested first when I posted this question where leaking current during sleep due to some badly initialised GPIO pins, ADC and SPI pins. By restoring/removing all those modifications I get the same result as I mentioned now with the untouched demo project. 

    UltrasonicWaterFR6047_02_10_00_05.zip

    4188.USS_userConfig.h

    Thanks!

    Best regards,
    Thibault 

  • Thibault,

    Thank you for providing the project, I will take a look at it and the config file. Could you also provide the walk-through and pictures that I asked for? (Provided again below)

    "Could you please send me a detailed step by step explanation of your process from configuring the GUI and EVM for your meter, exporting the config file, importing that into your unmodified water demo project, to using Energy Trace to measure the current consumption? Could you also provide a more zoomed out picture showing everything connected to your setup during the energy measurement?"

    Best regards,

    Matt
  • Matt Calvo said:
    Thibault,

    Thank you for providing the project, I will take a look at it and the config file. Could you also provide the walk-through and pictures that I asked for? (Provided again below)

    "Could you please send me a detailed step by step explanation of your process from configuring the GUI and EVM for your meter, exporting the config file, importing that into your unmodified water demo project, to using Energy Trace to measure the current consumption? Could you also provide a more zoomed out picture showing everything connected to your setup during the energy measurement?"

    Best regards,

    Matt

    Hi,

    Sure here are the Steps:

    1. Opening up the provided project in CCS 8.2.0.00007 with Max OS X 10.13.6.
    2. Opening up USS GUI and changing the following so that no errors occurs:
    Meter mode: Water
    Transmit frequency F1: 1000kHz
    Gap between pulse and: 29us
    Number of Pulses: 15
    UPS and DNS gap: 13000us
    UPS0 to UPS1 Gap: 1000ms
    GUI Based gain control: 21.5db
    USSXT: 8000 kHz
    ADC Sampling frequency: 200
    Signal Sampling frequency: 3,600kHz
    ADC Over Sampling Rate: 20
    Capture Duration: 40us
    Alg. option: 0
    ULP Dias Delay: 3
    Start PPG Count: 10000ns
    Turn on ADC Count: 5000ns
    Start PGA and In Bias Count: 0ns
    USS XTAL Settling Count: 120us
    Envelop crossing threshold: 11
    Negative Search range: 20
    Positive Search range: 2

    3. Exporting USS_userConfig.h Header file and replacing existing in project (already done in uploaded .zip here).
    4. Building using LPM configuration in CCS.
    5. Loading build using MSP-FET (with USB-C adapter) at 3.3V and making sure jumpers are set correctly.
    6. Launching EnergyTrace and setting it to stop "on halt" in CCS.
    7. Run -> Free Run.
    8. After 1-2s, I start the EnergyTrace absolute measurement.
    9. Let it run for 15min. 

    Here is a more zoomed out picture of the setup:

    Thanks again!

    Best regards,
    Thibault

  • Thibault,

    The gain looks a little higher than usual, this could be a culprit. Could you provide a screenshot of the ADC capture in the GUI?

    Another difference between our setups is that you are using a USB type C converter. This could also be the reason why we are seeing different current consumption results on Energy Trace. Now that you have reduced the min current consumption to a value that is expected, I'd be interested in determining what the current consumption is when running off of external power and using a Power Analyzer to accurately measure the current through the capture sequence.

    Best regards,

    Matt

  • Thibault,

    As I referenced before, your gain looks high and lowering this value should help improve your power consumption. If my support has helped you solve your initial problems, please go ahead and select "Resolved" so that we can log this thread. Thank you!

    Best regards,

    Matt
  • Matt Calvo said:
    Thibault,

    As I referenced before, your gain looks high and lowering this value should help improve your power consumption. If my support has helped you solve your initial problems, please go ahead and select "Resolved" so that we can log this thread. Thank you!

    Best regards,

    Matt

    Hi!

    The problem is not related to the measurement process, it is during the sleep mode.

    Thanks again!

    Best regards,
    Thibault 

  • Thibault ,
    power consumption during a sleep mode could be disrupted in many ways, for example:
    Vrefs running for ADC modules,
    comparators running out of intended control,
    clocks sourcing UART, I2C, SPI and other serial interface modules.

    Could you check the above and similar items?
  • Thibault,

    I am a little confused because your comment from before suggested that the problem was not during sleep mode:

    "I'm sorry I did not respond, I did some traveling and could not test the hardware. I'm uploading the unchanged demo project with the USS_userConfig.h header. Now the sleep current is much better (Min: 1.4uA), however the mean current is at 12,7uA (max current 60uA). So about 9uA over your results. Is there something in my USS_userConfig.h that causes this? (No errors, LPM build)."

    You tested the sleep current and it was down to 1.4uA but the max current was up to 60uA which would lead me to believe that the current consumption during the capture sequence is what's driving up the mean. This is why I would like to see a screenshot of an ADC capture to see what the waveform looks like.

    Best regards,

    Matt
  • Hi Thibault,

    I haven’t heard from you for a little over a week, so I’m assuming you were able to resolve or move forward with your power consumption issue. If this isn’t the case, please click the "This did NOT resolve my issue" button and reply to this thread with more information. If this thread locks, please click the "Ask a related question" button and in the new thread describe the current status of your issue and any additional details you may have to assist us in helping to solve your issues.

    Regards,
    Matt
  • Hi Thibault,

    I noticed that my reply did not help you reach a resolution. Please provide your feedback to mine and Tomasz's comments from before, as well as any other information that may help us resolve this.

    Regards,
    Matt

**Attention** This is a public forum