Forum: Mikrocontroller und Digitale Elektronik ISP haut nicht hin


von wolf4124 (Gast)


Lesenswert?

Hallo

Ich komme nicht mehr weiter.
Habe zwei Board's( ATMega 128 und 162)
Habe schon zwei Rechner ausprobiert.
Habe schon das Innenleben meines ISP-Programmierers ausgetauscht
(74HC244 und die Diode).
Aber es will nicht mehr.
Ich kommen nicht mehr auf die Kontroller. Weder WINGCC noch Ponyprog.
Der Reset ist higt. Bis auf 3 bis 4 mal, wenn ich auf Lesen drücke.
Dabei ist auf der MOSI Leitung Datenverkehr.
Auf der SCK Leitung auch, aber langsamer.
Auf der MISO passiert gar nichts.
Kann mir jemand weiterhelfen.
Welche der MISO oder MOSI ist für das Senden und Empfangen zuständig.
Jeweils von Programmierer her gesehen.

Gruß und Dank für eure Mühen.

Wolf4124

von wolf4124 (Gast)


Lesenswert?

Hallo

Habe vergessen zu schreiben.
Beide Kontroller arbeiten mit internen Takt und haben nur einen 6,8KOhm
wiederstand auf VCC am Reset-Pin.
Sonst noch 2 Blockkondensatoren und natürlich VCC und GND.

Gruß

von Simon (Gast)


Lesenswert?

Hallo.
Welchen ISP verwendest du (Link)?
Hast du auch mehrere Controller ausprobiert ?
Also der Reset-pin MUSS sobald du auf programmieren gehst (oder sonst
was machst) auf 0V runter gehen, zumindest kurzfristig.
wenn das nicht passiert gibt es folgende möglichkeiten:

1.) Falscher Port ausgewählt
2.) Flascher Programmer ausgewählt
3.) Software bekommt kein zugriff auf port (welches OS?)
4.) PC-Port kaputt
5.) 74244 kaputt
6.) 74244 bekommt keine spannung
7.) Der PIN vom µC ist kaputt.

Du kannst mal versuchen den RESET mauell auf GND zu ziehen.
Mehr fällt mir um diese Uhrzeit auch nimmer ein.

Viel Glück und Gute Nacht gähn

von wolf4124 (Gast)


Lesenswert?

Danke für die Antwort.

Der Reset geht 3 bis 4 mal auf 0 zurück.
Denn 74HC244 habe ich schon mal ausgetauscht.
Die Diode auch schon mal.

Gruß

von Simon (Gast)


Lesenswert?

Wie hast du den Mega128 denn beschalten ?
Hat es schonmal funktioniert ?
vielleicht hast du ja die Fuses falsch gesetzt !?

von wolf4124 (Gast)


Lesenswert?

Hallo Simon

Nein der ATMega ist noch nicht gelaufen.
Ich brauche als Mindestausstatung zum Programmieren eines ATMega 128
GND, VCC, Reset mit 6,8 KOhm auf VCC, MOSI, MISO, SCK.
Quarz brauch ich nicht. ATMega ist ganz neu. Habe auch schon einen
anderen Probiert.
Noch einen Blockkondensator in der Versorgungsleitung.
Fällt dir etwas ein, was ich unbedingt zum Programmieren brauche.
Ponyprog kann ja hoffentlich mit dem 128'er umgehen, wenn er im
Auswahlmenü steht.
Muß man noch was einstellen?


Gruß

Wolf4124

von Simon (Gast)


Lesenswert?

geh nochmal auf nummer sicher, dass du MOSI und MISO nicht vertauscht
hast. Am MOSI-Pin und SCK-PIN solltest du auch was messen können (wie
bim reset).

von wolf4124 (Gast)


Lesenswert?

Hallo

Habe ich gemacht.
Habe an allen dreien ein Signal.
Am MISO habe ich auch ein Signal, aber nur ganz schwach.
Habe dort ein High, wo eine Änderung von so ca. 0,2 Volt auftritt.
Die Versorgungsspannungen und die Masse ist i.O.
Nur zum Verständnis. Die MISO ist das Signal von MC zum PC, oder.

Gruß

von Simon (Gast)


Lesenswert?

Ja, MISO ist das Signal vom MC zum PC.

Das einzige was mir jetzt noch einfällt, ist das du am MISO irgendwas
falsch beschalten hast.
ist das signal von Vcc dauernd auf Low oder auf High ?
wenn es die ganze zeit auf Low ist hast du evtl den Pull-Up widerstand
vergessen !? oder vielleicht den MISO an den falschen Pin vom 244er
angeschlossen.

