Forum: Mikrocontroller und Digitale Elektronik Programmierung mit AVRISP mkII klappt nicht


von TechInfo (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche ein Atmega128-Board (siehe Schaltplan) mit dem AVRISP mkII 
über USB zu programmieren. Wenn ich auf das Board zugreifen will, 
bekomme ich die Meldung: There seems to be a short circuit on the ISP 
connector. The MOSI line appear to be short-circuited.

Ich mußte den 6-Pin-Header auf einem 10-Pin-Header umsetzen, habe die 
Pins per Flachbandkabel aber meiner Meinung nach richtig verbunden.

Wo könnte das Problem sonst liegen?

von ich auch (Gast)


Lesenswert?

Noch mal alles nachmessen.
Auch wenn mann meint es ist richtig, stimmts oft doch nicht.

von TechInfo (Gast)


Lesenswert?

Hier noch die Umsetzung:

6-Pin-Header -> 10-Pin-Header

Pin1->Pin9 (MISO)
Pin2->Pin2 (VCC)
Pin3->Pin7 (SCK)
Pin4->Pin1 (MOSI)
Pin5->Pin5 (RESET)
Pin6->Pin4,Pin6,Pin8,Pin10 (GND)

Pin3 des 10-Pin-Header ist nicht connected.

von ecslowhand (Gast)


Lesenswert?

Umsetzung 6-pol->10pol ist korrekt. Mess (!) doch mal das Kabel durch.


von TechInfo (Gast)


Lesenswert?

Messung ist ok.

von TechInfo (Gast)


Lesenswert?

Hat sonst niemand eine Idee an was es liegen könnte?

von ecslowhand (Gast)


Lesenswert?

Mess doch mal direkt an Pin2(MOSI) ob überhaupt Signale ankommen. Das 
gleiche gilt für die anderen drei Signale.

Funktioniert denn der MK2 mit anderen CPUs ?

von TechInfo (Gast)


Lesenswert?

Sorry bin kein E-Technik-Profi. Wie misst man den Pin bei Verbindung mit 
dem Target-Board?

von Michael Wilhelm (Gast)


Lesenswert?

Dein serieller MAX? 232 stört wahrscheinlich. Einen Widerstand zwischen 
dem TXD Ausgang und dem Controllereingang bewirkt, dass der MAX über 10K 
angebunden ist, der ISP aber Vorrang hat.

MW

von TechInfo (Gast)


Lesenswert?

Die Platine habe ich ja fertig gekauft, da kann ich nichts mehr dran 
löten.

von TechInfo (Gast)


Lesenswert?

@ecslowhand

MOSI liegt auf Pin1.

Aber ich habe jetzt mal alles durchgemessen:

Pin9 (MISO)=5V
Pin2 (VCC)=5V
Pin7 (SCK)=0,002V
Pin1 (MOSI)=5V
Pin5 (RESET)=5V

Kann damit jemand was anfangen?

von Pointer (Gast)


Lesenswert?

Mit durchmessen ist gemeint: Das Kabel mittels einem Piepser oder 
ohmisch (Multimeter) zu prüfen. Auf Durchgang auf Unterbrechung und 
Kurzschluß zwischen den Adern.

von TechInfo (Gast)


Lesenswert?

Ich habe jetzt im Betriebszustand gemessen. Da misst man doch die 
Spannung und nicht ohmisch.

von Pointer (Gast)


Lesenswert?

Diese Messungen natürlich ohne Betriebsspg. und es sollte an einem Ende 
keine Elektronik dran sein. An welchem ist egal.

von TechInfo (Gast)


Lesenswert?

Folgende Spannungsänderungen ergeben sich, wenn ich mit AVR-Studio den 
uC programmieren will (z.B. Erase). Also zwischen dem Drücken des 
Buttons und der Fehlermeldung:

MISO fällt von 5V auf ca. 2,5V

MOSI bleibt bei 5V

SCK steigt von ca. 0,7V auf 2,5V

RESET fällt von 5V auf 0V

von Pointer (Gast)


Lesenswert?

Mit was tust Du das messen.

von TechInfo (Gast)


Lesenswert?

Ich habe jetzt nochmal mit Piepser die Kabelumsetzung durchgemessen, und 
zwar einerseits an den Pins des ISP-Headers auf dem Target-Board (10 
pol) und andererseits an den Pins des Steckers, an den ich das AVRISP 
mk2 anschließe (6 pol).

Alle Leitungen sind demnach korrekt verbunden, es piepst jeweils nur bei 
den zwei Pins die auch verbunden sein müssen.

von TechInfo (Gast)


Lesenswert?

@Pointer

Die Messung der Spannungsänderungen mit einem Voltmeter, und zwar an den 
Pins des ISP-Headers auf dem Targetboard.

von Christian U. (z0m3ie)


Lesenswert?

Die Messung mit dem Voltmeter ist nicht sonderlich aussagekräftig.
Was mit dabei auffällt ist das MOSI bei 5V bleibt und MISO auf 2,5V 
fällt also MISO anscheinen Daten kommen und MOSI nicht. gehe ich recht 
in der Annahme das du die Bezeichnungen von deinem Target Board genommen 
hast ?

Dann würde das heißen das dein Controller dem Programmer nicht 
Antwortet. Die Spannungspegel sehen erst mal gut aus entweder es ist 
noch ein Problem mit der Verbindung der MOSI Leitung oder die SCK 
Frequenz ist zu hoch (kannst du unter "Board" Im Programmierdialog 
einstellen) Oder dein Controller läuft gar nicht.

von TechInfo (Gast)


Lesenswert?

Das AVR-Studio meldet ja auch, dass die MOSI-Leitung anscheinend 
kurzgeschlossen ist. Die Bezeichnungen sind vom Board, ja.

von Pointer (Gast)


Lesenswert?

Welche Fehlermeldung kommt wenn der Controller nicht auf dem Board ist?

von TechInfo (Gast)


Lesenswert?

Den Controller ist fest verlötet (Atmega128).

von Pointer (Gast)


Lesenswert?

Nimm den Controller mal vom Board und Piepse dann die Anschlüsse 
gegeneinander und gegen Masse und Gegen VTG durch.

von Pointer (Gast)


Lesenswert?

Mist! ^3

von TechInfo (Gast)


Lesenswert?

Ich kann den Controller nicht vom Board nehmen. Diese Gehäuseart bekomme 
ich nie wieder dran gelötet.

von Pointer (Gast)


Lesenswert?

Wo hast Du das Board her?

von Pointer (Gast)


Lesenswert?

Hast Du noch einen anderen AVR im DIL Gehäuse?
Den dann auf ein Steckbrett und nur die Prog,Leitungen dran und ein 
Takt.
Dann weist Du ob dein AVRISP mkII I.O. ist oder nicht.

von TechInfo (Gast)


Lesenswert?

Das Board kommt von www.etteam.com bzw. einem Distributor in 
Deutschland.

Ich habe noch das STK500 hier mit einem 8515.

Wenn ich den mk2 an SPROG3 da anschließe blinkt die orange LED, also ein 
Problem mit der Reset-Leitung (Pull-Up). Siehe auch meinen anderen 
Artikel in diesem Forum.

von Pointer (Gast)


Lesenswert?

Wenn ich VTG auf meinem STK500 trenne dann blinkts auch schon.
Schon etwas dumm das Ganze .
Also 8515 auf ein Steckbrett oder ähnl.

von Pointer (Gast)


Lesenswert?

Kann es sein das der Mega128 verfused ist?

von TechInfo (Gast)


Lesenswert?

Da ich noch nie auf ihn zugreifen konnte konnte ich auch keine Fuse-Bits 
verstellen.

von Pointer (Gast)


Lesenswert?

Läßt sich der 128er über das STK500 ansprechen?
10pin mit 10pin verbinden.

von TechInfo (Gast)


Lesenswert?

Nope, da kommt dann eine Fehlermeldung dass er nicht in den 
Programmiermodus wechseln kann.

von Pointer (Gast)


Lesenswert?

Unterbrich mal VTG am Verbindungskabel.
Ich denke das 128er Board hat seine eigene SPG.Versorgung.

von TechInfo (Gast)


Lesenswert?

Ich habe das getestet, indem ich an das 128er Board keine externe 
Spannungsversorgung angelegt habe, sondern es durch das STK500 versorgt 
habe.

von Pointer (Gast)


Lesenswert?

Ansonsten wüßte ich, ohne das Board hier im Labor zuhaben auch nicht 
weiter.

von Pointer (Gast)


Lesenswert?

Das ist nicht so gut.
Weil Du dann die Regler auf deinem Board rückwärts mit SPG. versorgst.
Dadurch passieren die lustigsten Sachen.
Also lieber nicht.

von TechInfo (Gast)


Lesenswert?

Also du meinst, ich solle es mal probieren, wenn das 128er Board an der 
eigenen Spannungsversorgung hängt?

Wie kann ich denn den VTG-Kontakt des 10-pin-Steckers unterbrechen ohne 
das Kabel kaputt zu machen?

von ecslowhand (Gast)


Lesenswert?

Pointer schrieb: "Unterbrich mal VTG am Verbindungskabel."

Völlig unnötig, lass das Kabel so wie es ist.

von Pointer (Gast)


Lesenswert?

STK500 VTRGET Jumper abziehen. Der an der grünrn LED.

von TechInfo (Gast)


Lesenswert?

Ich habe jetzt sowohl beim STK als auch beim Targetboard die eigene 
Spannungsversorgung dran.

Wenn ich mit AVR-Studio programmieren will, kommt die Meldung: An Error 
occured, see the command output for more info.

Dort findet sich aber nur ein Entering programming mode FAILED.

von Pointer (Gast)


Lesenswert?

6pol Kabel auf dem STK500 auch abziehen.
Nicht das der 8515 noch paral. dran ist.

von Pointer (Gast)


Lesenswert?

Wie hoch ist die ISP Frequenz eingestellt?
Schalte sie mal auf ca. 57KHz.

von TechInfo (Gast)


Lesenswert?

Kabel war sowieso ab, Frequenz geändert, bringt aber alles nichts.

von TechInfo (Gast)


Lesenswert?

Wenn ich den Programmiermodus auf PP/HVSP einstelle kann ich auf die 
Fuse Bits zugreifen!

von TechInfo (Gast)


Lesenswert?

Wenn ich ein Programm reinschreiben will, kommt folgende MEldung:


Reading FLASH input file.. OK
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      OK!
Reading FLASH ..      OK!
WARNING: FLASH byte address 0x0000 is 0x1F (should be 0x0C).. FAILED!
Leaving programming mode.. OK!

von Pointer (Gast)


Lesenswert?

Da liest Du nur Mist aus. Das ist der Hochvolt Programmier Modus.
Versuch mal unter Advanced das Signature Byte zu lesen.

von TechInfo (Gast)


Lesenswert?

Im ISP Mode:

0x00 0x00 0x00

Setting mode and device parameters.. OK!
Entering programming mode.. FAILED!
Leaving programming mode.. OK!

Im PP/HVSP:

0x1F 0x1F 0x1F

Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Reading signature .. 0x1F, 0x1F, 0x1F .. OK!
Leaving programming mode.. OK!

von Pointer (Gast)


Lesenswert?

Auf deinem 128er Board hängt ja an den Prog.Leitungen noch der RS232 
Wandler dran. R2O ist mit MOSI verbunden und hällt den auf einem 
kostanten Pegel.
Deswegen warscheinlich auch die Kurzschlußmeldung von deinem MKII.

von Pointer (Gast)


Lesenswert?

Kann auch sein das der Bootloader in betrieb ist.

von TechInfo (Gast)


Lesenswert?

Wie soll ich denn den RS232 entfernen? Außerdem gehe ich mal davon aus 
dass die Board-Designer das Board auch programmierbar gestaltet haben.

von TechInfo (Gast)


Lesenswert?

Hält der RS232 MOSI auch auf einem konstanten Pegel wenn RS232 gar nicht 
in Betrieb ist?

von Pointer (Gast)


Lesenswert?

Wenn es so verschaltet ist wie im Schaltplan eingezeichnet, dann liegt 
ein Designefehler vor. Eine Möglichkeit währe noch, Du unterbrichst die 
Leiterbahn und lötest dafür einen 4k7 Widerstand ein. Mit diesem Wert 
sollte das STK500 zurechtkommen.

von Pointer (Gast)


Lesenswert?

Hält der RS232 MOSI auch auf einem konstanten Pegel wenn RS232 gar nicht
in Betrieb ist?

Ja.

von Pointer (Gast)


Lesenswert?

Pieps mal durch von Pin 1 Prog.Anschluß nach Pin 9 ICL3232 was passiert.

von Regler (Gast)


Lesenswert?

> Wie soll ich denn den RS232 entfernen?

Versuche doch einfach mal, den Pin 9 etwas hochzubiegen, so dass er 
isoliert ist.

von Regler (Gast)


Lesenswert?

Ansonsten:

1) ATmega128 kaputt
2) AVR ISP kaputt
3) MAX232 kaputt, dadurch blockiert er vielleicht den Pin

