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?
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?
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)?
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
>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...
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.
>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.
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.
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"
>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...??
>>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...?!
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...
>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?
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.
"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.