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
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.
Hi hast du überhaupt die richtigen Pins für isp am Mega128 verwendet. Siehe [AVR_Checkliste]. Matthias
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
.... 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.