Forum: Mikrocontroller und Digitale Elektronik xmega a1 xplained und avrisp mk2, keine Verbindung mehr


von Andreas W. (crazywolff)


Lesenswert?

Hi,

seit ein paar Tagen habe ich ein xmega A1 xplained board und einen 
avrisp mk2. Adapterkabel für PDI ist fertig und die ersten Versuche mit 
dem Atmel Studio 6.1 gingen gut von de Hand.

Mich hatte nur gestört, dass ich jeden Programmierversuch zweimal 
starten musste, da immer ein Programmierversuch abbrach und der zweite 
dann durchgin. Lösung dazu gab es im Internet: JTAGEN ausschalten (link 
hab ich grad nicht zur Hand).

Ich bin mir nicht mehr sicher, in welcher Reihenfolge ich dann die 
folgenden Aktionen durchgeführt habe. Am ehesten vermutlich in der unten 
aufgeführten Reihenfolge:

- Memories -> Erase Chip -> Erase now
- Fuses, ich glaube beim Lesen der Fuses gab es einen Fehler, bin mir 
aber nicht mehr sicher.
- Fuses -> JTAGEN -> Program: Fehler

vermutlich beim Chip Erase hatte sich im Menu auch das Device von 
ATxmega128A1U auf ATxmega128A1 umgestellt.

Seither gab es einige Versuche, mittels Pulldown wieder per PDI auf dem 
xmega zu kommen, aber alle erfolglos. Im Scope sieht die Kommunikation 
irgendwie komisch aus. Reset/Clock und Data vom Programmer kommen, aber 
anscheinend Antwortet der xmega nicht. Data braucht dann mehrere 
Taktzyklen von high nach low...

Langer Rede kurzer Sinn:

Gibt es jemanden in der Nähe München mit JTAG-Equipment für einen 
Widerbelebungsversuch? Oder jemanden mit einem xmega-Board, damit ich 
ein Problem des avrisp mkII ausschließen kann?

CU, Andreas

von Florian_unbekannto (Gast)


Lesenswert?

Hi,

ich glaube der PDI und der Xmega ist eh so eine Sache für sich. Soll 
wohl nicht so gut klappen. Schon oft gelesen. Ich würde mir an deiner 
Stelle für 30 Euro oder so den AVR Dragon holen, dann kannste den für 
wenig Geld mit JTAG debuggen und programmieren...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Andreas Wolff schrieb:
> Seither gab es einige Versuche, mittels Pulldown wieder per PDI auf dem
> xmega zu kommen, aber alle erfolglos.

Wie gross hast du den Pulldown gewählt? Er sollte nicht zu klein sein - 
beste Erfolge hatte ich mit 47k-100k.

Andreas Wolff schrieb:
> - Memories -> Erase Chip -> Erase now

Diesen Schritt kannst du dir in Zukunft sparen. Beim Programmieren wird 
eh der Chip gelöscht. Du hast das Board auch in den Programmiermodus 
gebracht (Button0 + PowerUp)? Davon steht bei dir nämlich nichts.

von Andreas W. (crazywolff)


Lesenswert?

Hi,

Matthias Sch. schrieb:
> Wie gross hast du den Pulldown gewählt? Er sollte nicht zu klein sein -
> beste Erfolge hatte ich mit 47k-100k.

Ich hab aktuell 47k drinnen.

CU, Crazy

von Andreas W. (crazywolff)


Lesenswert?

Hi,

Matthias Sch. schrieb:
> Du hast das Board auch in den Programmiermodus
> gebracht (Button0 + PowerUp)? Davon steht bei dir nämlich nichts.

SW0 + PowerUp ist doch nur bei Programmierung über den 32UC... auf dem 
xplain notwendig, aber meines Wissens nicht, wenn ich einen externen 
Programmer benutze. Zumindest denke ich, dass bei den ersten Versuchen 
das auch ohne geklappt hatte.

SW0 und PowerUp macht zumindest aktuell keinen Unterschied, das board 
bleibt nicht ansprechbar.

CU, Crazy

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Andreas Wolff schrieb:
> SW0 + PowerUp ist doch nur bei Programmierung über den 32UC... auf dem
> xplain notwendig, aber meines Wissens nicht, wenn ich einen externen
> Programmer benutze.

Das ist wahr. Hast du denn mal mit Flip probiert, ob der Boardcontroller 
noch Programme flashen kann?

von Andreas W. (crazywolff)



Lesenswert?

Hi,

