Forum: Mikrocontroller und Digitale Elektronik atmega128 isp problem


von Thomas (Gast)


Lesenswert?

hi

ich hab mir ein board ätzen lassen und nen ATmega128 drauf bestückt. 
Nachdem mein Parallel-Port ISP nicht fertig gestellt werden konnte, weil 
conrad mir zweimal den falschen IC geschickt hat, hab ichs über die ISP 
version versucht bei der man lediglich 3 Widerstände braucht.
Das ganze an nen ATmega8 mit Steckbrett aufgebaut, getestet und funzt 
einwandfrei.

Wenn ich aber jetzt den ATmega128 programmieren tut der keinen Mucks.
Hab alles gecheckt. Beschaltung ist absolut richtig (MOSI/MISO ist auch 
an PE1 und PE2). Spannung ist drauf, alles wunderbar, aber keine chance, 
dass ich ihn irgendwie programmieren könnte.

Gibts noch irgendwas, was falsch sein könnte, ausser dass der ATmega 
defekt ist?

von Thomas (Gast)


Lesenswert?

meine naütürlich 2 widerstände ;)

von Thomas (Gast)


Lesenswert?

hätte noch jemand ne idee?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Vielleicht solltest Du PE0 und PE1 verwenden. Stelle auch sicher, daß 
sich keine weiteren (niederohmigen) Schaltungen an den Pins befinden.

von Thomas (Gast)


Lesenswert?

hatt mich verschrieben.... habs eh an PE0 und PE1.

ich hab nur noch nen RS422 Wandler dran (SN75179). Kanns daran liegen?

ich schau grad ob ich nen gekauften USB-Programmierer finde. Würde es 
mit so einem besser funktionieren?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wenn Du externe Schaltungen mit Widerständen 4k7 von den Programmierpins 
abkoppelst und den Programmer direkt an die Programmierpins hängst, 
sollte es klappen. Richtige ISP-Frequenz und Verkabelung vorausgesetzt. 
Was bekommst Du denn für Fehlermeldungen (Screenshots)?

von Thomas (Gast)


Lesenswert?

irgendwas mit Device nocht found bei PonyProg. Verkabelung stimmt, weil 
beim Atmega8 funzts.
Ich hab jetzt an nem Atmel Evaluationsboard, an die ISP-Pins kabel 
gelötet und führs damit raus.
Seliber Zustand: Atmega8 no problem, Atmega128 kein mucks

von 3348 (Gast)


Lesenswert?

Da war doch noch was mit'm Reset und PEN...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

PEN ist in dem Falle irrelevant. Wahrscheinlich hat der ATMEGA128 keinen 
gültigen Takt / inzwischen verfust.

von Thomas (Gast)


Lesenswert?

ich hatte noch nie kontakt zum atmega128, also konnt ich ihn nicht 
verfusen ;)
sonst wär das auch meine erste vermutung

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>ich hatte noch nie kontakt zum atmega128, also konnt ich ihn nicht
>verfusen ;)

Das ist ein weit verbreiteter Irrglaube. Mit unklarem Timing auf der 
ISP-Schnittstelle kann man auch bei der ersten Kontaktaufnahme zum 
Controller Fuses betätigen, obgleich man nur die Signatur lesen 
wollte...

von Artur Funk (Gast)


Angehängte Dateien:

Lesenswert?

An deiner stelle würde per Lackdraht an JTAG rangehen und Fuse-Bits noch 
mal überprüfen.  Vielleicht ist noch der Atmega103 compatobility mode an 
(hatte ich zumindest bei den nagelneuen Chips). Dies ist oft eine 
Fehlerursache bei nicht funktionierenden Atmega128 Schaltungen.

von Thomas (Gast)


Lesenswert?

wie geht das mit jtag?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>An deiner stelle würde per Lackdraht an JTAG rangehen und Fuse-Bits noch
>mal überprüfen.  Vielleicht ist noch der Atmega103 compatobility mode an
>(hatte ich zumindest bei den nagelneuen Chips). Dies ist oft eine
>Fehlerursache bei nicht funktionierenden Atmega128 Schaltungen.

Das hat nichts mit ISP zu tun - werkneue ATMEGA128 laufen ohne weitere 
Einstellungen am ISP, die ISP-Frequenz darf anfangs maximal 250kHz 
betragen.

von Artur Funk (Gast)


Lesenswert?

PF4-PF7 setzt natürlich voraus, dass du ein JTAG ICE o.ä. besitzt...

von Thomas (Gast)


Lesenswert?

