what kills an XMEGA ?

Go To Last Post
8 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

this time in the correct forum, I have another problem with my new board. Initially this board drew 48mA on 12V in total. I then assembled some more parts on this board, played a little with the xmega (switched on some LEDs and so on) then I switched on another port. This was while running in debug-mode with JTAGICE mk2 conected. Then the debug froze and the board re-started over and over again as the 3,3V regulator overheated. Suddenly the board drew over 600mA on 12V. I tested my second prototype, this time it happened faster, I programmed it and immediately it showed the same behaviour. Now on one board the XMega is dead, on the other one I can't connect via JTAG to it but via PDI with an AVRISP MK2. The ICE is ok, I tested it on an eval-kit. So now I ask myself what in hell could kill an XMega or causes it to consume so much power ? We checked all pins and cannot find any unnormal voltages or levels. But we disconnected the AVCC and this made a difference of 50mA on 12V and 190mA at 3.3V on the resistor at the AVCC input. This is "impossible". We removed the dead XMega from one board and this makes the difference, the regulator doesn't overheat and the power consumptions goes down to 250 mA (which is ok with the additional parts). What could have happened ? Thank you for your thoughts and ideas,
Mat

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

then I switched on another port

Was one of the pins on that port already directly connected to Gnd or Vcc in opposition to the voltage you applied by setting the PORT register?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Mat,

I had not literally smoked a chip in a looong time, until I made my XMega prot-board. I have three such boards.

The first one I could program a time or two, and while I was coding, it suddenly overheated, and literally smoked. Talk about a bad odor! It was very hot, as was the regulator. Surprised the heck out of me!

When I eventually remove the chip, it had scorched the board and traces under it.

I have two theories:
1) I had a micro solder bridge UNDER the chip, which I could not see with my headset or loupe. I did have a few traces under the chip.

2) I had a much larger than spec'd output cap on my 3V linear regulator. With the old 7805's this was not a problem, but I wonder if my 3V linear regulator oscillated, and was providing > 3 V to the circuit in the process. Then an overvoltage fried the chip.

PCB #2 started to draw a high current, and I immediately shut it down, re-soldered each pin, and put an in spec Vout cap on the power supply. I did not see any solder bridges on it, either. The board works great now, problem has not reoccurred.

PCB#3, in spec Vout cap from the beginning, better job soldering, (N=3 now, still not fun hand soldering an XMega), and this PCB has run without ever drawing excess current.

I ended up making a small AVR driven V and I monitor for PCBs, with an LCD and a cut out relay if an excess current is draw, user selected current level, just to test PCB #2 & #3.

I'm not sure that this helps to answer your question, but it is nice to know that somemone else had a similar problem.

It would be nice to know what you have for a power suppply on your board. Linear regulator? Which one? Cout?

It would be nice to know if anyone else has had a similar problem.

Good news is that now PCB #2 & #3 both work fine.

My suspecion is aimed at the power supply, but it would be nice to know what a 3V linear regulator Vout does when it oscillates, and that info I have not yet tracked down, or tried.

JC

Last Edited: Thu. Sep 3, 2009 - 12:45 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@clawson thanks for your reply
I did this

  lampport->DIR  |= 0x08;
lampport->OUTCLR = LAMP_SHDN_bm;

and a little later

lampport->OUTSET = LAMP_SHDN_bm;

with

#define LAMP_SHDN_bm 0x08

the rest of the port pins (PORTQ)were undefined until there but I just configured them as inputs without anything changing. None of them are connected directly to Vcc or GND. The one above is also just a logic signal.

@JC thanks also for your reply I will check on your ideas and get back

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi JC,

the regulation does not oscillate as far as we can see on the oscilloscope, it is an LT1765EFE and the Cout is a 4.7uF

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Mat,

I suspect my problem was probably with my power supply and the linear regulator, (improper design on my part...). That does not explain the problem you have experienced with the switching regulator on your board.

Is this board a totally new design? Are any of the PCBs up and running for an extended period of time without any problems?

Do you have any more PCBas to work with? If so, I would study one very closely for any solder bridges. I would re-confirm the board layout against the schematic. I would assemble it in pieces, as you did before. How about just bringing up the uC and a couple LEDs and letting it run for a while, (day or two...). I assume you have several by-pass caps across the power pin pairs. I would not expect their absence to cause the problem you are experiencing, but I've seen some odd problems over the years with inadequately by-passed circuitry.

If it is not propriatary you could post a schematic. I'm not sure that will suddenly enlighten us as to the problem, but it may be worth having another set of eyes review it.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Maybe you have uncovered some latent destructive latchup problem, maybe some sequence of debugging instructions that causes something to go terribly wrong. I could imagine that leaving all pins set to input with no pull up/down causes all pins to float to VCC/2 where each pin buffer consumes quite some power.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good Idea JJ!

But I don't want to test it, I worked too hard to get these boards up and running! :)

JC