Problem: I get Errors when trying to connect to the MicroController using the PDI interface. How does a MicroController behave when it hasn't been programmed? Is there a pin that will toggle to show me it's OK? Kind of a hardware "Hello World"?
I would like a way to confirm if the MicroController has failed or if I've done something else wrong.
I've designed and had manufactured a custom board for an Atmel XMEGA MicroController, ATXMega64D3 to be exact. I'm using the ATXMega192D3 for prototyping, but these chips are identical except Flash/SRAM/EEPROM.
At this point the Power Supply is a verified and stable 3V3 Breadboard Power Supply to all power pins on the MicroController and the Power pins of the PDI connector. I have most of the decoupling Caps recommended in AVR1012: XMEGA A Schematic Checklist, section 2.1. I placed jumpers instead of the inductors & beads specified, and have not installed the electrolytic capacitors.
Total Parts installed = 6 qty 100nF decoupling Caps, 1 MicroController, 6-Pin header for PDI.
The MicroController is a 64-pin TQFP which I soldered on by hand under 7-14x Magnification. Then inspected for solder bridges.
I live in the Seattle area and it's been raining, I'm a native so I haven't turned the heater on. Odds of static damage are very low.
Programmer is an AVR Dragon, using the latest (non-beta) of Atmel Studio 6.0. Which reads the boards power level correctly but can't actually communicate with the MicroController.
My Current Theory:
I checked my design and the PDI Clock trace is 15mm long and the PDI Data trace is 25mm long, is this enough of a difference to cause Sync Issues? I would like a way to confirm this before going through the time and money of having a new board made.
Thank you for any help or ideas.
Update Still not working, but I have found and fixed the following issues.
- The MicroController was installed 180 degrees from what is required. The uC that I have has 2 circles in diagonal corners. When I first installed it I oriented the larger circle to line up with my Sikscreen. Only later when I read the logo did I realize that when the Logo is oriented correctly the Pin #1 identifier (smaller circle) is in the upper left.
- Because I had started with the Voltage Regulator on the board, my power supply was set to 5V which is beyond the maximum voltage for this chip. So I have replaced the MicroController with an extra that I purchased at the same time.
At this time my theory is the AVR Dragon is my issue. The documentation states that the Dragon can connect to XMega with PDI but I have found multiple comments that seem to show about a 30% success rate, depending on the XMega model.
As an FYI with Power applied, the non-power pins read between 50mV and 300mV. Once again this is an un-programmed uC so there isn't any code running. This could be a leakage voltage or it could be the default configuration of the pins I'm not sure.
Using the AVR JTAG ICE 3 programmer it showed up, read the signature and fuses perfectly.