Forum: Mikrocontroller und Digitale Elektronik Atmel JTAG ICE mk-II RSP_ILLEGAL_JTAG_ID


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander S. (alesi)


Lesenswert?

Hallo,

ich habe zwei Atmel JTAG ICE mk-II. Einen mit Seriennr. A09-0041.. und 
einen mit Seriennr. B000.... auf dem Etikett. Also beide Hardware Rev. 1 
(Hardware revision 1 supports both PDI and aWire. Serial numbers start 
with A09-0041 or B0...).
Ich teste sie über den JTAG-Anschluss an einem Atmel MEGA-1284P XPLAINED 
mit avrdude unter Linux.
Der mit Seriennr. A09-0041 funktioniert, der mit Seriennr. B000.. 
liefert den Fehler:
1
avrdude jtagmkII_program_enable() warning: bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
2
avrdude jtagmkII_program_enable() warning: retrying with external reset applied
3
avrdude jtagmkII_program_enable() warning: bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
4
avrdude jtagmkII_program_enable() error: JTAGEN fuse disabled?
5
avrdude main() error: initialization failed, rc=-1
6
        - double check the connections and try again
7
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
8
        - use -F to override this check

Aus AVR067: JTAGICE mkII Communication Protocol
1
5.2.18 Illegal JTAG ID (RSP_ILLEGAL_JTAG_ID: 0xA9)
2
The master has attempted to enter programming mode but the JTAG ID does not
3
match the target device.

Diesem Beitrag nach Beitrag "Re: AVR JTAG ICE mkII" 
könnte das am Kabel liegen, oder? Den zweiten JTAGICE mk-II mit der 
Fehlermeldung habe ich gerade gebraucht gekauft. Das Flachbandkabel hat 
zwei bis drei leichte Knickstellen.

Ohne Fehler:
1
$ lsusb
2
Bus 001 Device 012: ID 03eb:2122 Atmel Corp. XMEGA-A1 Explained evaluation kit
3
Bus 001 Device 013: ID 03eb:2103 Atmel Corp. JTAG ICE mkII
4
5
$ avrdude -c jtag2 -p m1284p -P usb -v -n
6
7
avrdude: Version 7.1
8
         Copyright the AVRDUDE authors;
9
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
10
11
         System wide configuration file is /etc/avrdude.conf
12
         User configuration file is /home/alesi/.avrduderc
13
         User configuration file does not exist or is not a regular file, skipping
14
15
         Using Port                    : usb
16
         Using Programmer              : jtag2
17
avrdude: usbdev_open(): found JTAGICE mkII, serno: 070000000...
18
JTAG ICE mkII sign-on message:
19
Communications protocol version: 1
20
M_MCU:
21
  boot-loader FW version:        255
22
  firmware version:              7.39
23
  hardware version:              0
24
S_MCU:
25
  boot-loader FW version:        255
26
  firmware version:              7.39
27
  hardware version:              1
28
Serial number:                   07:00:00:00:...
29
Device ID:                       JTAGICEmkII
30
         AVR Part                      : ATmega1284P
31
         Chip Erase delay              : 55000 us
32
         PAGEL                         : PD7
33
         BS2                           : PA0
34
         RESET disposition             : possible i/o
35
         RETRY pulse                   : SCK
36
         Serial program mode           : yes
37
         Parallel program mode         : yes
38
         Timeout                       : 200
39
         StabDelay                     : 100
40
         CmdexeDelay                   : 25
41
         SyncLoops                     : 32
42
         PollIndex                     : 3
43
         PollValue                     : 0x53
44
         Memory Detail                 :
45
46
                                           Block Poll               Page                       Polled
47
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
48
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
49
           eeprom                 65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
50
           flash                  65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
51
           lfuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
52
           hfuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
53
           efuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
54
           lock                    0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
55
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
56
           calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00
57
58
         Programmer Type : JTAGMKII
59
         Description     : Atmel JTAG ICE mkII
60
         M_MCU HW version: 0
61
         M_MCU FW version: 7.39
62
         S_MCU HW version: 1
63
         S_MCU FW version: 7.39
64
         Serial number   : 07:00:00:00:...
65
         Vtarget         : 3.4 V
66
         JTAG clock      : 891.7 kHz (1.1 us)
67
68
avrdude: AVR device initialized and ready to accept instructions
69
avrdude: device signature = 0x1e9705 (probably m1284p)
70
71
avrdude done.  Thank you.


