Forum: Mikrocontroller und Digitale Elektronik Arduino Nano über ISP programmieren


von Ja W. (ja_w)


Lesenswert?

Hallo zusammen,

bei mir besteht das Problem, dass ich mich nicht über die ISP 
Schnittstelle mit Arduino Nanos verbinden kann, also nicht einmal eine 
Device Signatur auslesen kann. Ich verwende Microchip Studio 7 und einen 
MK2. Ich habe bereits versucht mehrere Nanos auszulesen bisher ohne 
Erfolg. Jedoch ist es mir möglich einen Stand Alone Arduino von einem 
älteren Projekt problemlos auszulesen, sowie mehre Arduino Unos und 
Megas.

Ist jemandem ein Problem mit ISP bei Nanos bekannt oder hätte wer eine 
Idee was man da tun könnte.


Gruß und vielen Dank für Euere Hilfe

Jan

von EAF (Gast)


Lesenswert?

Ja W. schrieb:
> Ist jemandem ein Problem mit ISP bei Nanos bekannt

Nein, mir nicht.
Das MUSS funktionieren.

Bist du dir da sicher, dass da wirklich ein ATMega328P drauf ist?
(und nicht irgendwas ganz anderes)

von Ja W. (ja_w)


Lesenswert?

Auf dem IC vom Nano steht Atmel Mega 328PU

von EAF (Gast)


Lesenswert?

Ja W. schrieb:
> Auf dem IC vom Nano steht Atmel Mega 328PU

Das ist schon mal gut!
Und irgendwelche Pins sind da auch nicht beschaltet?
Z.B. den /CS Pullup bei irgendeinem SPI Gerät vergessen.

von Ja W. (ja_w)


Lesenswert?

Gut, ich habe den Nano Komplett frei bis auf den ISP-Stecker.

Hier mal die Fehlermeldung von Microchip:
"Failed to enter programming mode. ispEnterProgMode: Error status 
received: Got 0xc0, expected 0x00 (Command has failed to execute on the 
tool)"

von batman (Gast)


Lesenswert?

Ab Werk sind die AVR auf einen relativ niedrigen Takt eingestellt 
(Fuse-Bits), was bei manchen Programmern Probleme macht.

von Wolfgang (Gast)


Lesenswert?

Ja W. schrieb:
> Gut, ich habe den Nano Komplett frei bis auf den ISP-Stecker.

Und die Signale auf dem SPI sehen alle vernünftig aus?
Treibt dein Programmer SCK und Reset vernünftig?
Hast du mal versucht, den Board mit einem anderen Arduino zu 
programmieren?

von EAF (Gast)


Lesenswert?

batman schrieb:
> Ab Werk sind die AVR auf einen relativ niedrigen Takt eingestellt
> (Fuse-Bits), was bei manchen Programmern Probleme macht.

Die Nanos sind von Haus aus auf 16MHz konfiguriert.

von Ja W. (ja_w)


Lesenswert?

Also ich habe nun mehrere Frequenzen ausprobiert, jedoch ohne Erfolg. 
Habe bisher mit keine weiteren Arduino versucht den Nano zu 
programmieren. Da mein MK2 ja mehrere andere Arduinos problemlos 
beschreiben konnte.

Gibt's irgendwelche Beschaltung die seitens dem Nano auf der Platine 
fehlen könnte?

von Wolfgang (Gast)


Lesenswert?

Ja W. schrieb:
> Gibt's irgendwelche Beschaltung die seitens dem Nano auf der Platine
> fehlen könnte?

Guckst du Schaltplan.
Meistens stört es eher, wenn die Pins auch noch anderweitig benutzt sind 
und für die Nutzung zu viel auf der Platine ist.
Die Rev. 3.2 sieht z.B. so aus:
https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf
Und wenn du unsicher bist, ob dein Programmer mit den richtigen Pins 
verbunden ist, nimm einen Durchgangsprüfer und gucke nach.

von Pepe T. (pepe_t)


Lesenswert?

Hast du den ISP stecker richtig rum drinne?

