Forum: Mikrocontroller und Digitale Elektronik Xmega256A3U: Kein Zugriff über PDI


von Nick Nack (Gast)


Lesenswert?

Hallo zusammen,

ich habe eine Platine mit AtXmega256A3U-AU(TQFP64) erstellt und diesen 
verlötet.
Es ist meine erste Xmega-Platine!

Allerdings bekomme ich nur eine Fehlermeldung wenn ich versuche über 
Atmel Studio die "Device-ID" auszulesen oder den Debugger starte:

"[ERROR] PDI enable failed. Debugger command Activate physical failed., 
ModuleName: TCF (TCF command: Device:startSession failed.)"

Als Debugger nutze ich den JTAG-Ice-3 mit folgender Anschluss-Belegung:
Pin6 = RST (5kOhm Pullup to VCC, C100nF & C10nF to GND)
PIN9 = PDI (Serienwiderstand 191 Ohm)
PIN4 = VCC (3,2V)
PIN2 = GND

PDI-Clock habe ich in mehreren Stufen bis runter auf 32kHz 
ausprobiert..ohne Erfolg.

Wie kann ich feststellen ob der Xmega in Ordnung ist bzw. das Layout 
passt?

Der Xmega hat einen kleinen und einen großen Kreis auf der 
Oberseite...welcher davon ist der "Index-Corner"?

Wie bekomme ich die PDI-Schnittstelle zum laufen?

von Nick Nack (Gast)


Lesenswert?

Edit:

VCC und GND-Pins sind ALLE angeschlossen und jedes Pärchen mit einem 
100nF Kerko versehen.

Versorgungsspannung sieht auf dem Oszi stabil aus und beträgt 3,26V.

Eine externe Taktquelle ist NICHT angeschlossen (allerdings ein 
Quarz-Footprint vorhanden).

von Stephan B. (matrixstorm)


Lesenswert?

Hallo

Nick Nack schrieb:
> Pin6 = RST (5kOhm Pullup to VCC, C100nF & C10nF to GND)
> PIN9 = PDI (Serienwiderstand 191 Ohm)

Pin6 duerfte dein Problem verursachen.
Im Datenblatt steht, das RST nicht mit Kondensatoren gepuffert sein 
sollte.
(Weil ueber RST der PDITakt uebertragen wird und die Cs das Signal zu 
stark entarten.)

Loete mal die Cs (und ggf. den Pullup gleich mit) runter und probier 
nochmal...

Funktioniert dein Programmer? Hast du diesen schon getestet?

Wenn du in Deutschland wohnst, kannst du mir auch gerne das Board 
zuschicken (60cent) und ich teste mal mit meinem MKII. Ich schicke es 
dir dann zurueck (nochmal 60cent).
Bei Interesse, schicke mir einfach eine PN.

MfG

: Bearbeitet durch User
von Nick Nack (Gast)


Lesenswert?

Beide Cs entfernt...gleicher Fehler

PullUp entfernt...gleicher Fehler

Nick Nack schrieb:
> Der Xmega hat einen kleinen und einen großen Kreis auf der
> Oberseite...welcher davon ist der "Index-Corner"?

Könnte jemand bitte diese Frage beantworten...nicht das der Xmega falsch 
herum eingebaut ist.

von Stephan B. (matrixstorm)


Lesenswert?

Hallo.
Hattest du den Chip bereits jemals programmieren koennen?
Sind seine Fuses auf den Defaulteinstellungen?

Teste bitte mal folgendes:

1) Wird der XMega merkbar warm?

2) Liegen PB4..PB7 auf High (JTAG mit internen Pullup) ?


Bei den ATxmega128A3U fuer mein Baselboard hatte ich auch mal einem im 
Talett dabei, der einfach nur heiss wurde und ueberhaupt nichts machte.

MfG

: Bearbeitet durch User
von Nick Nack (Gast)


Lesenswert?

Stephan B. schrieb:
> Hattest du den Chip bereits jemals programmieren koennen?

Nein.

Stephan B. schrieb:
> Sind seine Fuses auf den Defaulteinstellungen?

Müsste der Fall sein(siehe oben)

Stephan B. schrieb:
> 1) Wird der XMega merkbar warm?

Nein, der Stromverbrauch liegt (bei 12V-Versorgung) vor dem StepDown bei 
20mA...es sind zwei Betriebs-Leds verbaut(in 5V und 3V Versorgung) die 
diesen Strom erklären könnten.

Stephan B. schrieb:
> 2) Liegen PB4..PB7 auf High (JTAG mit internen Pullup) ?

Ich kann 3,17V auf allen vier Pins messen.

von Stephan B. (matrixstorm)


Lesenswert?

Okay.

Wenn es nicht an deinem Programmer liegen sollte, dann bin ich 
ersteinmal out-of-ideas.

MfG Stephan

von Nick Nack (Gast)


Lesenswert?