Zumindest Punkt 2 sollte sich leicht ausschließen lassen. Hast du mal 
nen andeen AVR genommen? Hab jetzt nicht jeden einzelnen Beitrag 
gelesen. Also ein anderer AVR, pull-up an Reset, Spannung dran, ggfs. 
Quarz und natürlich ISP.

von TechInfo (Gast)


Lesenswert?

Also, beim durchpiepsen kam folgendes heraus:

Pin1 Prog.-Anschluss (MOSI) ist verbunden mit Pin10 RS232 (MISO)
Pin9 Prog.-Anschluss (MISO) ist verbunden mit Pin 9 RS232 (MOSI)

Also sind auf dem Board die Anschlüsse vertauscht?

Hochbiegen von Pins läßt die Bauform leider nicht zu, alles fest 
verlötet.

von TechInfo (Gast)


Lesenswert?

Kommando zurück, hab mich vertan.

Es piept bei den richtigen Pins. Auch die Verbindung zum Controller 
stimmt.

von TechInfo (Gast)


Lesenswert?

@Regler

2) kann man ausschließen, hatte den AVRISP am STK500, lief.

von Pointer (Gast)


Lesenswert?

Sind auf dem Board irgendwelche Jumper?

von TechInfo (Gast)


Lesenswert?

@Pointer: Nein, nur ein Reset-Knopf.

