Brauche Debugginghilfe mit ISP und mega32

OP #509380
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
Gast #509474
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.
Gast #510069
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?

OP #510133
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.


OP #510180
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.
Gast #510203
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?

OP #510210
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


OP #510780
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
Gast #510800
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.
OP #510929
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?
OP #510943
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren