[Solved] Xmega128A1u voltage drop. Messy soldering work creating shorts

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

Hi,

I'm trying to get familiar with xmega family chips with a xmega128aiu chip i soldered on a TQFP 100 breakout board( i should just have bought a xmega a1 ), below my messy work :p ( brown part are flux residue ):


I wired all the vcc and avcc pin with 0.1uF cap on each pair. However when i power the chip with my lab supply ( 3.3v ) and measure the voltage with my osc, the voltage is around 1.2/1.4v ( power supply current reading says about 0.8A ).

And then , with atmel studio 7, i can't enter jtag or pdi mode with my dragon because of low voltage, i tried pdi with my avrisp mkII too, but no luck either ( it won't work either by bypassing the low voltage warning ).

I read in a thread that the dragon won't allow jtag on some xmega revision ( https://www.avrfreaks.net/forum/p... ) but i don't think it is the issue there.

 

So i'm wondering, did i just mess up with soldering work? Is a breakout board such a terrible idea? Does this issue rings anyone bell?

 

I'll be glad to get your insight because i'm getting pretty desperate

 

Regards

 

Eric

 

Edit: I figured i should have put a picture of my job instead of a blank breaout board.

Last Edited: Sun. Jan 15, 2017 - 02:01 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If the supply current is 0.8A = 800mA,  you have something seriously wrong. For an XMega, it would be hard to exceed 10-15mA unless you directly drive some LEDs.

 

I'd look for a supply to ground short, or a ground pin connected to power, or a power pin connected to ground.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

Last Edited: Sat. Jan 14, 2017 - 07:18 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Welcome to the Forum.

 

Agree with Jim, at 800 mA you have a short somewhere.

 

I think hand soldering the larger Xmegas is very challenging.

Been there, done that, don't wish to do it again without a really good reason.

 

I'd take a toothbrush and while holding the board under running water scrub the connections to clean them up and remove the flux.

Some flux cleans better with isopropyl alcohol, or other agents.

Keep the board wet when scrubbing it, you don't want to generate any static electricity.

 

Use a jeweler's loupe, or microscope, to look closely for solder bridges.

 

The Xmega's are great chips, you just have to get your HW up and running, first!

 

JC

 

Edit: Typo

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

 

Thanks for the welcome

 

Yeah 800mA seemed pretty high, but i convinced myself it was ok after i read there could be up to 200mA per Vcc pin, as there is 10 Vcc/AVcc, 80mA per pin sounded acceptable (as i there is no load i should never thought it was ok...). Guess it was really wrong ( i didn't want to solder it again )

 

I reworked it and now consumption is 2mA ( which seems awfully low ) and voltage a steady 3.3V, which is nice. However PDI and JTAG still don't work ( i might have burnt the chip... ).

I removed some part of flux with isopropyl and q-tip but will try the toothbrush trick, i would never have thought of this furthermore with tap water. I'll dry the chip with isopropyl later.

I inspected for bridge with my 20x lens, but i'll do it again after a rightfull cleaning.

 

Yeah this chip sounds pretty nice =), but setting is up is pretty troublesome. If fine with tqfp of small pin number, but i had trouble to tack this big one...

 

I'll add another post if i manage to make it work, if i set up a new one or if i give up and buy a xmegaxplain.

 

Thanks again you two.

 

Eric

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

Sounds like you are a step closer.

 

Use the AVR ISP mkII and PDI programming to get started, it is the simplest approach.

 

Application Note AVR042 shows the "Standard" programming connection layouts.

 

You will have to connect Vcc, Ground, and the two PDI programming lines.

Don't put any resistors or capacitors on the Xmega's Reset\ pin which is one of the PDI programming pins.

 

2 mA @ 3.3 V sounds much better!

 

Do report back on your progress.

 

JC

 

 

 

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

The 200ma per vcc pin is the absolute maximum. Somewhere, above that, the bond wire will glow like a little fuse and evaporate. Please recheck the title on the table where you saw that number.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

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

I read and understood that 200 was the max, but didn't read the "general operation part" ( which is what you told me thanks )

3mA was too low and after some more ( and more ) rework/cleaning, i must say it feels really weird to brush the chip under running water but it works. Now the chip draw 12.2 mA under 3.2V which is right in the range you gave me.

I still could not enter programming mode with pdi ( either dragon or avrisp ). JTAG was available though only when i set the ide to use external reset, so now i can nicely read the chip id and i was really happy to read those digits =)

I'll try tomorrow to play a bit with the fuse to check if pdi need to be activated ( even if i read on the forum that it is always available ) and to actually program it.

 

I'm impressed by the durability of the chip, it handled a massive short, making my first custom supply ( 500mA 3.3 ldo ) fail, i reworked it with iron and hot air station many times and it's still alive. I got less luck with previous ic.

 

So for future people who might encounter the same difficulties, it is perfectly fine to power it and program it with jumper wire ( but it's not pretty, like an octopus ). And do not do like i me. Read the carefully the manual x(

Edit: And stay away from cheap flux from ebay/amazon/ali* it does not work greatly. i'll stick to my flux pen or flux paste from mouser/digi/farnell. Even if it cost 10x more, it actually does the job

 

I'll rename the title to make it more meaningful.

 

Two last pictures of my late workbench and the reworked chip.

 

Last Edited: Sun. Jan 15, 2017 - 02:04 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

grifos wrote:
Is a breakout board such a terrible idea?
No ... as shown in the photo in post :

https://www.avrfreaks.net/forum/digital-midi-synthesizersampler-atxmega128-and-1mbyte-sample-ram#comment-1551226

Breakouts are common for first prototypes.

For Proof-of-Concept use an :

  • Atmel XMEGA128A1U Xplained Pro and the Xplained Pro Hardware Guide for custom I/O and memory, or,
  • Third party XMEGA128A1U board into your preferred prototyping board

 

The Schmartboard method greatly reduces risk :

http://schmartboard.com/schmartboard-ez-qfp-32-100-pins-0-5mm-pitch-2-x-2-grid-202-0011-01/

 

Alternatively, XMEGA128A1U in BGA 0.8mm pitch on a BGA breakout with solder paste (or maybe tacky flux) by hot air (maybe a hot air gun from the hardware store) :

http://www.chipquik.com/store/advanced_search_result.php?keywords=bga-100&x=0&y=0

 

P.S.

A LOOOOONNNNNNGGGGG DIP :

http://www.chipquik.com/store/product_info.php?products_id=2210152 (TQFP-100 (0.5 mm pitch, 14 x 14 mm body) PCB and Stencil Kit)

 

grifos wrote:
Does this issue rings anyone bell?
More so recall a memory of a lifted pad on a QFP breakout (fewer pins than yours)

You're braver than me on the first attempt; I bailed to a technician.

 

"Dare to be naïve." - Buckminster Fuller

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

What PDI clock speed were you using? I seem to remember having to lower the default clock speed set by AS. IIRC the default is 4MHz but it has to be brought down to 1MHz.

Last Edited: Sun. Jan 15, 2017 - 11:29 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the alternatives gchapman, i considered BGA at a time, but i'd rather not try my first bga attemps with 100 balls=), i'll try with a smaller bluetooth chip. I like you're long dip, especially the 100 individual pin headers =)

 

Howard, i can't change pdi speed in AS 7 for my dragon :(, however i just got PDI working by adding a 10k pull down resistor to the PDI_DATA line ( pin 89 ). Maybe it should appear in AVR1012 page 15, because it was a shot in the dark ( i tried many conf, pull up on PDI_CLOCK/PDI_DATA/BOTH, pull down PDI_CLOCK then PDI_DATA)...

 

So JTAG ok, PDI ok. All is definitively solved =)

 

Thx again for the support

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

A little return of experience. I mentioned in my previous comment i had to add a pull down resistor to the PDI_DATA line, but i must admit, it is not a forgotten param from atmel documentation.

It was due to a piece of hardware i was using and that was creating random result while programming or reading the flash.

 

I was using a cheap chinese 12V transformer to feed the regulator of my custom xmega board. The results were heratic. It would program 1 out of 5 times but 19/20 time the xmega flash was corrupted.

This cheap chinese 12V transformer was not providing a ferrite choke at the end, so all the switching noise was feed into the power rail.

I changed it with a 12V transfomer laying around that have a ferrite choke, so the switching noise was greatly reduced. And the result was immediate. No more flash corruption while progaming. Program + verify are succesfull (almost) every time.

Those programming interfaces are really sensitive :(

 

So stay away from those cheap transformer, or add a ferrite choke yourself.

 

+

 

Last Edited: Fri. Jan 20, 2017 - 06:25 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

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

Reminds me of an old saying:

 

A chain is only as strong as its weakest link

 

In this case, the weak link was the cheap power supply.

 

It is good that you found the source of the problem!

 

JC