Forum: Mikrocontroller und Digitale Elektronik Fragen zum ISP-Programmer


von Michael S. (michi88)


Lesenswert?

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

von Daniel G. (daniel-g)


Lesenswert?

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.

von Johannes M. (johnny-m)


Lesenswert?

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).

von Michael S. (michi88)


Lesenswert?

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?

von Michael S. (michi88)


Lesenswert?

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.

von Michael S. (michi88)


Lesenswert?

Ist mein Problem nicht nachvollziehbar oder stell ich mich nur zu dumm 
an?

von Hubert G. (hubertg)


Lesenswert?

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.

von Juergen (Gast)


Lesenswert?

2m sind sehr viel, 20cm sind ok.

von Michael S. (michi88)


Lesenswert?

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.

von Hubert G. (hubertg)


Lesenswert?

ECP sollte schon passen.
Probier doch mal PonyProg, da gibt es hier ein Tutorial 
www.mikrocontroller.net/articles/Pony-Prog_Tutorial

von Michael S. (michi88)


Angehängte Dateien:

Lesenswert?

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.

von AC/DC (Gast)


Lesenswert?

>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.

von Michael S. (michi88)


Lesenswert?

Hab nochmal kontrolliert. Sobald ich den Programmieradapter vom PC 
trenne ist das Massepotential weg. Sprich kein Kurzschluss auf der 
Platine.

von Hubert G. (hubertg)


Lesenswert?

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.

von AC/DC (Gast)


Lesenswert?

Auf deiner ISP-Platine meinte ich.
Haste da mal gemessen.

von holger (Gast)


Lesenswert?

So ein 10k Widerstand zwischen VCC und AVCC macht gar
keinen Sinn. Da gehört falls nötig eine Spule rein.
Ansonsten direkt verbinden.

von Michael S. (michi88)


Lesenswert?

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.

von holger (Gast)


Lesenswert?

>@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.

von Michael S. (michi88)


Lesenswert?

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

von Karl-heinz S. (cletus)


Lesenswert?

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.

von Karl-heinz S. (cletus)


Lesenswert?

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....

von Michael S. (michi88)


Lesenswert?

später brauch ich den ADC - ja.
Könnte aber dieser Widerstand das Programmieren stören?

von Michael S. (michi88)


Lesenswert?

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.

von Hubert G. (hubertg)


Lesenswert?

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.

von Michael S. (michi88)


Lesenswert?

kann sich jemand erklären was an der Schaltung falsch ist oder muss da 
ein Kurzer drauf sein?

von Hubert G. (hubertg)


Lesenswert?

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.

von Michael S. (michi88)


Lesenswert?

relais sind für 5v

von AC/DC (Gast)


Lesenswert?

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.

von Hubert G. (hubertg)


Lesenswert?

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

von Michael S. (michi88)


Angehängte Dateien:

Lesenswert?

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)

von Hubert G. (hubertg)


Lesenswert?

AVCC über 10µH an +5V

von Michael S. (michi88)


Lesenswert?

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.

von Bensch (Gast)


Lesenswert?

> und den ungenutzten Ausgang auf Masse legen?

Klar doch, wenn du dir Ärger einhandeln willst....

von Michael S. (michi88)


Lesenswert?

-.-

also nein.
Naja wenigstens die Eingänge :)

von Michael S. (michi88)


Lesenswert?

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
Noch kein Account? Hier anmelden.