Forum: Mikrocontroller und Digitale Elektronik Brauche Debugginghilfe mit ISP und mega32


von Julien M. (ljminti)


Lesenswert?

Hallo

Bevor ich euch jetzt mit Fragen belager, möchte ich einen kleinen 
Einblick in mein Projekt geben.
Es handelt bei diesem Projekt um eine LED Matrix die per DMX oder USB 
angesteuert werden kann.
Als Spannungsversorgung dient ein 24V Netzteil.
Diese wird von einem Schaltregler auf angenehme 5V heruntergeregelt.
Als Herzstück werkelt ein ATmega32 der  per i2c die LED's ansteuert.
Über einen USBN9604 (von diesem IC bekommt der AVR auch seinen Clock) 
wird der Mega32 mit Daten über USB mit Informationen versorgt, 
alternativ kann aber auch die RS485 Schnittstelle genutzt werden.
Das fertige Projekt wird auf www.mintiworld.de vorgestellt werden.

Nach langer Wartezeit habe ich endlich eine Prototypenplatine erhalten.
Sofort wurden die Bauteile verlötet und soweit möglich getestet.

Der Schaltregler liefert schöne 5V.
Alle IC's werden ebenfalls ausreichend versorgt.

Damit nun der angedachte Bootloader in den AVR kann muss ich nun erstmal 
mein STK500 aus der Schublade ziehen und per ISP proggen.

Leider meldet das AVR Studio dass ISP nicht korrekt funktioniert.
Bin nun schon seit mehreren Stunden auf der Suche nach dem Fehler und 
kann den Grund nicht finden.

Vielleicht könnt Ihr mir weiter helfen.

Kurz zu den bisherigen Erkenntnissen:

Spannungen mit externer Versorgung und angeschlossenem STK500
RESET-Pin: 2,29V (Ohne STK500 4,99V)
MOSI-Pin:  2,01  (Ohne STK500 1,04V)
MISI-Pin:  2,01  (Ohne STK500 1,04V)
SCK-Pin:  2,01  (Ohne STK500 1,04V)
GND: 0V
Vcc-Pin: 4,99V (Ohne STK500 4,99V)

Beim anschließen des Netzteils ist mir folgendes aufgefallen:
GND verbinden -> alles OK
24V verbinden -> kleiner Funke zwischen klemme und Anschlusspin bis 
Klemme fest am Pin fixiert ist.


Nun im Anhang ist noch der Schaltplan.

Ich hoffe Ihr könnt mir weiterhelfen, dass ich dieses Projekt 
schnellstmöglich weiterführen kann :)

Gruß Julien

von Julien M. (ljminti)


Angehängte Dateien:

Lesenswert?

So hier die fehlende Datei :)

von rene (Gast)


Lesenswert?

Kein Scope ? Ein DVM ist etwas wenig.

rene

von Julien M. (ljminti)


Lesenswert?

Doch ein Scope ist schon vorhanden.
zwar nur ein älteres 10MHz und 2 Kanal sollten aber dafür reichen.

Allerdings ist mir nicht ganz klar wie ich damit jetzt am besten meinem 
Ziel näher komme.

Julien

von Dirk (Gast)


Lesenswert?

Hm, stimmt das mit C5 wirklich oder uebersehe ich etwas?

von Dirk (Gast)


Lesenswert?

Entschuldigung, falsch geschaut.

>Leider meldet das AVR Studio dass ISP nicht korrekt funktioniert.

Prüfe mal die ISP Freq., weil im Auslieferungszustand ist der interne 
1MHz RC Oszillator aktiv. Die ISP Freq. darf maximal 1/4 der F_CPU 
entsprechen.

von rene (Gast)


Lesenswert?

Nun, auf den pins Reset, MISO, MOSI, SCLK, laeuft die kommunikation mit 
dem PC. Irgendwas macht nicht was es soll...

r

von Julien M. (ljminti)


Lesenswert?

@ Rene

