Forum: Mikrocontroller und Digitale Elektronik Schaltplan ISP-Atmega128 - LEDs wollen nicht!


von Burt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Hab es nach einigen nächten jetzt endlich geschaft meinen Atmega128 zu
verlöten, auf ner lochraster-platine ein ISP- Interface zu basteln und
die 6 Byte ports an DIL-stecker sockel zu löten. Hab mir dann vorher
das AVR Studio 4.12.460 runtergeladen und installiert.
nachdem ich mein erstes AVR-Assembler Programm im uC hatte (an port E
sind 8 leds angeschlossen und die sollen 10101010 anzeigen) wollten die
lichter nicht so wie ich....


.include "m128def.inc"

  ldi r16, 0xff
  out DDRE, r16

  ldi r16, 0b10101010
  out PORTE, r16

ende:
  rjmp ende


-kann mir jemand sagen ob das programm laufen sollte? In der
 Simulation zeigen die pins den gewünschten wert an und das programm
 springt in die endlosschleife!

hab die ISP-schaltung nach nem Schaltplan aus der Schule aufgebaut.
mit nem Treiber-baustein (74HCT244)..... am Reset-ausgang vom
Treiber-baustein (pins 3,5,7) ist ne diode in durchlassrichtung zum
Reset- eingang vom controller geschalten, dann noch pulldown-Widerst.
und reset-taster gegen Vcc. g

-wenn ich an der kathode der diode gegen masse mess hab ich ca. 0,8V.
 meine erste frage wäre gewesen, ob ich da nicht ziehmlich genau 0V
 haben sollte wärend des normalen betriebes... datenblatt sagt:
 ..... a low-level for longer than than the minimum pulse length
 will generate a reset.....

 pulldown als pullup umgelötet und am resetpin vom
 controller kommt kein reset mehr an... ist ja auch klar.... wenn an
 der kathode der diode immer 5V stehen muss, dann müssen an der anode
 5.7V ankommen, dass sie leitend wird...

 jetzt frag ich mich: -Wozu dient die Diode überhaupt?
                      -wenn ich sie umpole muss das doch wider
                       klappen, oder?
                      -wenn ich sie brücke klappt es aber auch?!

 Mit gebrückter diode und reset über 10kohm an Vcc kann ich zwar
 wieder Daten austauschen aber, obwohl der reset an 5V liegt, regt
 sich an den Lichtern immernoch nix!


 Bin für jede Antwort dankbar!
 MFG Burt

von Christoph Kessler (Gast)


Lesenswert?

Ich denke, die Diode muß andersherum eingebaut sein, damit simuliert man
einen open collector-Ausgang vom IPS-Interface. Der Reset-Pin des AVR
ist vermutlich über einen internen Pullup bereits auf High, und das
Interface muß ihn auf low ziehen können, um in den Programmiermodus zu
kommen.
In dieser gezeichneten Richtung könnte ich mir höchstens eine Diode in
der VCC-Leitung vorstellen, um zu verhindern, daß von zwei Seiten
gleichzeitig 5V angelegt werden.
Wie groß soll denn der R nach GND sein im Verhältnis zum
eingezeichneten Pullup? Er scheint mir nämlich völlig unnötig zu sein.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

hast du überhaupt die richtigen Pins für isp am Mega128 verwendet.
Siehe [AVR_Checkliste].

Matthias

von Burt (Gast)


Angehängte Dateien:

Lesenswert?

hallo

@Christoph:
der pulldown hatte 10kohm laut schaltplan (standartwert!?) hab den dann
zum pullup gemacht weil sonnst an dem Resetpin durch den pulldown 0V
gelegen sind. da im DB aber steht dass masse am Resetpin einen Reset
auslöst muss da im normalen betrieb 5V an Reset stehen. Eigentlich ist
der reset pin intern schon "gepullupt" aber es kann ja nix schaden!
ich hab die diode jetzt verpolt weil mir gestern nacht noch der gedanke
gekommen ist dass der Treiberausgang villeicht zuviel spannung (0,7V zu
viel oder so) ausgibt.

@Matthias:
da ich wie gesagt meinen controller beschreiben und auslese kann muss
ja dien pin-beschaltung stimmen. PonyProg hat 3 tage lang fehler
ausgespuckt bis ich dann die checklist nochmal aufmerksam durchgelesen
hab (sowas denkt sich ja keiner das die pins MOSI und MISO nicht die
normalen MOSI und MISO pins sind)

@all:
hab kein oszi um die ausgangsspannung vom treiber zu messen und kann
mir nict vorstellen, für was die diode ist. wenn der treiberausgang
(sind ja eigentlich drei) die TTL spannung 5V abgibt hab ich hinter der
diode am reset schon 0,7V low-pegel, oder? (nach dem aktualisierten
schaltplan)
Im DB auf S.321 steht, dass der Reset einen lowpegel akzeptiert
zwischen -0,5V und 0.5V?

Danke @all

Burt

von Burt (Gast)


Lesenswert?

.... habs jetzt hingekriegt.... des hatte was mit der LPT schnittstelle
zu tun.... nach dem programmieren des controllers war auf der
reset-leitung komischerweise immernoch low.....
Hab dann treiber neu installiert und jetzt funkts.....

Burt

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.