Forum: Mikrocontroller und Digitale Elektronik USBporg "Entering programming mode Failed", AVRstudio


von Georg (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
auch ich habe schon die suchfunktion genutzt, aber mein problem besteht 
weiter hin, da alle anderen gelöst wurden. Ich habe alles ausprobiert 
und nichts geht.
Aber erstmal mein Problem.

Nachdem ich im AVRStudio auf Connect->AVRISP mkII-> USB-> Connect gehe 
ist alles okay.
1
---------------------------------------
2
Detecting on 'USB'...
3
AVRISP mkII with serial number XXXXXXXXXXXXX found.
4
Getting isp parameter.. SD=0x03 .. OK
5
---------------------------------------

wenn ich dann die Signature vom Mikrocontroller lesen will, drücke ich 
auf
"Read Signature"
Dann kommt die Bekannte Fehlermeldung
1
---------------------------------------
2
Setting mode and device parameters.. OK!
3
Entering programming mode.. FAILED!
4
Leaving programming mode.. OK!
5
---------------------------------------

Dieses Problem wurde schon oft beschrieben. Doch es lang mesitens an der 
ISP Frequency. Bei mir nicht. Deshalb habe ich ein neues Thema geöffnet.
Zu meinen Problem lösungen unten mehr.

Aber erstmal von Anfang an.
Ich habe mir den USBprog v3 mit vorinstallierter mk2-Clon Software 
gekauft.
dazu 2 Attiny45V
dann habe ich den USBporg aufgebaut(alles gelötet) und mir ein passendes 
Kabel von den 10polen des USBporg zu den 8 Polen des ATtiny45V gebaut.
das sieht man auch in dem bild "Stecker__gel_tet.JPG"
anhand des Schemas des USBporg hier
http://svn.berlios.de/svnroot/repos/usbprog/trunk/board/schematic_v31.pdf
und dem Datenblatt des ATtiny45V hier
http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf
habe ich bei dem Kabel die entsprechenden Kabel zusammengelötet.
1
Verlötung habe ich so gemacht:
2
stecker am USBprog--stecker am ATtiny45
3
1(mosi) -> 5(PB0(mosi))
4
2(vcc) -> 8(vcc)
5
3(n.c.)--------------
6
4(ground)->4(gnd)
7
5(reset) ->1(PB5(reset))
8
6(ground)->4(gnd)
9
7(sck)-> 7(PB2(sck))
10
8(ground)->4(gnd)
11
9(miso)->6(PB1(miso)
12
10(ground)->4(gnd)
13
dh: stecker 2,3 des mikrocontrollers (und 3 des USBporg) sind nicht belegt
soweit müsste noch alles richtig sein.

dann habe ich die Jumper auf dem USBporg gesezt:
JP1 n.c.
JP2 auf 1-2connected
JP3 auf drei verschiedene Sachen ausprobiert. 1.garnicht, 
2.3-4connected, 3. 2-3connected
JP4 n.c.

Die Jumper sieht mann auch in dem Bild usbporg_jumper.JPG
(auf dem Bild steht ein Jumper auf JP2 schräg, das habe ich nur gemacht 
damit de Jumper nciht veloren geht.)

Dann versuche ich Das ganze Zeug mit AVRStudio.
Nur dann tritt die oben beschriebene Fehlermeldung auf.
1
Hier meine schon versuchten, Fehlgeschlagenenen Lösungsverusche:
2
->ISP Frequency auf jede andere mögliche einstellung gesetzt
3
->Kabel mehrmals nachgeprüft
4
->Strom und Ground am Mikrocontoller gemessen(alles okay!)
5
->alle Jumper setz-Möglichkeiten mit JP3(da ich nicht sicher bin wofür der ist)
6
->nur den 10(GND)Kontakt des USBporg mit dem 4(GND) verbunden

ich gebe gerne mehr, detailiertere Beschreibungen, wenn gewünscht.
und hoffe, das mei Problem mit diesem Forum gelöst werden kann.

Georg


(ich habe zum hervorheben einiger sachen sie einfahc mal in den C-Code 
Kontainer geschrieben, das müsste doch erlaubt sein oder? es hat nichts 
zu bedeuten!!!!)

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Georg schrieb:

Pinout

USBProg: 
http://svn.berlios.de/svnroot/repos/usbprog/trunk/board/schematic_v31.pdf
Attiny45: http://www.datasheetdir.com/ATTINY45-20PU+AVR-microcontrollers

> Verlötung habe ich so gemacht:
> stecker am USBprog--stecker am ATtiny45
> 1(mosi)    -> 5(PB0(mosi))                       OK
> 2(vcc)     -> 8(vcc)                             OK
> 3(n.c.)     --------------                       OK
> 4(ground)  -> 4(gnd)                             s.u.
> 5(reset)   -> 1(PB5(reset))                      s.u.
> 6(ground)  -> 4(gnd)                             s.u
> 7(sck)     -> 7(PB2(sck))                        OK
> 8(ground)  -> 4(gnd)                             s.u.
> 9(miso)    -> 6(PB1(miso)                        OK
> 10(ground) -> 4(gnd)                             OK
> dh: stecker 2,3 des mikrocontrollers
> (und 3 des USBporg) sind nicht belegt
> soweit müsste noch alles richtig sein.

Es gibt ISP Programmer, die prüfen, ob sie beim Übergang in den 
Programmiermodus den RESET-Pin des Target-µC von HIGH nach LOW ziehen 
können.

Wenn du diese Problemmöglichkeit ausschliessen willst, verbinde Pin 
1(RESET) und Pin 8 (Vcc) an der Attiny45-Fassung mit einem ca 10K 
Widerstand.

Zwischen Pin 8 (Vcc) und Pin 4 (GND) an der Attiny45-Fassung sollte - 
wie bei Digital-ICs üblich - ein 100nF Abblockkondensator sein.

Pin 4,6,8 am ISP-Stecker können beim USBProg geschaltet werden. Deine 
Variante nur ISP 10 (GND) - Attiny45 4 (GND) zu verbinden sollte 
funktionieren (und Kabel sparen).

Jumper
http://wiki.embedded-projects.net/index.php?n=Howto.Jumpers

> dann habe ich die Jumper auf dem USBporg gesezt:
> JP1 n.c.

Richtig. Du willst ja nicht den Atmega32 des USBProg programmieren.

> JP2 auf 1-2connected

USB versorgt die Zielschaltung über D1 (MBRS130T3G). Mit einem 
Multimeter müsstest du an der Attiny-Fassung zwischen Pins 8 (rot am 
Multimeter) und 4 (schwarz am Multimeter) ca. 5V messen.

> JP3 auf drei verschiedene Sachen ausprobiert.
>> 1. garnicht,
>> 2. 3-4 connected,
>> 3. 2-3 connected

Über JP3 kann die Targetschaltung (Attiny45) UART über USBProg 
abwicklen. Das ist nur für einen bereits programmten Target-µC 
interessant. Die Stellung dieses Jumpers sollte egal sein.

> JP4 n.c.

Die Pin-Bezeichnung fehlt im Schaltplan. Im Wiki steht "JP4 is connected 
to PORTA7 and may be used randomly by the firmware.". Ich vermute man 
braucht das beim ISP Programmieren nicht.

IMHO richtig,

Sonstiges

> Hier meine schon versuchten, Fehlgeschlagenenen Lösungsverusche:
> ->ISP Frequency auf jede andere mögliche einstellung gesetzt
> ->Kabel mehrmals nachgeprüft
> ->Strom und Ground am Mikrocontoller gemessen(alles okay!)
> ->nur den 10(GND)Kontakt des USBporg mit dem 4(GND) verbunden

Du kannst jetzt noch Funktionstests machen (und beim Herstellersupport 
nachfragen).

Wird beim Übergang in den Programmiermodus RESET auf LOW gezogen? 
Voraussetzung 10K Widerstand wie oben.

Wenn du eine Low-Current-LED und 1K Widerstand hast: Du kannst damit an 
der SCK und der MOSI Leitung spionieren, ob dort Takt oder Daten 
transortiert werden. Niedrige ISP-Frequenzen verwenden.

Du kannst den Attiny45 entfernen und MOSI/MISO brücken. Die 
Programmiersoftware sollte dann alle gesendeten Zeichen 1:1 
zurückbekommen. Den Datentransfer kannst du auf niedriger Ebene 
(zeichenweise) mit AVRDUDE als Programmiersoftware und -vvv Option 
beobachten. Vorsicht: 
http://wiki.embedded-projects.net/index.php?n=Main.AvrdudeUsage 
beschreibt die Programmierung des Atmega32 auf dem USBProg selbst. Ein 
HowTo wie man USBProg unter Windows mit AVRDUDE benutzt habe ich nicht 
im Wiki gefunden. Grob: -c avrisp2 müsste als Programmertyp passen

EDIT: Statt "C-Container" nimm den
1
# [code]Code in anderen Sprachen, ASCII-Zeichnungen
[/code]

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.