von Denkfabrik (Gast)


Lesenswert?

Es gibt ja immer wieder User die meinen dass der Programmer das
Ziel-Objekt über ISP mit der Versorgungsspanung versorgt, was
aber bei Original-Programmiergeräten nicht richtig ist.

von Denkfabrik (Gast)


Lesenswert?

Ja W. schrieb:
> und einen MK2

Das kann viel bedeuten. Da kann sich jeder was Anderes
darunter vorstellen.

von Stefan F. (Gast)


Lesenswert?

Probiere mal andere Software, z.B. die Arduino IDE. Oder avrdude an der 
Kommandozeile.

von Reinhard R. (reirawb)


Lesenswert?

Ja W. schrieb:
> Hier mal die Fehlermeldung von Microchip:
> "Failed to enter programming mode. ispEnterProgMode: Error status
> received: Got 0xc0, expected 0x00 (Command has failed to execute on the
> tool)"

Wenn dieser Fehler im Studio 7 auftritt, war es bei mir bisher IMMER 
eine fehlerhafte Anbindung des Prozessors an den Programmer, auch ein 
defekter µC-Chip war mal die Ursache. Zum MK2 in dem Zusammenhang kann 
ich nichts beitragen, ich programmiere mit einem Atmel JTAGICE3. Arduino 
Pro Mini Klone habe ich damit auch schon erfolgreich per ISP 
programmiert, sollte also gehen.

Reinhard

von Reinhard R. (reirawb)


Lesenswert?

Noch ein Hinweis: Bei meinem Programmer ist es nicht möglich, das zu 
programmierende System mit Spannung zu versorgen, sondern es muß dort 
die Betriebsspannung des extern versorgten Systems anliegen, um die 
Programmierlogik auf diese Spannung einzustellen. Ob das auch für deinen 
MK2 zutrifft, weiß ich nicht.

Hast du deinen Nano extern versorgt?

Reinhard

von Ja W. (ja_w)


Lesenswert?

Bei meinem Programmer ist es möglich 5V und GND übe zweite weitere 
Jumpwire
an den Nano zuführen. Die Arduino IDE will aktuell den Programmer noch 
nicht erkennen ich versuche das mal bisschen zufixen.

von Denkfabrik (Gast)


Lesenswert?

Ja W. schrieb:
> Bei meinem Programmer ist es möglich 5V und GND übe zweite weitere
> Jumpwire an den Nano zuführen.

Also nix Halbes und nix Ganzes.

Ja W. schrieb:
> Die Arduino IDE will aktuell den Programmer noch
> nicht erkennen ich versuche das mal bisschen zufixen.

Darauf kommt es ja nicht an. Entscheidend ist was deine IDE
(Microchip Studio 7) dazu sagt.

von Wolfgang (Gast)


Lesenswert?

Ja W. schrieb:
> Die Arduino IDE will aktuell den Programmer noch
> nicht erkennen ich versuche das mal bisschen zufixen.

Bevor du blind dran rum fixed, betreibe Fehleranalyse.
Nochmal, wie sehen die Signale am µC aus, wenn du versuchst, ihn zu 
programmieren?

von Ja W. (ja_w)


Lesenswert?

Wolfgang schrieb:
> Wie sehen die Signale am µC aus, wenn du versuchst, ihn zu
> programmieren?

ich habe ehrlich gesagt keine Ahnung wie genau die aussehen müssten wenn 
ich da jetzt ein Oszi anschließen würde. Ich komme ja nicht mals zu 
programmieren, die divice signature kann ich nicht mals lesen.

von svensson (Gast)


Lesenswert?

Ich benutze den Nano ziemlich oft, sowohl als Original als auch als 
Nachbau.

Dabei benutze ich meistens (fast immer) die ISP-Schnittstelle. 
Programmiergeräte sind STK500 (eher selten, weil so riesig), Diamex 
All-AVR und USBasp. Funktioniert mit allen drei Modellen tadellos.

Und auch alle 3 können den Nano mit Spannung versorgen.