Mit Fehler:
1
$ lsusb
2
Bus 001 Device 005: ID 03eb:2122 Atmel Corp. XMEGA-A1 Explained evaluation kit
3
Bus 001 Device 004: ID 03eb:2103 Atmel Corp. JTAG ICE mkII
4
5
$ avrdude -c jtag2 -p m1284p -P usb -v -n
6
7
avrdude: Version 7.1
8
         Copyright the AVRDUDE authors;
9
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
10
11
         System wide configuration file is /etc/avrdude.conf
12
         User configuration file is /home/alesi/.avrduderc
13
         User configuration file does not exist or is not a regular file, skipping
14
15
         Using Port                    : usb
16
         Using Programmer              : jtag2
17
avrdude: usbdev_open(): found JTAGICE mkII, serno: 00B00000...
18
JTAG ICE mkII sign-on message:
19
Communications protocol version: 1
20
M_MCU:
21
  boot-loader FW version:        255
22
  firmware version:              7.39
23
  hardware version:              0
24
S_MCU:
25
  boot-loader FW version:        255
26
  firmware version:              7.39
27
  hardware version:              1
28
Serial number:                   00:b0:00:00:...
29
Device ID:                       JTAGICEmkII
30
         AVR Part                      : ATmega1284P
31
         Chip Erase delay              : 55000 us
32
         PAGEL                         : PD7
33
         BS2                           : PA0
34
         RESET disposition             : possible i/o
35
         RETRY pulse                   : SCK
36
         Serial program mode           : yes
37
         Parallel program mode         : yes
38
         Timeout                       : 200
39
         StabDelay                     : 100
40
         CmdexeDelay                   : 25
41
         SyncLoops                     : 32
42
         PollIndex                     : 3
43
         PollValue                     : 0x53
44
         Memory Detail                 :
45
46
                                           Block Poll               Page                       Polled
47
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
48
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
49
           eeprom                 65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
50
           flash                  65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
51
           lfuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
52
           hfuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
53
           efuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
54
           lock                    0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
55
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
56
           calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00
57
58
         Programmer Type : JTAGMKII
59
         Description     : Atmel JTAG ICE mkII
60
         M_MCU HW version: 0
61
         M_MCU FW version: 7.39
62
         S_MCU HW version: 1
63
         S_MCU FW version: 7.39
64
         Serial number   : 00:b0:00:00:...
65
         Vtarget         : 3.4 V
66
         JTAG clock      : 891.7 kHz (1.1 us)
67
68
avrdude jtagmkII_program_enable() warning: bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
69
avrdude jtagmkII_program_enable() warning: retrying with external reset applied
70
avrdude jtagmkII_program_enable() warning: bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
71
avrdude jtagmkII_program_enable() error: JTAGEN fuse disabled?
72
avrdude main() error: initialization failed, rc=-1
73
        - double check the connections and try again
74
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
75
        - use -F to override this check
76
77
78
avrdude done.  Thank you.

von Wastl (hartundweichware)


Lesenswert?

Alexander S. schrieb:
> Diesem Beitrag nach Beitrag "Re: AVR JTAG ICE mkII"
> könnte das am Kabel liegen, oder?

Ja schon. Aber evtl. auch an unterschiedlicher Firmware-Version.
Du könntest ja mal versuchen zu updaten oder auch zu downgraden.
Auf jeden Fall beide auf gleichen Firmware-Stand bringen ...

Alexander S. schrieb:
> Den zweiten JTAGICE mk-II mit der
> Fehlermeldung habe ich gerade gebraucht gekauft. Das Flachbandkabel hat
> zwei bis drei leichte Knickstellen.

Das Flachkabel lässt sich tauschen. Du hast ja zwei, also mache
einen Kreuztest. Nicht selbständig draufgekommen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wastl schrieb:
> Ja schon. Aber evtl. auch an unterschiedlicher Firmware-Version.

Wenn du genau hingesehen hättest, wäre dir aufgefallen, dass beide die 
gleiche Firmware-Version haben.

von Wastl (hartundweichware)


Lesenswert?

Jörg W. schrieb:
> Wenn du genau hingesehen hättest, wäre dir aufgefallen, dass beide die
> gleiche Firmware-Version haben.

Bei der Unmenge an ASCII kann so etwas schon mal im Gesamteindruck
untergehen.

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Hallo,

in welcher Richtung genau muss ich den Stecker auf der Platine des 
JTAG-mkII abziehen? Muss ich dabei noch "Pins", die eingerastet sind, 
bei Seite drücken? Gibt es einen Link mit Bildern wie Stecker und Sockel 
einzeln aussehen?

