www.mikrocontroller.net

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


Autor: Georg (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.
---------------------------------------
Detecting on 'USB'...
AVRISP mkII with serial number XXXXXXXXXXXXX found.
Getting isp parameter.. SD=0x03 .. OK
---------------------------------------

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

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/...
und dem Datenblatt des ATtiny45V hier
http://www.atmel.com/dyn/resources/prod_documents/...
habe ich bei dem Kabel die entsprechenden Kabel zusammengelötet.
Verlötung habe ich so gemacht:
stecker am USBprog--stecker am ATtiny45
1(mosi) -> 5(PB0(mosi))
2(vcc) -> 8(vcc)
3(n.c.)--------------
4(ground)->4(gnd)
5(reset) ->1(PB5(reset))
6(ground)->4(gnd)
7(sck)-> 7(PB2(sck))
8(ground)->4(gnd)
9(miso)->6(PB1(miso)
10(ground)->4(gnd)
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.
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!)
->alle Jumper setz-Möglichkeiten mit JP3(da ich nicht sicher bin wofür der ist)
->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!!!!)

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg schrieb:

Pinout

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

> 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... 
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
# [code]Code in anderen Sprachen, ASCII-Zeichnungen
[/code]

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.