Ja rein von der physikalischen verbindung stimmen die ISP Leitungen.
Leider eben mit den oben angegebenen Spannungen.

Wie und was könnte ich denn als nächstes abprüfen?

Gruß

von Stefan (Gast)


Lesenswert?

> Ja rein von der physikalischen verbindung stimmen die ISP Leitungen.
> Leider eben mit den oben angegebenen Spannungen.

JP5 (Micromatch) in deiner Schaltung sieht jedenfalls arg anders belegt 
aus als ein normaler ISP Stecker 
http://www.mikrocontroller.net/articles/AVR_In_System_Programmer

Mir würde die Interpretation der Schaltung leichter fallen, wenn der 
Part um JP5 und Atmega32 detaillierter (ohne Bus) heraus gezeichnet 
wäre. Insbes. würde mich interessieren wie RESET von JP5 an den Atmega32 
kommt.

Du kannst ja mit vier Taktquellen programmieren:

1/ Int. RC Oszillator
2/ Ext. Clock vom USBN... über W1 eingespeist
3/ Ext. 8 MHz Quarz
4/ Ext. Clock vom STK500 über W1 eingespeist

Gehen alle vier Varianten nicht?


von Julien M. (ljminti)


Lesenswert?

Hallo

Also ich hab jetz mehrfach das ISP Kabel getauscht.
Und wie durch ein Wunder konnte ich plötzlich proggen.
Naja besser gesagt einmal fuses einstellen und danach ging und geht bis 
jetzt nix mehr :(

kommen nicht mehr in den Programier Modus

Also AVRStudio meldet:

ISP Mode Error

und dann erscheint

Entering programming mode FAILD....

Wenn ich aber einen AVR auf des Board packe und einfach nur diesen 
lösche klappt alles.

Aber irgendwie wenn ich meine externe Platine dran habe wieder überhaupt 
nicht.



von Dirk (Gast)


Lesenswert?

Verringer mal bitte die ISP Freq.

von Julien M. (ljminti)


Lesenswert?

nun diese habe ich schon reduziert, liegt momentan nur noch bei 57,6KHz.

Kann es irgendwie an den Clock-Leitungen liegen?

Verwende zum Proggen den Quarz des STK500
Kann der Quarz des USBN da etwas stören?

@Stefan:
Der JP5 ist nicht wie ein ISP stecker beschaltet.
Folgdermaßen ist dieser beschaltet:

JP5

Pin 1: MOSI     (AVR: PB5)
Pin 2: MISO     (AVR: PB6)
Pin 3: SCK      (AVR: PB7)
Pin 4: RESET    (AVR: Reset)
Pin 5: GND
Pin 6: +5V

Diese Leitungen sind 1:1 mit dem AVR verbunden.

von Julien M. (ljminti)


Lesenswert?

habe noch raudbekommen das mein hfuse auf 0xd9 ist aber weiß net ob des 
eine rolle spielt.
Des weiteren bin ich am überlegen ob es probleme gibt wenn versehentlich 
die JTAG disabled wurde?

Gruß

von Stefan (Gast)


Lesenswert?

> Aber irgendwie wenn ich meine externe Platine dran habe wieder überhaupt
> nicht.

Wie hast du das Programmierboard (STK500) an den nicht standardgemässen 
JP5 angeschlossen? Pinnummerierung Lötseite/Bestückungsseite doppelt 
kontrolliert und ggf. durchgemessen? Wie lang ist das Kabel zwischen 
STK500 und externer Platine? Ggf. Kabel kürzen und mit zusätzlichen, 
verdrillten GND Leitungen versehen.

> Naja besser gesagt einmal fuses einstellen und danach ging und geht bis
> jetzt nix mehr :(

Wie sind die Fuses jetzt eingestellt?


von Julien M. (ljminti)


Lesenswert?

@Stefan:

also:

STK500 (6pin ISP) -> JP5 (Platine)

MOSI -> MOSI
MISO -> MISO
SCK  -> SCK
RST  -> RST
GND  -> GND
VTG  -> VTG (+5V)


Die Leitungen hab ich mehrmals geprüft die stimmen jetzt :)
Alle mim durchgangsprüfer getestet , keine Kurschlüsse oder ähnliches 
festgestellt.

Kabel zwischen Platine und STK500 ist ca. 20cm.
Allerdings habe ich mit diesem Kabel in der Vergangenheit mehrere 
Platinen  programmiert.

Zu den Fuses kann ich jetzt leider nichts sagen, da ich sie nicht 
auslesen kann.

Oder gibt es da noch eine Möglichkeit?
HINWEIS: alles ist SMD-Verlötet.
Daher kaum HIGH-Voltage-Programming möglich oder sockeln des Mega32



von Julien M. (ljminti)


Lesenswert?

Hallo

Nachdem ich mir jetzt ein schönes Digitales Oszi zugelegt habe ist es 
etwas besser hier Messungen anzustellen.

Gibt es in irgendeiner Weise eine Checkliste nach der ich prüfen kann 
warum meine ISP Schnittstelle nicht funktioniert?

Will sichergehen dass ich mich evtl. wirklich nur beim Mega32 
ausgesperrt habe und dann in mühsamer Arbeit über die High-Voltage 
Programmierung alles wieder rückgängig machen kann.

Wenn möglich möchte ich aber diesen Schritt vermeiden..

Also bitte jeder der Tipps hat :)

