HVProg ->RS232->PC

OP #1190810
Lesenswert?

Hi @all
Ich habe da ein kleines Problemchen, das ihr sicher ganz einfach und mit 
einem Fingerschnipp aus der Welt schaffen könnt.
Zu allererst: Ich bin Neueinsteigerin in Sachen MC+AVR

Ich habe mir mit meiner Bastellei einige Mega168-20 lamgelegt und wollte 
dennen einfach mal HV mäßig ein Chip Erase zukommen lassen. Dazu habe 
ich mir den HVProg von Tobbias Hammer gebastelt, Ver.3 (hvprog_05) 
http://www.der-hammer.info/hvprog/dl/hvprog_05.gif .
dabei fand ich folgenden Fehler im Schaltplan: PIN20+PIN21 
zusammengeschaltet? Stimmt nicht.
Firmware Ver.2 ist auch schon drauf, die LED blinken munter vor sich hin 
(rot blink, rot+grün blink, grün dauer)

Aber das nur am Rande.
Mein Problem ist jetzt folgendes:
Mein PC sendet munter über die RS232 Daten an den MC. Die kommen auch 
auf PIN 14 (PD0) an. Auf PIN 15 (PD1) allerdings ist immer ein 
HIGH-Signal. Anders ausgedrückt, der 8535 antwortet nicht.
Ach ja zur Info: Die Fuses habe ich wie folgt gesetzt: lfuse 0xEE, hfuse 
0xD9
Gebrannt habe ich die Firmware mit AVRDude und dem USBasp (AVRProg 
Metaboard).

Was mache ich denn nun falsch?
Brauche dringend Hilfe. (Eine EINFACHE HV Schaltung für einen Chip Reset 
würde mir auch reichen)

Danke an alle
Persönliche Seite #1190938
Lesenswert?

Auf der Seite sind sieben verschiedene aufgelistet.

Die arbeiten in der Regel mit AVR Studio zusammen, schätze ich, und dort 
mit verschiedenen Einstellungen für das jeweilige Gerät (STK500, Dragon, 
...).