von Harald K. (kirnbichler)


Lesenswert?

Der schwarze Rahmen auf dem mittleren Bild muss vorsichtig in Richtung 
des Folienleiters gezogen werden. Dann kann man mit wenig Kraft den 
Folienleiter herausziehen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Du musst diese beiden Nasen herausziehen, danach ist das Kabel lose.

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Danke Harald und Jörg. Ich war mir nicht ganz sicher, ob man nur das 
Flachbandkabel oder auch einen Teil des Plastiks abziehen muss. Hat 
geklappt - siehe Bilder.

von Alexander S. (alesi)


Lesenswert?

Hallo,

beim gerade gebraucht gekauften JTAG ICE mk-II war das komplette Zubehör 
dabei - nur das Ersatzflachbandkabel nicht. Ich habe aber eines von 
meinem anderen JTAG ICE mk-II. Das habe ich jetzt beim nicht 
funktionierenden  JTAG ICE mk-II mit Seriennr. B000. eingesetzt. Leider 
kommt wieder die gleiche Fehlermeldung:
1
$ lsusb
2
Bus 001 Device 007: ID 03eb:2122 Atmel Corp. XMEGA-A1 Explained evaluation kit
3
Bus 001 Device 006: ID 03eb:2103 Atmel Corp. JTAG ICE mkII
4
5
$ avrdude -c jtag2 -p m1284p -P usb -v -n
6
7
avrdude: Version 7.1
8
         Copyright the AVRDUDE authors;
9
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
10
11
         System wide configuration file is /etc/avrdude.conf
12
         User configuration file is /home/alesi/.avrduderc
13
         User configuration file does not exist or is not a regular file, skipping
14
15
         Using Port                    : usb
16
         Using Programmer              : jtag2
17
avrdude: usbdev_open(): found JTAGICE mkII, serno: 00B00000...
18
JTAG ICE mkII sign-on message:
19
Communications protocol version: 1
20
M_MCU:
21
  boot-loader FW version:        255
22
  firmware version:              7.39
23
  hardware version:              0
24
S_MCU:
25
  boot-loader FW version:        255
26
  firmware version:              7.39
27
  hardware version:              1
28
Serial number:                   00:b0:00:00:...
29
Device ID:                       JTAGICEmkII
30
...
31
...
32
...
33
avrdude jtagmkII_program_enable() warning: bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
34
avrdude jtagmkII_program_enable() warning: retrying with external reset applied
35
avrdude jtagmkII_program_enable() warning: bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
36
avrdude jtagmkII_program_enable() error: JTAGEN fuse disabled?
37
avrdude main() error: initialization failed, rc=-1
38
        - double check the connections and try again
39
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
40
        - use -F to override this check

Jetzt bin ich erstmal ratlos...

von Wastl (hartundweichware)


Lesenswert?

Alexander S. schrieb:
> Jetzt bin ich erstmal ratlos...

Man könnte mal die vier JTAG-Signale mit dem Oszilloskp betrachten
ob da immer gültige Pegel daherkommen. Nachdem der JTAGICE ja
an seinem Port Pegelwandler hat könnte einer davon angeschossen
sein - er würde ja auch den Rest der Schaltung schützen sodass
die innere Schaltung des ICE nur sehr unwahrscheinlich beschädigt
ist. Also wenn die JTAG-Signale nicht ok sind (analog messen,
nicht mit Logikanalysator!) könnte man sich daran machen einen
Pegelwandler auszutauschen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alexander S. schrieb:
> nur das Ersatzflachbandkabel nicht.

Die lagen anfangs nicht dabei. Erst als Atmel gemerkt hat, dass die 
Dinger eine Schwachstelle sind, haben sie welche beigelegt.

Wastl schrieb:
> Nachdem der JTAGICE ja
> an seinem Port Pegelwandler hat könnte einer davon angeschossen
> sein

Ich habe da auch schon kaputte gewechselt. Vor allem in der A-Version 
waren die relativ ungeschützt am Ausgang und man konnte sie schon 
zerstören, wenn man den Stecker eine Reihe falsch eingesteckt hat. 
Allerdings ist es hier ja die B-Version, die nicht funktioniert. Einen 
Versuch, die Signale anzusehen, wäre es aber allemal wert.

von Wastl (hartundweichware)


Lesenswert?

Wastl schrieb:
> Man könnte mal die vier JTAG-Signale mit dem Oszilloskp betrachten

