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?
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.
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 ?
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
@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?
Mit durchmessen ist gemeint: Das Kabel mittels einem Piepser oder
ohmisch (Multimeter) zu prüfen. Auf Durchgang auf Unterbrechung und
Kurzschluß zwischen den Adern.
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
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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?
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.
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...