Forum: Mikrocontroller und Digitale Elektronik ATMega2561 ISP Problem


von Peter F. (piet)


Lesenswert?

Hallo!
Da ich es gerade nicht einfach ausprobieren da das Board nicht in 
reichweite ist und ich sonst nicht zur ruhe komme möchte ich eine Frage 
stellen ;-)

Ein ATMega2561 wird mit einem AVRISP-MK2 geflasht, kein Problem, das ich 
PDI und PDO verwenden muss ist ja klar.
Funktioniert auch wunderbar, wenn ich nun aber einen Mega32 mit dem 
Mega2561 über die UART0 verbinde funktioniert das flashen nicht mehr.
RXD auf TXD und TXD auf RXD.

AVR Studio meldet: "Short circuit on Pins"
Es gibt aber keinen Kurzen, wenn ich den Mega32 abtrenne, den Mega2561 
flashe und den Mega32 wieder anstecke kann ich die UART wie erwartet 
nutzen und die beiden Megas tauschen Daten aus.

Reicht einfach ein Serien-R zu den ISP-Pins oder übersehe ich irgend 
einen anderen Fehler?

Grüße,
Peter

von Hc Z. (mizch)


Lesenswert?

Du schließt die ISP-Leitung über TxD des Mega32 kurz, insofern ist die 
Fehlermeldung durchaus zutreffend und Du hast einen Kurzschluss.

Ja, ein Serienwiderstand wird reichen (so ab 10k), wenn Du Dir die 
Flanken der seriellen Daten dadurch nicht zu sehr verschleifst, also 
kleinere Baudrates hast.

von marvin2k (Gast)


Lesenswert?

Hallo

ich habe glaube ich das gleiche Problem:
Bei verbundenem (und aktiven) Rx-Pin des Atmel kann ich nicht mit dem 
ISP-Programmer flashen. Ziehe ich den Stecker ab, flashe und stecke 
wieder auf ist alles in Ordnung.

Die Lösung ist dann ein Widerstand von ~10k in Serie mit dem Rx-Pin, 
quasi in die Empfangsleitung Leitung eingelötet?

Vielen Dank und einen schönen Abend
Marvin

von Peter F. (piet)


Lesenswert?

marvin2k schrieb:
> ich habe glaube ich das gleiche Problem:
> Bei verbundenem (und aktiven) Rx-Pin des Atmel kann ich nicht mit dem
> ISP-Programmer flashen. Ziehe ich den Stecker ab, flashe und stecke
> wieder auf ist alles in Ordnung.
>
> Die Lösung ist dann ein Widerstand von ~10k in Serie mit dem Rx-Pin,
> quasi in die Empfangsleitung Leitung eingelötet?

Huh, ich wollt ja eigentlich nochmal hier schreiben das es nun tut, ist 
mir irgendwie entfallen...
Ich hab einfach nen Stück Leiterbahn weggeschnitten und je einen 0805 
10K in die TX und TX Leitung gesetzt. Schaut aus als währe es so 
gewollt, die Leiterbahnen sind an der Stelle aber auch ziehmlich breit 
;^^

Gruß,
Peter

von marvin2k (Gast)


Lesenswert?

Also jeweils 10k direkt in die Leitung, quasi so:

device-------10k------RX--->µC
device-------10k------tx---<µC

Danke auf jedenfall schonmal, für die schnelle Hilfe und so ;-)

von Peter F. (piet)


Lesenswert?

marvin2k schrieb:
> Also jeweils 10k direkt in die Leitung, quasi so:
>
> device-------10k------RX--->µC
> device-------10k------tx---<µC

Genau so.

Gruß,
Peter

von marvin2k (Gast)


Lesenswert?

Hm, naja...

Funktioniert hat es nicht, nicht mit 5k und nicht mit 10k. Nun ist es in 
meinem Fall so, das mein Device sowieso einen TTL-Pegel von nur 3.3V hat 
-- hier war vermutlich nicht genügend Reserve

Hat noch jemand eine andere Idee, wie ich das Problem elegant lösen 
könnte?

Um weitere Google-Hits zu produzieren hier der vollständigkeit halber 
noch die nichts-sagende Fehlermeldung von avrdude:

avrdude: stk500v2_command(): command failed

Grüße
Marvin

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.