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.

MSP430FR5994: Device to Device variation in Vcc current

Part Number: MSP430FR5994

Hi,

I got unsubscribed to already ongoing thread hence raising the new case by attaching the previous reply.

Hi,

We are seeing part to part variation in supply current of around 10uA-20uA in microcontroller part MSP430FR5994 into Vcc Pin37, below are the operational details of the controller
• ADC is enabled
• DMA is enabled
• Operating Frequency-1Mhz(MODOSC)
• Operating mode- LPM2
• UART enabled

We are using 48Pin QFN package, we have configured unused GPIO as output low from S\W

In our application we  take ADC samples in LPM2 every 1.2ms and the code comes out of LPM2 mode after every  10ms and then it goes to Active mode and then again goes to LPM2 mode. 


Below is the current measured on the board
Board1à
Total board current- 140uA after replacing micro->127uA
Vcc pin current-102uA
Board2à
Total board current- 130uA
Vcc pin current -93uA

This we have verified on multiple boards.
We replaced two microcontroller on 1 board and measured current into vcc pin we could see a difference of 15uA.

Need your view on above observation that is this variation in current value is ok.
How much do you expect current variation in part to part.

Thanks & Regards

Rahul Wagh

 

Dear E2E User:

Per the ongoing discussion on E2E, an answer was suggested to resolve your issue.

Please let us know if you believe the issue has been resolved. Please click one of the following buttons on the thread:

1: If the answer provided resolved your issue, click This resolved my issue

2: If the answer provided did not resolve your issue, and your question needs further attention, click This did NOT resolve my issue

We appreciate your feedback and invite you to enjoy free standard shipping from the TI store. Once you click “This Resolved my Issue” to confirm that your issue has been resolved, we will send you an email with your free shipping coupon code.

This thread will be locked after 30 days of inactivity.

Regards,
E2E team
E2E.ti.com


RE: MSP430FR5994: Part to part variation in vcc current

 

JD Crutchfield

Hey Rahul,

No, generally, I wouldn't expect much Vcc current draw from device to device. 

What does stands out to me though, is that you are using MODOSC.  MODOSC is ~5 MHz clock source, but it's like +-10% accuracy.  It's definitely going to vary from device to device, and this change in speed could affect how long between wake-ups which will also affect your average power draw.    

Can you check your wake-up periods somehow to confirm this might be the culprit for the variation?  

Thanks,

JD



View online

Hi JD,

Thanks for the reply.

We are trying to measure wakeup time, tried with some option with directing output on GPIO for every interrupt.

we are working on it.(by directing the Oscillator output)

Could you suggest any method by which we can direct the MODOSC output on GPIO to check the variation in frequency.

Regards,

Rahul Wagh