Matthias Sch. schrieb:
> Hast du denn mal mit Flip probiert, ob der Boardcontroller
> noch Programme flashen kann?

gerade festgestellt, dass auf dem xplained ja der 128A1 und nicht der 
A1u drauf ist. für das Problem macht das keinen Unterschied, hat ja mit 
beiden Einstellungen über den avrisp mkII nicht funktioniert.

So, dann den A1 als Target im Flip definiert (XML kopiert) und getestet:

Schaut nicht gut aus. Egal ob beim PowerOn der SW0 gedrückt ist, oder 
nicht, es ist immer das gleiche Ergebnis mit einem Timeout error. Die 
LED auf dem xplained geht dabei sofort beim Schritt "Synchronizing 
target" auf rot, dann dauert es eine Sekunde und im Terminal kommt die 
passende Fehlermeldung (Bei einem sofortigen weiteren Versuch wird die 
LED wieder grün, der Fehler bleibt aber).

Weitere Ideen?

CU, Crazy

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Andreas Wolff schrieb:
> Weitere Ideen?

Hmm, nicht wirklich. Sieht mir danach aus, als würdest du nun keine 
andere Chance haben, als ein JTAG Programmer zu benutzen, um wenigstens 
an die Fuses ranzukommen. Das geht über Flip ja sowieso nicht.

von Andreas W. (crazywolff)


Lesenswert?

Hi,

Matthias Sch. schrieb:
> Sieht mir danach aus, als würdest du nun keine
> andere Chance haben, als ein JTAG Programmer zu benutzen, um wenigstens
> an die Fuses ranzukommen.

Plan wäre also weitersuchen, ob sich jemand mit JTAG meldet.

Parallel dazu JTAG Programmer kaufen:
- Dachte da an einen JTAGICE3, passt das?
- Kann ich dann den AVRISP MKII wieder verkaufen oder kann der was, was 
per JTAG nicht geht?

CU, Crazy

von Dieter (Gast)


Lesenswert?

Hallo Andreas,

ich hatte auch das Problem keine Verbindung mehr mit meinem AVRISP mkII 
von DIAMEX ALL-AVR zum XPLAINED! Ich hatte aus versehen alle 
FUSEBYTE0..5 auf 0x00 gesetzt!
Danach ging keine Verbindung mehr!
So habe ich ihn wieder zum laufen gebracht:
Jumper J300 entfernen
Mit einer externen Spannung von 3.6Volt am J300 VCC_MCU_P3V3 und GND.
(Das müsste er laut Datenblatt aushalten: Maximum Operating Voltage 
3.6V).
Zwei Widerstände 47K PDI DATA u. PDI CLOCK/RESET also J201 DATA u. CLK 
gegen GND.

Dann ging die Connection wieder und DEVICE-ID konnte wieder gelesen 
werden und die FUSEBYTE richtig stellen!

Ich vermute das der Fehler mit dem FUSEBYTE5 der beim lesen auf 0xC0 war 
zu tun hatte hier wird der BODLVL eingetragen und wenn dann der Wert der 
Spannung höher als die 3.2 Volt (leer) ist geht nichts mehr!

Vielleicht hilft's

Gruß Dieter

von Andreas W. (crazywolff)


Lesenswert?

Hi,

Dieter schrieb:
> Mit einer externen Spannung von 3.6Volt am J300 VCC_MCU_P3V3 und GND.

Bis ~3,50V zeigt der AVRISP mkII idle, darüber eine orange blinkende 
Status-LED ("Reversed target cable connection, or not correct pull-up on 
the reset line.")

Naja, 3,5V sollte eigentlich genug sein für versehentlich gelöschte 
BOD-Fuse (3,4V)

Dieter schrieb:
> Zwei Widerstände 47K PDI DATA u. PDI CLOCK/RESET also J201 DATA u. CLK
> gegen GND.

CLK habe ich keinen Pulldown, schaut aber auf dem Oszi auch gut aus. 
2MHz mit passablen Flanken.
Data hingegen macht mir Sorgen. 47k ist vorhanden. Alle steigenden 
Flanken und manche fallenden sind ok, aber immer dann wenn der µC über 
PDI was senden sollte dann habe ich klassische C-Entladekurven mit 
Tau~15µs. Auch scheint der AVRISP mkII nur ein PDI-STS Kommando ohne 
Parameter zu senden...

Fehlermeldungen beim Programmierversuch bleiben wie bisher, egal ob FLIP 
oder AVRISP mkII.

Naja, mal auf dem JTAG Programmer warten...

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.