Eventuell sind bei SPI-Betrieb andere Pins als bei JTGAG-
Betrieb im Spiel ....

von Alexander S. (alesi)


Lesenswert?

Was lasse ich am besten laufen, um die Signale am Oszi zu beobachten. 
Reicht
1
$ avrdude -c jtag2 -p m1284p -P usb -v -n
oder gibt es etwas besseres?

von Wastl (hartundweichware)


Lesenswert?

Alexander S. schrieb:
> Was lasse ich am besten laufen, um die Signale am Oszi zu beobachten.

Auf jeden Fall eher niedrige Taktfrequenz wählen damit man
das Ereignis länger betrachten kann. Im Fehlerfall zeigt sich
dann kein Low oder High wo eines sein sollte, oder der Low-/High-
Pegel ist nicht ausreichend innerhalb der Spezifikation.
Offensichtlichstes Beispiel ist ein "halber" High-Pegel. Dabei
muss man immer von der Betriebsspannung ausgehen die der
Vtarget Pin des ICE misst da ja die JTAG Pins (oder SPI Pins)
auf diesen Pegel einjustiert werden.

Wäre ja auch interessant bzw. wichtig zu wissen ob das Problem
bei SPI und JTAG auftritt oder nur in einem Fall.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wastl schrieb:
> Eventuell sind bei SPI-Betrieb andere Pins als bei JTGAG-
> Betrieb im Spiel ....

Grundsätzlich die gleichen, es wird nur eine Leitung weniger benötigt 
(TMS).

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe versucht die Signale am JTAG-Stecker mit dem Oszi zu messen.
1
Ch 1 (gelb):     Pin 1 TCK
2
Ch 2 (grün):     Pin 3 TDO
3
Ch 3 (violett):  Pin 5 TMS
4
Ch 4 (magenta):  Pin 9 TDI
2 V/div, 2 us

Die Pegel an TCK und TMS sind ca. 3.3 V, an TDO nur ca. 0.8 V. TDI ist 
low.
Kann das sein? Befehl war

 $ avrdude -c jtag2 -p m1284p -P usb -v -n

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich mess heute Abend mal und poste das Ergebnis hier.

Ich denke schon, dass an TDO was rauskommen muss, damit die Sache 
funktioniert.

: Bearbeitet durch Moderator
von Alexander S. (alesi)


Lesenswert?

Danke schon mal.

von Wastl (hartundweichware)


Lesenswert?

Alexander S. schrieb:
> Kann das sein?

Natürlich kann das sein (bei einem defekten Halbleiter),
soll aber nicht.
So etwa wie ich es erwartet habe. Auf der TDO Leitung
kommt für den Slave nur eine müde Dauer-Null heraus.

Wastl schrieb:
> Offensichtlichstes Beispiel ist ein "halber" High-Pegel.

In diesem Fall eher noch deutlich weniger ....

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Hallo,

hier noch ein Oszi-Bild mit Trigger auf Ch 2 über einen größeren 
Zeitbereich. Zu Beginn ist Ch 2 TDO über 3 V. TDO scheint drei Level zu 
haben.

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Da Du ja einen zweiten, funktionierenden Adapter hast:

Wiederhole die Messung mit dem.

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Mit dem zweiten funktionierenden zeigt das Oszibild an Ch 2 TDO nur zwei 
Pegel, 0 oder 3.3 V. Ich bin mir aber nicht sicher, dass die 
Triggerzeitpunkte identisch sind. Ch 4 TDI ist hier permanent auf low.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite



Lesenswert?

Mein altes ATmega1284-Board geht irgendwie nicht mehr, habe jetzt einen 
ATmega16 auf die Schnelle gefunden. Der dürfte zwar in den JTAG-Details 
etwas anders sein, aber das Bild im Großen und Ganzen sollte dasselbe 
sein.

Der erste Ausschnitt zeigt die Initialisierung des ICE, bis dahin 
scheint TDO zu floaten und auf low zu liegen. Ab da bleibt es dauerhaft 
auf Vcc (hier 5 V), bis auf die eigentliche Kommunikation. Der Anfang 
der Kommunikation ist auf dem zweiten Bild.

Ich könnte dir auch die komplette Salae-Mitschnitt-Datei zum Anschauen 
geben, aber die ist zig Megabyte groß.

Denke schon, dass es bei dir einen der Maxim-Pegelwandler geschossen 
hat.

von Alexander S. (alesi)