von Pointer (Gast)


Lesenswert?

Der ICL3232 darf beim Prog. nicht an dem Portpin PE0 hängen.

von Torsten (Gast)


Lesenswert?

Hallo,

wie Regler schon sagte, ist Pin9 vom RS232-Treiber das Problem. Das ist 
ein Ausgang, der gegen das MOSI-Pin kämpft. Sieht ganz nach einem 
Design-Fehler aus, oder die ISP-Schnittstelle wird nur während der 
Fertigung zum Aufspielen eines Bootloaders genutzt und ist nach 
Bestücken des RS232-Treibers nicht mehr nutzbar.

von Pointer (Gast)


Lesenswert?

Hast Du ein Bild vom Board?

von Pointer (Gast)


Lesenswert?

Ja genau so ungefähr. Leiterbahn irgendwo auftrennen und einen 
Widerstand einfügen, sagte ich aber schonmal.

von Pointer (Gast)


Lesenswert?

Im Schaltplan steht auch ISP LOAD und nicht ISP PROGRAMMING.

von TechInfo (Gast)


Lesenswert?

Danke. Ich denke wir sind der Lösung auf der Spur.

Wie verhält es sich denn mit dem Portpin PE1 (MISO), der mit TXD0(Pin 
10) des RS232 verbunden ist? Liegt da das selbe Problem vor?