Gruß Julien

von bluebrother (Gast)


Lesenswert?

Hast du mal die Geschwindigkeit der ISP-Schnittstelle überprüft? Hatte 
unlängst (mit nem AVR Dragon) denn Fall dass die zu langsam war. Hat 
mich sehr überrascht, mit 250kHz gings einwandfrei, mit weniger (< 125 
kHz) ging gar nix. Zu schnell geht allerdings auch in die Hose. 1/4 von 
der Taktfrequenz des Chips geht aber eigentlich immer.

von Julien M. (ljminti)


Lesenswert?

Habe schon alle ISP Frequenzen probiert,
leider alle sohne erfolg.

Sobal ich im AVR Studio das Fenster zum programmieren öffne erscheint 
der ISP Mode Error.

Kann ich prüfen, ob ich mich ausgesperrt habe?

von Julien M. (ljminti)


Lesenswert?

So eine wietere Hilfe !!

Hab mir jetzt mal die mühe gemacht und an mein TQF44 Gehäuse des Mega32 
alle leitungen angelötet damit ich HV Programmieren kann.

Das STK drangeschlossen und getestet.

Jetzt ist es möglich den Mega32 zu löschen.
Leider klappt das setzten der Fuse Bits immer noch nicht.

Folgende Anzeige erscheint vom AVR Studio

Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Writing fuses .. 0xF9, 0xC1 .. OK!
Reading fuses .. 0xFF, 0xFF .. OK!

WARNING: Fuse bits verification..  FAILED
Leaving programming mode.. OK!


Also irgendwie kommt mir das alles sehr seltsam vor!

Denn wiso kann er die Fuse schreiben aber erhält einen ganz anderen 
Werte wenn er die liest?

von Julien M. (ljminti)


Lesenswert?

Hier nochmal die Meldung wenn ich etwas programmieren möchte:

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

Ist der Mega32 defekt?
Ist noch nie beschrieben worden

von Andi (Gast)


Lesenswert?

Hallo, ist die Rst Pin von JP5 mit Reset Pin am Kontroller verbunden 
oder ist da keine Verbindindung wie auf dem Schaltplan?
Die 2 Pins müssen verbunden seien, sonst funktioniert ISP nicht.

von Andi (Gast)


Lesenswert?

Und C4 muss weg.

von Andi (Gast)


Lesenswert?

> RESET-Pin: 2,29V (Ohne STK500 4,99V)

STK500 sollte den RESET nicht so runterziehen.
Hast du STK500 mit einem anderen Target geprüft?

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.