Hallo, ich habe zwei Fragen zum ISP-Programmieren. 1. Muss die Schaltung mit Strom versorgt werden? Also VCC für Mikrocontroller? 2. Muss der MOSI-Anschluss von µC auch zum MOSI-Anschluss vom ISP-Programmer? oder ist das wie bei RS232 Rx/Tx kreuzen? gruß michi
Michael S. wrote: > ich habe zwei Fragen zum ISP-Programmieren. > 1. Muss die Schaltung mit Strom versorgt werden? Also VCC für > Mikrocontroller? Wer die Spannung liefert, ist eigentlich egal, Hauptsache, es ist eine vorhanden. Also im Regelfall einfach die Platine an der Stromversorgung lassen. > 2. Muss der MOSI-Anschluss von µC auch zum MOSI-Anschluss vom > ISP-Programmer? oder ist das wie bei RS232 Rx/Tx kreuzen? Nein, MOSI auf MOSI, MISO auf MISO usw.
Auszug aus "Wichtige Regeln - erst lesen, dann posten": > Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...) Falls es um AVRs geht, hat Daniel das ganze schon richtig beschrieben. Die Zielhardware benötigt generell eine eigene Spannungsversorgung. MISO heißt "Master In Slave Out" und MOSI "Master Out Slave In", und Master und Slave sind klar definiert (und an beiden Enden der Leitung gleich), weshalb selbstverständlich alle MISOs miteinander verbunden werden müssen (gleiches gilt für die MOSIs).
Ich will im Moment meinen atmega8 zum ersten mal ansprechen. Ich hab mir diesen ISP-Programmierer zusammengebaut: http://rumil.de/hardware/avrisp.html Wenn ich jetzt mit AVR8 BurnOMat z.b. die Fuses auslesen will, kommt immer folgende Meldung: avrdude.exe: AVR device not responding avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. Habe aber vorher die Leitungen einzeln durchgeklingelt. Wie kann ich sicherstellen, ob mein Programmieradapter überhaupt funktioniert?
Gibt es eine Beschränkung der Leitungslänge von Parallelport bis zum Mikrocontroller? Bei mir sinds ca. 2 Meter Meine Belegung ist auf jeden fall korrekt. Unter avrdude habe ich als Programmer stk200 angegeben, aber auch schon andere ausprobiert. Ich weiß momentan nicht mehr wo ich noch rumschrauben kann.
Ist mein Problem nicht nachvollziehbar oder stell ich mich nur zu dumm an?
Spannung am µC vorhanden Spannung am 74hc244 vorhanden Programmer ist für STK200 / 300 Parallelport bidirektional eingestellt, kein USB-Paralleladapter Beim Start der Programmierung geht der Reset-Pin auf 0V. Das wären so mal die ersten Tests.
Muss man etwas bestimmtes unter den Hardwareinstellungen der LPT-Schnittstelle einstellen? "Resscourcenmethode" Wie kann ich sonst kontrollieren ob der Parallelport bidirektional eingestellt ist? ECP ist er auf jeden fall.
ECP sollte schon passen. Probier doch mal PonyProg, da gibt es hier ein Tutorial www.mikrocontroller.net/articles/Pony-Prog_Tutorial
Hubert G. wrote: > Spannung am µC vorhanden > Spannung am 74hc244 vorhanden > Programmer ist für STK200 / 300 > Parallelport bidirektional eingestellt, kein USB-Paralleladapter > Beim Start der Programmierung geht der Reset-Pin auf 0V. > Das wären so mal die ersten Tests. Alles ok, bis auf, dass der Resetpin auf 0V geht sobald ich den Programmieradapter anstecke! im Anhang der Schaltplan von der Schaltung wo der µC sitzt.
>Alles ok, bis auf, dass der Resetpin auf 0V geht sobald ich den >Programmieradapter anstecke! Dann haste wahrscheinlich einen Kurzen nach Masse. (Lötbrücke oder Draht vertauscht?) Dann läuft die CPU ja auch nicht bei permanenten Reset. Irrtum vorbehalten.
Hab nochmal kontrolliert. Sobald ich den Programmieradapter vom PC trenne ist das Massepotential weg. Sprich kein Kurzschluss auf der Platine.
Hast du den Programmieradapter ohne Zwischenkabel am PC stecken? Programmieradapter auch noch mal kontrolliert, auch Richtung PC? Es muss nicht unbedingt ein Schluß nach Masse sein, es genügt auch einer zu einem anderen Pin.
So ein 10k Widerstand zwischen VCC und AVCC macht gar keinen Sinn. Da gehört falls nötig eine Spule rein. Ansonsten direkt verbinden.
Ich mach mal morgen ein paar Fotos von meinem "Aufbau". @holger: hab das ich glaub sogar hier irgendwo gelesen, dass man anstatt der Spule einen 10k-Widerstand nehmen kann.
>@holger: hab das ich glaub sogar hier irgendwo gelesen, dass man anstatt >der Spule einen 10k-Widerstand nehmen kann. Dann hast du falsch gelesen. Wenn schon dann 10 Ohm. Macht aber auch keine Freude mehr damit wenn an Porta belastete Ausgänge benutzt werden.
also der Resetpin wird jetzt auch korrekt geschalten. Wenn ich beispielsweise mit Ponyprog etwas auslese, dann sagt er erstmal: Device missing or unknown device (-24) Selbe Fehlermeldung auch beim Beschreiben. Wenn ich da n Hexfile angeb, dann geht die CPU-Last vom PC auf 100% und irgendwann kommt "Write failed!". Es handelt sich hier um einen Atmega8-16PU
Michael S. wrote: > > avrdude.exe: AVR device not responding > avrdude.exe: initialization failed, rc=-1 > Double check connections and try again, or use -F to > override > this check. > > Habe aber vorher die Leitungen einzeln durchgeklingelt. > Kannst du AVRDUDE andere Kommandozeilenoptionen mitgeben? Probier mal -B10 , das regelt ein wenige die Geschwindigkeit... Ansonten: Alle Leitungen durchklingeln hilft: Programmer an uc anschließen und in die Datenblätter gucken. Dann wirklich überprüfen, ob MOSI an MOSI und MISO an MISO ist... Du kannst avrdude auch von der Kommandozeile aus aufrufen ohne Write-Befehl. Der guckt dann einfach nur, ob ein Device angeschlossen ist.
holger wrote: > So ein 10k Widerstand zwischen VCC und AVCC macht gar > keinen Sinn. Da gehört falls nötig eine Spule rein. > Ansonsten direkt verbinden. Ist AVCC überhaupt nötig? Ich dachte bisher, das sei nur für den ADC nötig; programmieren kann ich meinen Atmega8 auch ohne AVCC....
später brauch ich den ADC - ja. Könnte aber dieser Widerstand das Programmieren stören?
also es liegt an meiner Schaltung. Ich habe jetzt profisorisch auf nem Steckbrett nen Mikrocontroller mit ner ISP-Schnittstelle ausgestattet (stiftleiste) und über diesen Weg find ich den Mikrocontroller.
Noch zu AVCC. Das ist die Stromversorgung für PORTC. Diese ist nur extra ausgeführt um sie von der übrigen Stromversorgung entkoppeln zu können. Bei Verwendung es ADC führen Spannungsschwankungen an AVCC zu einer Verfälschung des Meßergebnis. Also ohne ADC direkt mit VCC verbinden, mit ADC wie im Datenblatt beschrieben entkoppeln.
kann sich jemand erklären was an der Schaltung falsch ist oder muss da ein Kurzer drauf sein?
Wenn es auf deinem provosorischen Aufbau funktioniert, dann muss der Fehler auf deinem Board sein. Es muss aber nicht ein Schluss gegen GND oder VCC sein, es kann auch einer gegen einen anderen Pin sein. In deiner Schaltung ist was ISP anbelangt kein Fehler ersichtlich. Sollte deine Relais, die da noch sichtbar sind, für 12V sein, dann wird es etwas Probleme beim anziehen geben, mehr als 4,5V wirst du da nicht draufbringen.
Beim gegenwärtigen Stand an Informationen kann man davon ausgehen das dein ISP-Adapter funktioniert? Ich dachte, das dein Adapter vom Layout vielleicht falsch wäre, aber das scheint nicht der Fall zu sein. In deiner AVR-Schaltung (Schaltbild)ist mir etwas aufgefallen. Oben links hast du eine -5V -Versorgung eingezeichnet obwohl nirgendwo auf dem Board so eine Spannung gebraucht wird. Wenn die Programmiersoftware Fehler meldet kann eine Unterbrechung, ein Kurzschluß oder vertauschte Leitungen oder fehlende Versorgung /Masse des AVR die Ursache sein. Der Takt muß auch funktionieren. Nur mal mit der Skopspitze dranhalten reicht meist nicht wenn man das gemessenen Signal nicht unverwechselbar zuordnen kann. Da muß man dann wirklich jede Verbindung prüfen. Wie versorgst du dein AVR-Board und den ISP-Adapter? >1. Muss die Schaltung mit Strom versorgt werden? Also VCC für >Mikrocontroller? Dein Adapter bekommt seine Versorgung über D1 vom AVR-Board. Die Masse muß vom PC über dem Adapter und dem AVR-Board durchverbunden sein. >Wer die Spannung liefert, ist eigentlich egal, Hauptsache, es ist eine >vorhanden. Also im Regelfall einfach die Platine an der Stromversorgung >lassen. Diese Aussage scheint doch ein wenig nicht nachvollziehbar zu sein.
Die Relais sind trotzdem falsch drinnen und wenn du gleich geschrieben hättest was für eine Stromversorgung du verwendest, hätte man sich viel Raten erspart. www.mikrocontroller.net/topic/130234#1178091
gibt es an diesem schaltplan noch was auszusetzen? Das Teil unterm Trafo ist ein Wandler für die Stromerfassung. Der Verstärkungsfaktor wird noch geändert. (LM258)
Ok noch eine Frage zum Komparator. Kann ich bedenkenlos die zwei ungenutzten Eingänge und den ungenutzten Ausgang auf Masse legen? Vorteil für mich wäre, dass sich die Lötpads nicht so leicht lösen würden.
> und den ungenutzten Ausgang auf Masse legen?
Klar doch, wenn du dir Ärger einhandeln willst....
Ich möchte hiermit nur vermelden, dass das Problem erfolgreich gelöst wurde. Der Trafo war definitiv zu schwach. Mit einer gut ausgelegten Spannungsversorgung funktioniert jetzt auch der ISP-Programmer. Vielen Dank für die Hilfen!
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.