0
\$\begingroup\$

I pulled an old PIC from the PIC24 family out of storage, probably last used about a year ago. I reprogrammed the device with a bare minimum program. It seems to work fine on all counts except that it pulls 55 mA from the Vdd pin and the current exits through Vss. All other pins seem to draw current in the uA range.

  • No peripherals are enabled
  • Input pins are not floating
  • Output pins are not drawing current

This current draw is way out of specification for this device which should draw about 2mA. What would cause such high current to be drawn on a device that is otherwise operating normally?

\$\endgroup\$
6
  • 2
    \$\begingroup\$ This might be a more useful question if you said you had a new chip doing the same thing. There are almost infinite ways that a chip could be damaged and draw more current than normal. That's kinda the default (for the semi-conductor to turn into a conductor when it is damaged). \$\endgroup\$ Commented May 20, 2014 at 14:51
  • \$\begingroup\$ Yes, I am starting to think I want to rephrase the question. The chip could just be damaged and I can just discard it. I am pretty strict about watching for ESD events but that doesn't mean they couldn't happen. I think my real curiosity lies in if this has been seen in chips that weren't in some way irrevocably damaged. I am accustomed to bricked MCUs being non-operational. \$\endgroup\$
    – SomeEE
    Commented May 20, 2014 at 14:58
  • \$\begingroup\$ It might not even be ESD, it could be a probe tip or screwdriver slip or something of that ilk. Does it draw 55mA when reset is asserted? (/MCLR low)? That current is suspiciously close to what I'd expect if an output was shorted to a supply line. \$\endgroup\$ Commented May 20, 2014 at 15:02
  • \$\begingroup\$ It is the same under reset. \$\endgroup\$
    – SomeEE
    Commented May 20, 2014 at 15:05
  • \$\begingroup\$ Then I'd be 99% sure the chip is garbage. \$\endgroup\$ Commented May 20, 2014 at 15:10

3 Answers 3

5
\$\begingroup\$

You say that 55 mA is "way out of specification", but you provide no evidence of that. It seems to me you haven't bothered to look in the datasheet. You also haven't said which PIC 24.

I grabbed a random PIC 24H datasheet and looked up Vdd current. The PIC 24HJ12GP201, for example, can draw up to 90 mA at 3.3 V and 25°C when running at 40 MIPS. 55 mA is therefore not at all obviously "way out of specification".

READ THE DATASHEET.

\$\endgroup\$
0
2
\$\begingroup\$

You actually don't know whether the chip operates normally, because the space of functionality of what the chip can do is quite large; you have not executed an extensive test suite of all its functions. What can be said is that it works normally for your "hello, world" test case that you're running on it.

It does sound like some area of the silicon is leaking a lot of current through. It could be some on-chip peripheral, for instance. The IC has many circuits on it that are connected between VDD and VSS; if some of them leak, that might not impair the chip's ability to be programmed and to execute a "hello, world" program.

\$\endgroup\$
1
  • \$\begingroup\$ Well, I did program it with a significant and proven program at very first. That is why I noticed the high current draw but I get your point. \$\endgroup\$
    – SomeEE
    Commented May 20, 2014 at 14:13
1
\$\begingroup\$

This is less than 1/4 watt at 3.3V. If the chip is operating at a high speed, performing even seemingly simple calculations, and no power saving measures are enabled, then a 24 series PIC processor can certainly dissipate a quarter watt running around in circles.

If you provide the chip part number, the program, and schematic, we might be able to identify specific reasons it's consuming more than the 2mA you expect.

If you want to investigate further

  • Consider replacing it with a new chip and a similar program to compare the two.
  • It may have a MAC and a divider. If your code is exercising these features heavily you'll consume a surprising amount of current
  • Some peripherals consume current when not specifically configured - go through and disable the peripherals and peripheral clock
  • Some older chips had rather high current consumption for certain blocks, like the brownout detector. Disable these in the fuse settings.
  • Perform a complete chip erase and reset.
  • Disconnect any programmers/debuggers to disable JTAG and related blocks.
  • Ensure inputs aren't floating - even though the risk of damage is all but gone these days, floating inputs can draw significant currents operating in the linear region.
\$\endgroup\$
1
  • \$\begingroup\$ None of these applied to me but +1 because I think they could be helpful to others. \$\endgroup\$
    – SomeEE
    Commented May 21, 2014 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.