ich habn kabel eine Seite parallel-Port andere Seite ein 6 poliger 
Stecker, auf dem JTAG3 with SPI steht

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

PonyProg kann kein JTAG. Das einzige, was Du machen kannst, ist 
Spannungen messen und Verdrahtung prüfen. Rührt sich nichts, ist der 
Controller verfust. Dann hilft nur noch ein HV-Programmer wie STK500 
oder AVR-Dragon und 20 Drähte, die temporär an den Controller gelötet 
werden.

von Thomas (Gast)


Lesenswert?

ich hab die Spannungen alle mal durchgemessen. Reset passt wunderbar... 
MISO/MOSI auch, also es ist bewegung im System aber trotzdem sagt Pony 
"Device not found"

von Thomas (Gast)


Lesenswert?

>Wenn Du externe Schaltungen mit Widerständen 4k7 von den Programmierpins
>abkoppelst und den Programmer direkt an die Programmierpins hängst,
>sollte es klappen.

das würd ich gern noch probieren. was heisst abkoppeln genau? pull-up... 
pull-down...??

von Udo (Gast)


Lesenswert?

die Widerstände in Reihe zur restlichen Schaltung in die Leitungen 
schalten...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>>Wenn Du externe Schaltungen mit Widerständen 4k7 von den Programmierpins
>>abkoppelst und den Programmer direkt an die Programmierpins hängst,
>>sollte es klappen.

>das würd ich gern noch probieren. was heisst abkoppeln genau? pull-up...
>pull-down...??

Ich denke, das haste schon gemacht...?!

von Andreas Paulin (Gast)


Lesenswert?

ATMEGA128 GANZ WICHTIGER Sonderfall:
Der hat die MISO- und MOSI-Leitungen der ISP-Schnittstelle auf RxD0 und 
TxD0 (PE0 & PE1) herausgeführt. Also auf der seriellen Schnittstelle des 
UART0.

Wurde aber oben schon erwähnt.

Fuse verstrubelt? Externen Takt auf XTAL1 / Pin24 zuführen und PonyProg 
auf  < 1/4 ext. Takt einstellen.
Und dann zuerst Fuses richten.
Ist einfacher als gedacht...

von Thomas (Gast)


Lesenswert?

>Ich denke, das haste schon gemacht...?!

nein, weil wenn ich das richtig verstehe muss ich für die 
reihenschaltung meine leiterbahn killen (das wollt ich als wirklich 
aller letztes machen). Seh ich das richtig?

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn da ein aktiver Ausgang des SN75179 mit dran? Dann wird es nicht 
gehen...

Gruß aus Berlin
Michael

von Gast (Gast)


Lesenswert?

Was erwartest Du eigentlich, wenn Du zwei Ausgänge zusammenschaltest? 
Also Widerstand zwischen R und RxD oder mit dem derzeitigen Zustand 
abfinden.

Der magische Widerstand muss natürlich zum "Ausgangswiderstand" Deines 
Programmers passen. Die vorgeschlagenen 4,7k wären bei mir zu wenig.

von Thomas (Gast)


Lesenswert?

ginge es wenn ich den SN75179 auslöte? zumindest für den test ob es 
wirklich an dem liegt

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wenn alle ISP- Leitungen dann frei sind, ginge auch erstmal das Auslöten 
des SN75179.

von Andreas Paulin (Gast)


Lesenswert?

"nein, weil wenn ich das richtig verstehe muss ich für die
reihenschaltung meine leiterbahn killen (das wollt ich als wirklich
aller letztes machen). Seh ich das richtig?"

Ja. Genau das musst Du machen. Unbedingt, aber das ist kein Problem.
Ein DIP-IC rauslöten ist viel mehr Gewürge. Und überflüssig.
Und das geht so:

- 2 Leiterbahn RxD und TxD (PDI/PDO, PIN 2&3 beim ATMEGA 128) zur 
restlichen Schaltung auftrennen und die Trennstelle mit 2x4K7 
überbrücken. Mit SMD-Widerständen geht das sehr elegant.
- ISP-Anschlüsse direkt an den ATMEGA anlöten. Jetzt hat der Programmer 
Vorrang gegenüber dem Rest der Schaltung. Wenn nicht programmiert wird, 
sind die Programmeranschlüsse hochohmig, und der Rest der Schaltung hat 
Vorrang.

Schau mal hier:

http://www.chip45.com/download/Crumb128_V2.0_schematic.pdf

wie der MAX221 (="Rest der Schaltung") und CON3 (ISP) mit ATMEGA Pin2&3 
verbunden sind. Genauso gehts.

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.