von Stefan F. (Gast)


Lesenswert?

Ja W. schrieb:
> ich habe ehrlich gesagt keine Ahnung wie genau die aussehen müssten wenn
> ich da jetzt ein Oszi anschließen würde.

Da es sich um digitale Signale handelt, sollten sie so aussehen. Also 
saubere 0V bei LOW, saubere 5V bei HIGH, und steile Flanken bei den 
Wechseln.

von Ja W. (ja_w)


Lesenswert?

Stefan ⛄ F. schrieb:
> Da es sich um digitale Signale handelt, sollten sie so aussehen. Also
> saubere 0V bei LOW, saubere 5V bei HIGH, und steile Flanken bei den
> Wechseln.

Das Signal sieht sauber aus, funktioniert ja auch alles bei anderen 
Arduinos.

Könnte es sein das auf den Nanos irgend ein Schutz drauf ist das man die 
nicht so einfach beschreiben kann?

von Stefan F. (Gast)


Lesenswert?

Arduino Nano Module haben nichts besonderes, was die ISP Schnittstelle 
irgendwie beeinträchtigen könnte. Auch nicht die Klone aus China. Ich 
programmiere sie selbst oft über ISP mit dem "Atmel ISP mkII",

von Georg M. (g_m)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

Ja W. schrieb:
> Ich komme ja nicht mals zu programmieren, die divice signature kann
> ich nicht mals lesen.

Auch zum Auslesen der Signatur fließen Daten über die Schnittstelle.

von Stefan F. (Gast)


Lesenswert?

Wenn du gar keinen Plan hast, dann zeige doch mal detaillierte Fotos von 
deinem Aufbau.

von Reinhard R. (reirawb)


Angehängte Dateien:

Lesenswert?

Georg M. schrieb:
> ISP: UNO vs Nano

Ja, und? Die sind doch identisch und entsprechen auch der 
Standardbelegung diverser Programmer, habe ich als Arbeitsgrundlage 
einlaminiert immer griffbereit :-)

Reinhard

von Pepe T. (pepe_t)


Lesenswert?

Hast du mal den icsp stecker umgedreht?
Die sind beim uno und nano anders rum.

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


Lesenswert?

svensson schrieb:
> Und auch alle 3 können den Nano mit Spannung versorgen.

Aber eben nicht der AVRISP MkII. Der VCC Anschluss ist bei diesem nur 
dafür da, die Ausgangstreiber auf das Zielsystem anzupassen. Das Board 
benötigt immer eine unabhängige Versorgung.

von Wolfgang (Gast)


Lesenswert?

Pepe T. schrieb:
> Hast du mal den icsp stecker umgedreht?
> Die sind beim uno und nano anders rum.

Das Beste wird wohl sein, den Stecker richtig aufzustecken und nicht 
per Trial & Error einfach blind mal dies und mal das zu probieren.

von WaldFan (Gast)


Angehängte Dateien:

Lesenswert?

Reinhard R. schrieb:
> Ja, und? Die sind doch identisch und entsprechen auch der
> Standardbelegung diverser Programmer, habe ich als Arbeitsgrundlage
> einlaminiert immer griffbereit :-)

Die Belegung des 10 Poligen Verbinders, von wo ist die den her?
Das gab es hier eine ganz andere Belegung.

Siehe pdf.

von WaldFan (Gast)


Lesenswert?

Wolfgang schrieb:
> Das Beste wird wohl sein, den Stecker richtig aufzustecken und nicht
> per Trial & Error einfach blind mal dies und mal das zu probieren.

Es kann doch nicht so schwer sein, bei 6 Pins mal nachzumessen.
Einfach mal den GND suchen auf welcher Seite der ist.

von Denkfabrik (Gast)


Lesenswert?

WaldFan schrieb:
> Siehe pdf.

In allen möglichen Dokumenten die nicht von Atmel stammen
ist immer an einem Pin von +5V die Rede. Das ist schlichtweg
falsch wenn es um die Norm von Atmel geht. Besagter Pin muss
Vtg (V Target) heissen und sollte auch so wie beabsichtigt
verwendet werden um Konflikte auszuschliessen. Vtg ist ein
Pin um die Spannung des Zielsystems zu prüfen, nicht um es
zu versorgen.