Neben dem RS232-IC sind Widerstände eingelötet, ich weiß aber nicht an 
welchen Pins die hängen.

Nachträglich was zu machen erscheint mir schwierig wenn ich mir die 
Platine anschaue. Bild liegt hier:

http://i112.photobucket.com/albums/n170/wi_roon/products/avr_baseboard1.jpg

Wie sollte man sonst die Platine programmieren? Auf der beiligenden CD 
ist dokumentiert wie man das mit PonyProg und einem zusätzlich 
bestellbaren ISP-Adapter derselben Firma machen kann. Es steht aber auch 
drin, dass das mit jedem anderen ISP-Progger, insbesondere Atmel, 
machbar ist.

von Pointer (Gast)


Lesenswert?

Nein das ist ein Eingangspin das macht nix.

von Pointer (Gast)


Lesenswert?

Das was auf dem Bild zu sehen ist am rs232 sind Kondensatoren.
Aber was geschrieben steht und was wirklich ist.....
das sind Welten.

von Pointer (Gast)


Lesenswert?

Die LED ist im Plan auch nicht eingezeichnet.
Wieviel Silberlinge hat das Board den gekostet?

von TechInfo (Gast)


Angehängte Dateien:

Lesenswert?

Ich hänge euch hier noch den Schaltplan für den ISP-Progger an, den man 
zusätzlich kaufen kann. Vielleicht bringt das ja die Lösung.

