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.

MSP430F5529 current consumption in certain USB mode

Genius 4170 points
Other Parts Discussed in Thread: MSP430F5529

Hello,

another nut to crack.

Just did code something rather interesting, but first things first; I am using the MSP430F5529 on a costum PCB with almost all pins connected to some purpose and of course USB.

I started to ocde fomr minimal examples to a rather complex one, keep in mind PCB has no flaws, I got several voltages on my board, GND, +3V3, -3V3, 15V, 24V, the MSP430 runs in full speed mode core level_3 with 24MHz, measured power on the 3V3 line durin normal operation is around 20mW or around 5mA, not measured precisly, but its trustworthy , cause I cannot feel the MSP warming up.

Now the problem began the following way:

MY purpose on the PCB is general speaking a data-logger. So I do use a USB CDC ( COM-Port) and a USB MCS ( mass sorage with SDcard connected via SPI-Bus) .

This whole thing is interrupt driven, now I do have other Interrupts as well, right now only using a TimerB for SDcard detect, it occurs every 100ms, and for testing purposes I do use a TimerA Interrupt, starting from every 1 ms to 10ms ( I did play around with the settings there)

To make things difficult and worse, all by myself, I do have

__delay_cycles(20);  -> around 833 ns to "simulate" my normal IRQ code

I know this is not usable for real program, but for my purpsoes it would fit.

What I did want to see, is wheather the USB and MSC device still get recognized with my windows PC, since the Interruprs will interrupt each other most probably :)

Now comes the big problem, when running the code with the 1ms IRQ TimerA and attaching the USB cable, COM port always gets registered correctly, always troubler with the MSC device,( I figure of course because of the TimerA IRQ )

BUT much worse, the MSP430 is really running hot, I would say at least around 500mW if not more, I can touch it like 0,5 seconds with my finger before starting to cry :)

So my questions are:

 - Any ideas or expirience with MSP430 running hot, is that a normal condition if it has a huge workload? I figured that rather not, but I might be wrong, I would say there are no shortings, since the MSP430 is running perfectly fine with USB as CDC and MSC without my TimerA 1ms IRQ routine

 - Must the MSC USB part be interrupt driven, or could I poll that as well?

- again why is it running hot? silicon error (I know i blame that a lot, but the behaviour is just strange )

As always thanks for reading and helping.

seb

  • It should not be possible to get the chip hot just by running code (even with an infinite loop at 24 MHz). This sounds as if you have shorted power to ground somewhere.
  • Thought so,

    other tests did show me that 3V3 is running at a maximum of 10mA, so the shortings has to be on the USB 5V line, which I am trying to measure right now, but as Muprhy calls it, I am not able to reproduce my error and hotness right now...

    That is what bugs me the most, it gotta be something to do with code, since my chip is not consitently running hot, and it must be something with USB code, maybe with SD card or with COM port, no clue yet , but i am working on it.

    My best guess is that I can meassure up to 400mA on the USB power line into my MSP when it gets hot, but yet I have to proof that, and next step see why the heck its doing that.
  • update:
    5V line draws max 36mA current, that cannot be the issue for heating.

    It heats up like in 2 seconds from 30°C to 70°C goes up to 86°C if i can trust my little fluke themocamera.

    I investigated some of the return GND currents, I am suspicious right now, since I cannto probe a unusual high current in no of my lines, it is like the current wants to fool me.

    Also i can pull the +5V line when the heating occurs and it still keeps on heating, also the 3V3 line, so I am a bit confused, I know this does not make sense yet, but it will soon, I hope :)

    Next step I will build a new boardfrom scratch and see if it reacts exactly the same, then I decide if its TI, my code or some voodoo priest dancing under my desk...

    Update #1

    unplugging the 5V USB voltage when running hot, does make it cold again.

    Cannot meassure that yet, its kind of a riddle, but I do now run current measurment in the GND lines, this brought some better answers:

    When runnign hot, I got 500mA in the GND line, this is even the GND to USB is disconnected, so all the current will flow not into the USB GND but on my board into the power supply, now what is missing for me is where that current comes from, I still think its the 5V USB voltage, but till now I could not get my system to heat up when having the current measurment in the 5V path.

    I still think the system tricks me somehow, next I will uild a new PCB, I want to see if its Software or Hardware issue.

**Attention** This is a public forum