von wolf4124 (Gast)


Lesenswert?

Ich habe den Widerstand schon mal rausgenommen.
Dann bricht die Spannung auf 0 zusammen. => also kein Schluß auf
Dauer.
Der ISP-Adapter funktionier aber bei einem anderen Prozessor normal.
Bei deiner Frage oben "ist das signal von Vcc dauernd auf Low "
meinst du bestimmt den MISO.
Ich habe nun ein Experimentierboard für den 128er bestelle.
Hoffe, das der Prozessor darauf läuft.
Aber danke für deine Hilfe.
Ich rühre mich dann wieder.

Gruß

von Simon (Gast)


Lesenswert?

Versuchs mal mit nem kleineren wiederstand als 100k.
So 10k würd ich nehmen.

von Robert Zillner (Gast)


Lesenswert?

Beim Mega128 werden die RXD und TXD Pins als Datenleitungen für ISP
verwendet.
Sorry, da hast du dich genauso wie ich ins Fettnäpfchen gesetzt.

MFG

Bertl

von wolf4124 (Gast)


Lesenswert?

Hallo

Danke für deine Nachricht.
Hast recht. Unter der Pin-Konfiguraton steht es ja recht schön drin.
Noch neh Frage. Nimmst du den "normalen" SCK für den
SPI-Programmierer oder etwas anderes?

Gruß

Wolf4124

von Simon (Gast)


Lesenswert?

OK, das hab ich auch noch nicht gewusst.
Naja...als SCK musst du weiterhin den normalen SCK verwenden.

von wolf4124 (Gast)


Angehängte Dateien:

Lesenswert?

Ich kann das erste mal meinen Atmel128 programmieren.
Schöööööön.
Und schon wieder das nächste Problem.
Habe schon gelesen, das die 128er von Werk aus auf dem 103 Modus
laufen. => PortF nur Eingang.
Wenn ich mit Ponyprog die Fuse rausnehme, müste ich doch auch die als
Ausgang hernehmen können.
Aber leider nicht.
Habe ein kleines Programm geschrieben, um die Ausgänge zu aktivieren.
Haben eine Led mit 180 Ohm als Vorwiderstand an einen pin gehängt (Port
A und auch am F). Auf VCC.
Leider geht es nicht.
Programm im Anhang.
Was mache ich schon wieder falsch?

Gruß und Danke für eure Hilfe

Wolf4124

von Rick (rick)


Lesenswert?

Schau mal ins Datenblatt. Ich denke Du musst es so schreiben:

DDRF = 0xFF

Mit Deiner Variante aktivierst Du nur die internen Pull-Ups.

Rick

von wolf4124 (Gast)


Lesenswert?

Hallo

Habe den Fehler gefunden.
Ich habe ein Projekt kopiert aber dabei vergessen das Makefile auf die
neue C-Datei umzustellen.
Noch ne Frage.
Ich habe gelesen, das ein Ausgang eines AVR bis zu 20mA ziehen kann.
Oder bezieht sich das nur auf den Port.
Kann es sein, das wenn man einen zu kleinen Vorwiderstand (150 Ohm) mit
LED an den Pin hängt, das der AVR das Potential nicht mehr auf Masse
ziehen kann?

Gruß

von Simon (Gast)


Lesenswert?

Die frage auf was sich die 20 mA beziehen wurde schon einige male
geklährt. Also ich glaub schon, dass du des aus jedem ziehen kannst.
Gab aber keine Garantie. such einfach mal im forum.

Also wenn du den wiederstand zu klein wählst, wie der Strom die 20mA
logischerweise übersteigen. ob die 150 Ohm zu klein sind, hängt von der
LED ab. Wenn allerdings der Strom zu groß wird, geht dein Port kaputt.
Deswegen schält man die LEDs auch immer gegen GND, da der Port gegen
GND einen höheren storm abkann.

von Karl heinz B. (heinzi)


Lesenswert?

Anders rum.
Die Leds werden gegen VCC geschaltet.

Port - Widerstand - Led - VCC

von wolf4124 (Gast)


Lesenswert?

Danke für eure Hilfe.
Es lag am Program.

DDRF = 0xff;        Falsch
DDRF = 0xFF;        Richtig

Aber da muß man erst drauf kommen.

Gruß

Wolf4124

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.