You can put SMCLK or MCLK out on PJ.0 or PJ.1. [Ref Data Sheet (SLASE54C) Table 6-38.

BR

Bruce

Hi Bruce,

Thanks, we were able to check the clock frequency below is the results.

Board1->996KHz;measured board current->132uA

Board2->991KHz measured board current ->143uA

as we run on 1Mhz clock, though the board which is running on 996Khz is consuming less current which I guess should not be.

we performed below experiment as well to debug

1. Modified the code such that it work only in Active mode and does not go into LPM2 mode and measured board current

Board1->264uA

Board2->282uA

2.Modified the code such that after initialization  of peripheral controller runs in infinite loop without executing any statement, interrupts are running as earlier

and below is Vcc pin current

Board1->151uA

Board2->171uA

So we could again see the device to device variation.

Please suggest.

Regards,

Rahul Wagh

  • Hi Rahul,

    Can you try running a simple example project from resource explorer (dev.ti.com) on two of your boards without any interrupts enabled?

    BR,

    Leo

    https://dev.ti.com/tirex/explore/node?node=ABFhtUwmZd4KARe81SLNXw__IOGqZri__LATEST 

  • Hi,

    Could you please let us know precisely, which example we have to use that gives more help to address this issue.

    Also, let us know that in which mode we have to verify current Active Mode/LPM2 mode?

    At initial, we verified with simple example on our boards:

    1. Init GPIOs, all remains on output low configuration.

    2. Clock which we currently using on our board.

    3. Just toggle one GPIO pin in loop. 

    With above example we still getting current variation on different boards.

    Regards,

    Pradeep Lokhande

  • Hi Pradeep,

    Ideally, you would setup the clock and run an infinite while loop.  Have you tested two Launchpads to see if you get the same variation?

    BR,
    Leo

  • Hi Leo,

    We modified our board by disconnecting the peripheral components from microcontroller.

    Programmed the micro with test code and we observed below Vcc current reading on two boards

    Board1->234uA

    Baord2->218uA

    still a 16uA difference can be seen, we are not having the Launch pad with us hence tried modifying our board to make it equivalent.

    Is it possible if we can provide you an hex file and if you have some Launchpad with you to verify from your end.

    Regards,

    Rahul Wagh

  • Hi Rahul,
    I've ordered two Launchpads and will look into this when I receive them.

    BR,
    Leo

  • Hi Leo,

    Meanwhile, is it possible for you to share a binary file in which you are expecting to get same current.

    We will re-verify our boards with that binary image, also mention that what would be expected current after downloading that binary.

    Regards,

    Pradeep Lokhande

  • Hi Pradeep,

    There is an example in the resource explorer called: msp430fr599x_active_01.c  This example is intended to enable you to test current consumption during active mode operation. It's running using 8MHZ DCO.  According to the datasheet, the active mode current consumption should be 118uA/MHz - so I would expect to see current consumption around 944uA.  You should be able to import this project from a resource explorer tab directly into Code Composer and build and download it to your platform.  If you can do this, and still see variation, I can then test exactly the same project here on two Launchpads to confirm whether I see the same variation (or whether there might be something in your hardware which is causing the variations).

    BR,
    Leo

  • Hi Leo,

    As you suggested, I import msp430fr599x_active_01.c example. But there was only C file available not the complete CCS project.

    Then I used our code and just replaced main file with example. Here we are getting 14mA current. Is it possible for you to share complete project.

    In our code we are using boot-loader, is there any issue with this?

    Regards,

    Pradeep Lokhande

  • Hi Pradeep,

    From Code Composer, open a resource explorer window.  You should be able to browse to this file and click the import button in the upper right hand corner after you double click on this file. This should create a complete project for you with that file imported.  It sounds like something may be going wrong in your bootloader code.

    BR,
    Leo

  • 5994ActivePower.zip

    Hi Pradeep,

    Please also find the exported project attached.  Thinking more about why you might be seeing an increase in current consumption when clocking at a lower speed:  If you are periodically executing some code, the amount of time that it will take to execute your code each time will take longer(and consume more current).

    BR,
    Leo  

  • Hi Pradeep,

    I was able to go the lab this afternoon and test two different Launchpads with the code I sent you. The first Launchpad showed ~850uA of current consumption, while the second one showed ~880uA of current consumption. This represents a difference of approximately 3.5% between the two platforms. Please let me know if you are seeing larger variations on your side with this code.

    BR,
    Leo

  • Hi Leo,

    We have change code to 1MHz and getting 105uA and 107uA in two different boards. Then we also tested at 4MHz and 8MHz we are getting 263uA and 505uA.

    But it is not aligned with 850uA. We have just modified DCOFSEL_0 for 1MHz, DCOFSEL_3 for 4MHz and DCOFSEL_6 for 8MHz(at earlier).

    By seeing these results, we are still not able to conclude.

    Regards,

    Pradeep Lokhande

  • Hi Pradeep,

    The code that I sent you executes a series of instructions repeatedly which is anticipated to represent typical control flow code. (It is different from your code and will consume a different amount of current.) If you try running exactly the code that I sent you(without going to sleep or any interrupts enabled) - I would expect to see power consumption which is similar to what I was able to see here. 

    Can you try running the project I sent you and disable the P1.0 output?

    BR,
    Leo

  • Hi Leo,

    In your shared code I am unable to see any toggle on P1.0. Please let me clear from where I have to disable it. That code is having activeModeTest() function only after initialization. Whenever we download this code current not seems to be stable and it is in mA.

    Regards,

    Pradeep Lokhande

  • Hi Pradeep,

    It's not being toggled. If you look at the comments at the top of the code, it says to disconnect the P1.0 pin from the rest of your board(which I did for my measurements).  If I remember correctly, you have a board which doesn't have any of the GPIOs connected to any other part of the circuit which can draw current - is that correct? You will need this type of hardware configuration to get an accurate reading of the amount of current being consumed by the micro-controller alone.

    BR,
    Leo

  • Hi Leo,

    We are not able to disconnect P1.0 from our board as it is connected to GND on PCB. It is any other way to verify board current.

    Regards,

    Pradeep Lokhande

  • Hi Pradeep,

    You could use a target board such as: https://www.ti.com/tool/MSP-TS430PN80B with another free part.  Which package are you using?

    BR,
    Leo

  • Hi Leo,

    As of now we have decided that we will measure the board current on multiple device in our device production.

    If we encounter more variation with those measurement then we might have to look in to further details.

    Thanks for all your support !!

    Regards,

    Rahul Wagh

**Attention** This is a public forum