Lesenswert?

Danke Jörg.

Jörg W. schrieb:
> Denke schon, dass es bei dir einen der Maxim-Pegelwandler geschossen
> hat.

:-(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Man kann die Dinger mit Heißluft problemlos wechseln. Früher war Maxim 
recht freigiebig damit, jedermann oder -frau von jedem IC zwei Muster in 
die Hand zu drücken. Ich weiß nicht, ob sie das jetzt immer noch sind, 
nachdem sie zu Analog Devices gehören. Aber die Pegelwandler dürfte es 
auch bei Mouser etc. geben.

von Alexander S. (alesi)



Lesenswert?

Jörg W. schrieb:
> Man kann die Dinger mit Heißluft problemlos wechseln.

Eine Heißluftstation habe ich nicht und ein IC auszutauschen ist für 
mich erfahrungsgemäß schwieriger als ein IC neu einzulöten.

Der Vollständigkeit halber anbei nochmal zwei Oszilloskopbilder von 
beiden JTAG ICE mk-II zum gleichen Zeitpunkt, getriggert auf steigende 
und fallende Flanke von Ch 4 TDI bei 1.85 V; 2 V/div und 20 us/div.

Das erste Bild jtag05_no_error_ser_no_07.png zeigt das Bild vom 
funktionierenden JTAG ICE mk-II mit Sernr. 07... und das zweite Bild 
jtag06_error_ser_no_B0.png zeigt das Bild vom fehlerhaften JTAG ICE 
mk-II mit Sernr. B0. Da zeigt Ch 2 TDO drei Pegel.

Die Sequenz entspricht in etwa der Sequenz in 
Bildschirmfoto_2024-04-07_um_22.06.50.png in Beitrag 
Beitrag "Re: Atmel JTAG ICE mk-II RSP_ILLEGAL_JTAG_ID"

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alexander S. schrieb:
> Eine Heißluftstation habe ich nicht und ein IC auszutauschen ist für
> mich erfahrungsgemäß schwieriger als ein IC neu einzulöten.

Dann schick mir das Board her. Versuche mal rauszufinden, welcher 
MAXxxxx defekt sein könnte. Chancen stehen nicht schlecht, dass ich noch 
einen habe.

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Jörg W. schrieb:
> Versuche mal rauszufinden, welcher
> MAXxxxx defekt sein könnte.

JTAG Pin 3 TDO geht zum MAX4712 oben rechts vom Flachbandkabel, wenn das 
Flachbandkabel nach unten geht, siehe Bild.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Der MAX4712 ist ein Analogschalter. Ist natürlich auch nicht 
auszuschließen, dass es den getroffen hat, da habe ich leider keine da. 
Die kamen erst in der B-Version dazu, ich habe damals nur die 
A-Versionen reparieren müssen.

Die Pegelwandler sind die MAX3379, 3391 und 3392 in der Reihe darüber.

3379 und 3391 habe ich noch, 3392 nicht mehr.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Was mich jetzt etwas stutzig gemacht hat: TDO sind ja die Daten, die 
vom AVR zum ICE kommen. So gehen sie zu Pin 11 des MAX4712, dessen 
Gegenstück ist Pin 10, und das geht zu Pin 5 des MAX3392, welches ein 
Eingang ist.

Das spräche natürlich dann schon dafür, dass so ein MAX4712 kaputt ist, 
oder aber dieses SP720ABG TVS-Dioden-Array.

Im Prinzip müsste man diese MAX4712 auch weglassen können (wie bei der 
A-Version), zumindest erstmal für einen Test die entsprechenden Pins 
überbrücken. Die sind offenbar eingefügt worden zur Verbesserung der 
Robustheit, um das ICE von der Schaltung abzutrennen, wenn es gerade 
nicht aktiv ist.

: Bearbeitet durch Moderator
von Georg G. (df2au)


Lesenswert?

Auf dem Bild 
https://www.mikrocontroller.net/attachment/630547/jtag06_error_ser_no_B0.png 
sieht man, dass TDO durchaus auf einen korrekten High Pegel kommt (kurz, 
am Anfang). Wäre der Treiber defekt, wäre das nicht möglich. Für mich 
riecht der Fehler stark nach defekter / unpassender Firmware und nicht 
nach einem Hardware Problem.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Georg G. schrieb:
> Wäre der Treiber defekt, wäre das nicht möglich.

Wie geschrieben: TDO wird vom AVR getrieben, nicht vom ICE.

Das sieht mir eher so aus, als würde jemand den High-Pegel (der 
möglicherweise nur von einem Pullup erstmal kommt) auf 0,7 V herunter 
ziehen.

: Bearbeitet durch Moderator
von Georg G. (df2au)


Lesenswert?

Jörg W. schrieb:
> Das sieht mir eher so aus, als würde jemand den High-Pegel (der
> möglicherweise nur von einem Pullup erstmal kommt) auf 0,7 V herunter
> ziehen.

Richtig. Aber eine defekte Hardware zieht immer und nicht nur ab und an. 
Ein Widerstand (1k als Vorschlag) in der Verbindung vom AVR zum ICE und 
schon kann man messen, welche Seite für das halbseidene Signal 
verantwortlich ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Georg G. schrieb:
> Aber eine defekte Hardware zieht immer und nicht nur ab und an.

Hängt davon ab, was defekt ist. Wenn es dieser Schalter ist, dann kann 
es schon sein, dass der plötzlich in Abhängigkeit von seinem 
Ansteuersignal Strom zieht oder nicht, statt das Signal nur durch zu 
leiten, wie es gedacht ist.

Dahinter ist ja nur der Eingang eines Pegelwandlers, den kann man auch 
nicht durch eine kaputte Firmware zum Ausgang konfigurieren oder sowas.

von Georg G. (df2au)


Lesenswert?

Jörg W. schrieb:
> TDO sind ja die Daten, die
> vom AVR zum ICE kommen. So gehen sie zu Pin 11 des MAX4712, dessen
> Gegenstück ist Pin 10, und das geht zu Pin 5 des MAX3392, welches ein
> Eingang ist.

Sowohl MAX4712 als auch MAX3392 sind von Haus aus bidirektional. Da kann 
der JTAGICE schon im Fehlerfall das Signal kurzschliessen. Messen heisst 
Wissen :-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Georg G. schrieb:
> Sowohl MAX4712 als auch MAX3392 sind von Haus aus bidirektional.

MAX4712 ist ja nur ein Schalter, und den hätte ich jetzt auch in 
Verdacht.

Bezüglich MAX3392 liegst du jedoch falsch. TDO geht im ICE an Pin 5, und 
das ist ein dedizierter Eingang. MAX33xx kennt auch bidirektionale 
Treiber, aber 3392 ist dediziert.

von Alexander S. (alesi)


Angehängte Dateien:

Lesenswert?

Jörg W. schrieb:
> Die Pegelwandler sind die MAX3379, 3391 und 3392 in der Reihe darüber.

Eine direkte niederohmige Verbindung von JTAG Pin 3 TDO (Litze 13 von 
links) messe ich nur zum MAX4712 und zum SP720ABG (Pins siehe Bild). Zu 
den Pins der Pegelwandler sind es meistens 500 oder 600 Ohm.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alexander S. schrieb:
> Eine direkte niederohmige Verbindung von JTAG Pin 3 TDO (Litze 13 von
> links) messe ich nur zum MAX4712 und zum SP720ABG (Pins siehe Bild).

Ja klar. Das Prinzip (bei der B-Version) ist:

Der Pin geht an das TVS-Dioden-Array (SP720ABG) und von da zu einem der 
Anschlüsse der Analogschalter (MAX4712). Nur, wenn die Firmware den 
Analogschalter aktiviert, wird dann der MAX4712 durchgeschaltet, und ab 
da kommt das Signal weiter zu den Pegelwandlern.

Im Falle von TDO ist das Pin 10 des rechten MAX4712, der mit Pin 5 des 
MAX3392 verbunden ist (zumindest habe ich das auf meiner B-Version so 
„ausgeklingelt“).

Bei der A-Version war gingen die MAX33xx direkt auf die JTAG-Pins, was 
offenbar sehr häufig im praktischen Betrieb dann einen der Maxe das 
Leben gekostet hat, daher haben sie bei der B-Version in Richtung 
Robustheit nachgebessert.

Die einzig logische Erklärung für diese seltsam anmutenden Pegel auf TDO 
bei dir wäre daher ein Defekt im MAX4712, der dazu führt, dass abhängig 
von der Ansteuerung durch die Firmware eine unterschiedliche Last am 
TDO-Pin anliegt. (Wenn der MAX4712 ganz und der MAX3392 kaputt ist, dann 
sollte im nicht angesteuerten Zustand an TDO ein "high" von irgendeinem 
Pullup zu sehen sein.)

: Bearbeitet durch Moderator
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.