Guten Abend Freunde der Elektronik!
Irgendwie habe ich Probleme mit der Atmel Dokumentation. Ich habe den
ARM Cortex SAMD10D14A uC von Atmel (M0+) mit dem Atmel ICE in der PCBA
Version verbunden gemäß Schaltplan. Da die PCBA Version ohne die
sauteuren Kabel und ohne Adapterplatine kommt, hatte ich mir nur das 10
polige Debugkabel mit den 2 Pfostenverbindern im 50 mil Raster bestellt,
die 1:1 durchverbunden sind. Dazu hatte ich mir einen kleinen Adapter
gebaut, so daß ich 1:1 auf einen 10 poligen Pfostenverbinder gehe im
wesentlich robusteren 2,54 mm Raster. Laut ICE Manual
(http://www.atmel.com/Images/Atmel-42330-Atmel-ICE_UserGuide.pdf ) habe
ich das SWD Pin Mapping auf S.22 verwendet, was allerdings enorm
abweicht von der Atmel-ICE JTAG Pin Description auf S.16. Mag sein, daß
je nach Modus der SAM Programmierstecker anders belegt ist. Das SWD Pin
Mapping wird allerdings im Zusammenhang mit dem 10-Pin Mini-Squid Cable
erwähnt, was ich nicht benutze, weshalb ich befürchte, daß dort die Pins
nicht 1:1 durchgeführt, oder gar "verwurschtelt" werden. Auf jeden Fall
bekomme ich mit meinem Aufbau keinerlei Kommunikation, vermutlich, weil
die Steckerbelegung nicht stimmt. Hat jemand Erfahrung mit dem ICE? Hier
gibt es zwar einen alten Beitrag, bei dem angeblich Atmel die Stecker um
180 Grad verdreht, was aber hier nicht der Fall ist.
Achso, ihr hattet mir damals die Angst genommen vor den kleinen
Rastermaßen der uCs und mir zu KICAD geraten, was ich beides beherzige,
danke!
Mit frustrierten Grüßen,
Uwe
Sorry, den Schaltplan hatte ich versehentlich zweimal hochgeladen!
Hier mal ein Beispiel für einen Widerspruch innerhalb einer Seite, siehe
Bild. Mal ist der Pull-up Widerstand kritisch, dann wird er empfohlen.
Eine Seite weiter fehlt er im Schaltplan....
Diese Bilder zeigen das originale Adapterkabel des ICE.
Damit siehst du zumindest das "Gewurschtel" für den 6-poligen Stecker.
Für den Adapter auf die anderen Anschlüsse müsste ich erst mal suchen...
LG Dieter
So, wie ich sehe, ist die Pinbelegung des SAM-Steckers identisch mit der
neuen 10-Pin JTAG/SWD Pinbelegung von ARM, wie sie z.B. hier beschrieben
ist.
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm
(Keil gehört zu ARM)
Ansonsten gelten die Standardregeln für ARM:
SWCLK/TCK braucht einen Pulldown.
SWIO/TMS und die anderen JTAG-Signale brauchen einen Pullup.
Reset braucht einen Pullup.
Widerstandswerte zwischen 10k und 100k.
Dann sollte es funktionieren, es sei denn Atmel hat irgendwas spezielles
an der Debug-Einheit gedreht.
fchk
Ich danke dir Dieter für die Fotos, die mir zeigen, daß hier fleißig die
Reihenfolge der Anschlüsse durcheinander gebracht wurde. Jetzt wäre der
Zählsinn des Steckers interessant...
Dankbare Grüße,
Uwe
Hallo Frank!
Vielen Dank für deinen Link, der mich umhaut, da er völlig neue Aspekte
gegenüber der Atmel Doku bringt, etwa Pulldown Widerstand.... Aber auch
die ansonsten überall benötigten Pullups sind Neuigkeiten. Ohne deine
Info hätte ich keine Chance gehabt, traurig (für Atmel/Microchip)!
Nur zur Sicherheit: Der im SWD Mode beschriebene 10 polige Stecker, ist
das der direkt an dem ICE angelötete? Wenn ja, wären meine Anschlüsse
korrekt, allerdings die Pullups/Pulldown völlig daneben, no chance.
Werde es morgen ausprobieren!
Zusatz: Lustig auch, Atmel spricht beim SWD mode immer vom two wire
mode,also nur SWDCLK und SWDIO. Aber einen Reset gibt es auch noch,
womit wir beim three wire mode wären, Chaos total!
Dankbare Grüße,
Uwe
Uwe H. schrieb:> Nur zur Sicherheit: Der im SWD Mode beschriebene 10 polige Stecker, ist> das der direkt an dem ICE angelötete? Wenn ja, wären meine Anschlüsse> korrekt, allerdings die Pullups/Pulldown völlig daneben, no chance.> Werde es morgen ausprobieren!
Vergleich die Doku vom Atmel Ice mit der offiziellen ARM Doku:
http://infocenter.arm.com/help/topic/com.arm.doc.faqs/attached/13634/cortex_debug_connectors.pdf
Das hier ist die offizielle Dokumentation des ARM Debug-Interfaces.
https://static.docs.arm.com/ihi0031/c/IHI0031C_debug_interface_as.pdf
So detailliert willst Du es wahrscheinlich gar nicht wissen.
Hier ist der zugrunde liegende IEEE-Standard:
http://fiona.dmcs.pl/~cmaj/JTAG/JTAG_IEEE-Std-1149.1-2001.pdfhttp://www.support.code-red-tech.com/CodeRedWiki/HardwareDebugConnectionshttps://community.nxp.com/thread/388998
"Some MCUs do not include internal pull-up or pull-down resistors on
JTAG/SWD pins. You will need to review the datasheet for the specific
MCU being used to confirm. Where internal resistors are not provided,
these should be added externally onto your board as detailed above. You
may use resistors between 10K and 100K for these signals. This will
prevent the signals from floating when they are not connected to
anything. Failure to do this will lead to, at best, unreliable debug
connections, or more likely no ability to debug at all.
Note for TCK/SWCLK, although a pull-down is recommended, you can
alternatively use a pull-up. The main thing is that it does not float.
Note in particular that if the MCU provides an internal pull-up on this
signal, then adding an external pull-down on the board is not
recommended."
Kurz gesagt: Wichtig ist, dass die Pins auf definierten Pegeln sind.
fchk
Hallo Frank und auch Dieter!
Tja, ich habe die Pull-ups und den Pull-down exakt befolgt, auch den
fehlenden Ground, der aber mit Sicherheit nicht kriegsentscheidend war,
da schon zweimal vorhanden. Keine Besserung des Problems. Habe auch
einen 2. uC auf einem Steckbrett mit neuem Programmierkabel aufgebaut,
umsonst. Atmel Studio 7.X (neuste Version) sagt beim Auslesen der device
signature "no device detected, unable to enter programming mode". Sollte
mein ICE eine Macke haben? Signale kommen allerdings überall am uC an
(Pins 11-13), wobei am Pin 13 (SWDIO) eine negative Spannung von -0.9V
anliegt im Ruhezustand. Habe auch mal alle Typen beim SAMD10D14
eingestellt, erfolglos. Ich hole schon mal das Handtuch zum werfen
raus....
Beste Grüße,
Uwe
Hallo zusammen!
Fehler gefunden, der ICE hat eine Macke. Sieht man sich die Signale
genauer an, hat das eher mit Analogtechnik zu tun, die Pegel stimmen
vorne und hinten nicht, werde das Gerät dem Mouser zurückschicken.
BG
Uwe