von TechInfo (Gast)


Lesenswert?

29 Dollar. Ist jetzt die Frage ob es mit dem Programmieradapter der 
selben Firma funktionieren würde oder ob die Boards einfach verpfuscht 
sind.

von Pointer (Gast)


Lesenswert?

Tja, die 07er Treiber sind erheblich leistungsstärker als das STK 500.
Damit könnte es funktionieren, undder Low Pegel des 07 überstimmt den 
High Pegel des ICL3232.
Dieses Teil kannst Du auch selbst bauen.

von Pointer (Gast)


Lesenswert?

Wenn das so funktionieren sollte, ist das Absicht um noch ein Teil 
verkaufen zu können.

von TechInfo (Gast)


Lesenswert?

Ok, danke für die viele Mühe.

@Pointer

Du schreibst, der Low-Pegel des 07 überstimmt den High-Pegel des 
ICL3232. Heißt das, am MOSI muss zwingend LOw-Pegel anliegen?

von Pointer (Gast)


Lesenswert?

Wenn der ICL3232 nicht angesteuert wird, Eingänge offen, liegt sein 
Eingang durch den int. PullDown Widerstand an GND, und da er invertiert 
ist sein Ausgang High.

von TechInfo (Gast)


Lesenswert?

Und noch ne Frage: Müßte der AVRISP mkII nicht über die Hürde des 
RS232-Ausgangs drüber kommen? Der hat doch sicher eine aufwendige 
Schaltung.

von Pointer (Gast)


Angehängte Dateien:

Lesenswert?

Die Ausgangsstufen sind dafür nicht ausgelegt.
Im Anhang die Innenschaltung des ICL3232.

von Pointer (Gast)


Lesenswert?

Eine solche Art von Schaltungsdesigne macht ein anständiger E-Techniker 
nicht.

von Rolf H. (hirsch)


Lesenswert?

Hi Leute,
ich habe genau das gleiche Problem. Atmega 128 für 29$ kommt aus 
Thailand, Rechnung aus Australien. Gleiche Fehlermeldung mit STK500.
Ich kann noch nicht mal die Signatur lesen...

von Erazer (Gast)


Lesenswert?

Legt Pin 9 am ICL3232 frei und macht dafür einen 4K7 Widerstand in die 
Leitung. Damit sollte das Problem gelöst sein.

von Erazer (Gast)


Lesenswert?

Ostern gut verbracht?
Änderung schon durchgeführt?

von TechInfo (Gast)


Lesenswert?

Hallo,

nochmal Danke an alle Beteiligten, wir haben einen 900 Ohm-Widerstand 
testweise eingelötet und schon funktioniert es!

von Erazer (Gast)


Lesenswert?

Na also. Wieder einen Designefehler gefunden.

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.