Stephan B. schrieb:
> Okay.
>
> Wenn es nicht an deinem Programmer liegen sollte, dann bin ich
> ersteinmal out-of-ideas.
>
> MfG Stephan

Vielen Dank für die Hilfe!

Ich besitze einen Original MK2, einen original MK3 und einen 
MK2-Clon...alle drei streiken mit PDI an der Xmega-Platine, 
funktionieren aber über JTAG an einem Atmega1284-Board.

Ich werde nun versuchen die Jtag-Pins des Xmegas ab-zugreifen und auf 
Kabeln heraus zu führen.

von Nick Nack (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe nun die Jtag-Pins mit dem MK3 verbunden und darüber komme ich 
in das Device-Programming(siehe Bild).

Muss ich hier etwas ändern damit PDI funktioniert?

von Robert W. (robwa)


Lesenswert?

Hallo, wie kommst Du zur eingangs genannten Anschlußbelegung für PDI?
Die richtigen Anschlüsse für PDI am JTAGICE3 sind: PIN2 (oder 6)->GND, 
PIN3 (oder 1)->PDI_DATA(=PIN56 am Xmega256A3), PIN4 (oder 2) -> VDD und 
PIN6 (oder5) ->PDI_CLK (= PIN 57 am Xmega). Die Anschlüsse in Klammer 
gelten bei Verwendung des 6-poligen Adapters. Die Anschlußbelegung 
findest Du auf der Webseite: 
http://www.atmel.no/webdoc/jtagice3/jtagice3.connecting_pdi.html
Bei mir hat der PDI-Anschluß mit dem 6-poligen Adapter und Taktrate bis 
108kHz immer funktioniert. Der PIN-1 am Xmega ist neben dem kleinen 
Kreis, oder wenn Du die Aufschrift richtig lesen kannst auf der linken 
Seite oben.

BG, Robert.

: Bearbeitet durch User
von matrixstorm (Gast)


Lesenswert?

Nick Nack schrieb:
> Muss ich hier etwas ändern damit PDI funktioniert?

PDI kann NICHT (in Gegensatz zu JTAG) abgeschalten werden.
Warum dein PDI nicht geht kann ich mir nicht wirklich erklaeren.
Entweder ist deine Verkabelung falsch, die Programmierspannung inkorrekt 
oder im IC sind einige Bondwire (so z.B. das am PIN 56) durch zu hohe 
Loetleistung weggebrannt.


Pass immer gut auf das du "JTAGen" nicht deaktivierst - sonst kommst du 
gar nicht mehr an den IC...

MfG

von Nick Nack (Gast)


Lesenswert?

Robert W. schrieb:
> Hallo, wie kommst Du zur eingangs genannten Anschlußbelegung für PDI?

http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/JTAGICEmkII/mkII/Html/Connecting_to_target_through_the_PDI_interface.htm

In diesem Beispiel wurde TDI als PDI_DATA genutzt und ich bin 
fälschlicher weise davon ausgegangen das es beim MK3 ebenso ist. Der 
MK2-Clon scheint mit der jetzigen Firmware keinen Xmega über PDI zu 
unterstützen. Warum der original MK2 nicht funktioniert hat werde ich 
noch untersuchen.

Robert W. schrieb:
> Die Anschlußbelegung
> findest Du auf der Webseite:
> http://www.atmel.no/webdoc/jtagice3/jtagice3.connecting_pdi.html

Ich habe den PDI_DATA-Pin an TDO(MK3) gehängt und ES LÄUFT NUN :)

matrixstorm schrieb:
> Pass immer gut auf das du "JTAGen" nicht deaktivierst - sonst kommst du
> gar nicht mehr an den IC...

Wenn PDI funktioniert kann ich JTAG aber abschalten, oder?!?

von Stephan B. (matrixstorm)


Lesenswert?

Hi.

Nick Nack schrieb:
> Wenn PDI funktioniert kann ich JTAG aber abschalten, oder?!?


Wenn PDI dann in mehreren Tests sich als stabil erweist, kannst du JTAG 
ausmachen - genau.

Nachtrag: Du kannst aber auch JTAG an lassen und in deiner Firmware zur 
Laufzeit deaktivieren:
1
/* disable the JTAG Port */
2
CPU_CCP    = CCP_IOREG_gc;
3
MCU.MCUCR  = MCU_JTAGD_bm;

MfG

: Bearbeitet durch User
von Nick Nack (Gast)


Lesenswert?

Stephan B. schrieb:
> Wenn PDI dann in mehreren Tests sich als stabil erweist, kannst du JTAG
> ausmachen - genau.

Gibt es im Bezug auf die Stabilität häufig Probleme?

Stephan B. schrieb:
> Nachtrag: Du kannst aber auch JTAG an lassen und in deiner Firmware zur
> Laufzeit deaktivieren:
> /* disable the JTAG Port */
> CPU_CCP    = CCP_IOREG_gc;
> MCU.MCUCR  = MCU_JTAGD_bm;

Vielen Dank für diesen Tipp und alle Helfer in diesem Thread!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.