AVRDUDE kann auch bestimmte HV-Programmer bedienen 
(http://www.nongnu.org/avrdude/user-manual/avrdude_4.html)

Edit:

Bei dem Elm Chan HV-Programmer ist auf Chans Seite die Software 
AVRPP.EXE angegeben. Die steckt inkl. C-Source in einem verlinkten 
ZIP-Archiv auf Chans Seite.
#1191373
Lesenswert?

Hallo,
man baut nicht gleich nen anderen, nur weil der erste nicht auf Anhieb 
funktioniert. Ich habe den HVProg von Tobias auch vor längerer Zeit 
nachgebaut(Eagle Files V0.5). Das Ding funktioniert definitiv! Nen 
konkreten Hinweis kann ich leider nicht geben, hat bei mir auf Anhieb 
funktioniert und ist auch schon ne Weile her.

Uwe
Gast #1191434
Lesenswert?

>Gebrannt habe ich die Firmware mit AVRDude und dem USBasp (AVRProg
>Metaboard).

Welche Firmwaredatei hast Du gebrannt?
Die *.ebn Datei kannst Du wie beschrieben nur mit AVRprog.exe und nicht 
mit avrdude brennen.

poste mal die avrdude kommandozeile und das resultat mit Fehlermeldung

Jo
OP #1191559
Lesenswert?

Gebrannt habe ich die STK500 als HEX Datei.
Die, die aktuell im AVR STudio ist nur halt als .HEX.
Fehlermeldungen gab es keine, die Software scheint ja auch zu laufen.
Sonst würden die LED's nicht blinken (ohne Software kein Blinken).
Im Simulator (AVR-Studio) läuft die .HEX auch.

@Uwe
wie hast du deine Fuses gesetzt?
Ich vermute, da liegt mein Problem.
Sonst könnte es nur noch die Strecke zwischen PC und MC sein.

Katja
Gast #1191648
Lesenswert?

> Gebrannt habe ich die STK500 als HEX Datei.
> Die, die aktuell im AVR STudio ist nur halt als .HEX.
Woher hast Du die?

> Fehlermeldungen gab es keine, die Software scheint ja auch zu laufen.
Sorry, ich hatte die comandline und Fehlermeldung gemeint, die Du mit 
dem neuen Programmer und avrdude erhältst, wenn Du versuchst den neuen 
Programmer zu benutzen.

> Sonst würden die LED's nicht blinken (ohne Software kein Blinken).
Stimmt, irgendwas muß ja drauf sein.

Deine Fusebits kannst Du mit dem Fusebitrechner von Mark überprüfen:
http://www.engbedded.com/fusecalc/

D9 EE müsste passen wenn die Quarzfrequenz stimmt, C9 EE geht auch, dann 
hat der Oszillator etwas mehr Strom.

Den Weg zum PC kannst Du testen, wenn Du PD0 und PD1 am Controller 
brückst und mit einer Terminalemulation testest.

HTH,
Jo
Persönliche Seite #1191800
Lesenswert?

Katja Bo. wrote:

> also die Befehlszeile:
> avrdude -c stk500 -p m168 -P com2

Mit der zusätzlichen Option -v bekommst du mehr Infos aus AVRDUDE raus. 
Mehr v gibt mehr Infos. Ich benutze oft -vvv.

> Antwort:
> avrdude: stk500_getsync(): not in sync: resp=0x00

Bei einem verfusten Atmega168 wäre das verständlich. Obige Zeile benutzt 
AVRDUDE im ISP-Programmiermodus (-c stk500).

> Ich habe mir mit meiner Bastellei einige Mega168-20 lamgelegt und wollte
> dennen einfach mal HV mäßig ein Chip Erase zukommen lassen. Dazu habe

Und das Chip Erase per Parallel (High voltage) Programming würde diese 
Situation auch nicht ändern, weil dabei die Fuses nicht geändert werden. 
Das Ändern der Fuses ist ein weiterer Programmierschritt.

Für den Parallel (High voltage) Modus müsstest du eine andere 
programmer-id eintragen.
(http://www.nongnu.org/avrdude/user-manual/avrdude_4.html)

Das kann z.B. sein

stk500hvsp - Atmel STK500 in high-voltage serial programming 
mode(version 2.x firmware only)

stk500pp - Atmel STK500 in parallel programming mode (version 2.x 
firmware only)

Du siehst, dass hier die Firmware vom STK500 (bzw. deinem Nachbau) eine 
Rolle spielt. Bist du sicher, dass du eine v2.x Firmware hast?
Gast #1191815
Lesenswert?

Wenn die Software passt (Du schweigst Dich ja aus, wie Du das hex File 
aus dem ebn File erzeugst) Muß es wohl ein Fehler im Aufbau sein. Die 
Software entscheidet ja anhand der Spannungsteiler R6/R7 und der 
Widerstände am 74165 ob es ein STK500 oder ein ISP Programmer ist. Wenn 
da was nicht stimmt weis man nicht wirklich was passiert.

Du kannst zur Sicherheit auch mal noch in die Befehlszeile -b 115200 
eingeben, aber das sollte bei avrdude default sein.

Jo
Persönliche Seite #1191858
Lesenswert?

Tipp: Hör auf Sachen aus den Ausgaben wegzulöschen. Du verbindest deinen 
Helfern die Augen!

Hier in diesem Beispiel würden mich die Kommandozeile und die AVRDUDE 
Version interessieren, denn

>          Programmer Type : STK500V2

spricht nicht dafür, dass du die richtige programmer-id eingetragen 
hast. Die Programmer-id scheint STK500V2 zu sein.

Wäre sie stk500pp oder stk500hvsp müssten laut avrdude.conf (hier eine 
alte Version) andere Texte kommen.

programmer
  id    = "stk500pp";
  desc  = "Atmel STK500 V2 in parallel programming mode";
  type  = stk500pp;
;

programmer
  id    = "stk500hvsp";
  desc  = "Atmel STK500 V2 in high-voltage serial programming mode";
  type  = stk500hvsp;
;
Persönliche Seite #1191921
Lesenswert?

> Die Problematik ist ja schon, das die Kommunikation mit dem Programmer
> nicht läuft. Bei stk500hvsp bekomme ich die gleichen Meldungen.

Das sehe ich anders. Du konntest den Programmer selbst programmieren 
(Firmware einspielen). Das spricht dafür, dass der Programmer selbst 
funktioniert. Es kann sein, dass du im HV Teil ein Hardware- oder 
Bedienproblem hast.

Wie ist der Atmega168 angeschlossen (Schaltplan)? Das ist entscheidend 
ob du mit dem stk500pp oder ob du mit dem stk500hvsp arbeiten musst. 
+12V Spannung und Jumperstellungen JP1 und JP2 überprüfen.
OP #1191931
Lesenswert?

Den Programmer habe ich mit dem USBasp programmiert (Abgewandelte 
Version im Metaboard).
Das Problem ist das der Hammer-Programmer sich nicht meldet.
Das AVR Studio erkennt ihn auch nicht.
Und soweit ich weiß, muss auch kein mc verbunden sein.
(Ich habe mir aus purer Verzweifelung auch schon ein stk500 ISP Derviat 
gegönnt, das wird vom AVR Studio ohne mc als stk500 erkannt! Taugt aber 
gar nix!)

Ich habe mich an den Belegungsplan von Tobias Hammer gehalten und nur 
noch den 28 Pin angeschlossen. Eingentlich der einfachste Teil der 
Schaltung
Gast #1191939
Lesenswert?

> Das sehe ich anders. Du konntest den Programmer selbst programmieren

Kati hat recht, die Probleme sind ja Timeouts zwischen avrdude und 
HVprog.

Auch bei nicht angeschlossenem Zielcontroller muß sich der Programmer 
melden.

Wenn sich der Mega8535 auf dem Programmer hat programmieren lassen heist 
das noch nicht das auch der Rest der Schaltung funktioniert.
Gast #1192019
Lesenswert?

Wie ich oben geschrieben hatte, erkannt wird das Teil durch den 
Spannungsteiler R6/R7 und durch die Beschaltung des 165.
Und natürlich das Zeug links vom Controller...

Ich denke rund um den 165 könnte auch das Problem sein, schau Dir die 
Beschaltung genau an.

Unwichtig sind erst mal die Steckbverbinder und der HV Teil.

Da der Loopback mit gebrückten Pins PD0/PD1 geht könnten die höchstens 
noch vertauscht sein, ist aber eher unwahrscheinlich.

Jo

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