Und ja, der im Vorfeld bezeigte Belegungsplan ist offensichtlich
nicht korrekt ....

von Denkfabrik (Gast)


Lesenswert?

Denkfabrik schrieb:
> ist immer an einem Pin von +5V die Rede

Und wenn man es genau nimmt können dort vielleicht 1.8 bis
5V anliegen. Also auch was ganz anderes als das was in der
Dokumentation von Mikrocontroller.net geschrieben steht.

von Wolfgang (Gast)


Lesenswert?

WaldFan schrieb:
> Die Belegung des 10 Poligen Verbinders, von wo ist die den her?

Das ist doch hier völlig belanglos. Weder der Arduino Nano noch der MK2 
besitzen den (unnötig großen) 10-poligen Verbinder.

von Spess53 (Gast)


Lesenswert?

Hi

>Die Belegung des 10 Poligen Verbinders, von wo ist die den her?

Von Kanda Systems.

https://www.kanda.com/stk200.html

 Stammt von den ersten Entwicklungs-Boards die ATMEL vertrieben hat 
->(STK200/STK300).

Mfg Spess

von Ja W. (ja_w)


Lesenswert?

Hallo zusammen, ich habe das Problem jetzt umgangen. Ich lade den Code 
jetzt einfach via Bootloader auf den Nano über Microshipstudio.

Falls in Zukunft einer hier rüber stolpert:
Tutorial findet man hier: https://www.youtube.com/watch?v=zEbSQaQJvHI

Ja ich weis ist nicht so nice wie mit ISP, aber dar Nano hat ja eh eine 
usb-Schnittstelle

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Ja W. schrieb:
> ich habe das Problem jetzt umgangen.

Welches Problem?

von Reinhard R. (reirawb)


Angehängte Dateien:

Lesenswert?

WaldFan schrieb:
> Die Belegung des 10 Poligen Verbinders, von wo ist die den her?
> Das gab es hier eine ganz andere Belegung.

Direkt aus dem JTAGICE3 Userguide Seite 14, Punkt 3.5. Connecting to an 
SPI Target. Nutze den 10-poligen aber nur in Verbindung mit 
Wannensteckern mit 1,27mm Rastermaß, kann dann direkt das 
Verbindungskabel ohne Adapter verwenden, siehe Bild.

Reinhard

von München Ost (Gast)


Lesenswert?

Ja W. schrieb:
> Hallo zusammen, ich habe das Problem jetzt umgangen. Ich lade den Code
> jetzt einfach via Bootloader auf den Nano über Microshipstudio.

Und damit bist Du jetzt zufrieden?
Also wenn so etwas das funktionieren muss nicht funktioniert dann lässt 
es mich nicht in Ruhe, das muss gelöst werden.

Ja W. schrieb:
> Ja ich weis ist nicht so nice wie mit ISP, aber dar Nano hat ja eh eine
> usb-Schnittstelle

So lange bis der Bootloader zerschossen ist, dann haben wir das gleiche 
Thema hier noch mal.

von München Ost (Gast)


Lesenswert?

Reinhard R. schrieb:
> Nutze den 10-poligen aber nur in Verbindung mit
> Wannensteckern mit 1,27mm Rastermaß,

Das ist der Unterschied zum Wannenstecker mit 2,54mm Raster auf das sich 
die Belegung wie in dem oben erwähnten pdf Anhang bezieht.

Der 1,27mm Wannenstecker ist nicht kompatibel mit dem 2,54mm 
Wannenstecker.

von Reinhard R. (reirawb)


Lesenswert?

München Ost schrieb:
> Der 1,27mm Wannenstecker ist nicht kompatibel mit dem 2,54mm
> Wannenstecker.

OK, habe ich jetzt auch gesehen, nachdem ich mal danach gesucht habe, 
danke.

Reinhard

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.