PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit PonyProg und AVRs



mikro-VIIV
11.11.2008, 17:28
Hallo alle zusammen.

Bisher habe ich immer Ponyprog verwendet, um die Fuses meiner AVRs zu setzten und nen Bootloader drauf zuspielen. Als programmer verwede ich dazu den AVR-ISP-Programmer.

Aber seit neuem funktioniert absolut gar nichts mehr. Ich kann die AVRs weder beschreiben noch korrekt auslesen.
Ich erhalte immer die Fehlermeldung "Device missing or unknown device (-24)". Egal was für einen AVR ich verwende. Es ist immer das selbe.

dann hab ich mal per Software die Ausgänge der parallelen Schnittstelle alle auf LOW gesetzt und wenn ich dann auslese scheint es zu funktionieren. Nur die Daten, die ich erhalte sind kompletter Mist. irgendwelche sinnlosen Zeichen und auch jedes mal was anderes.

Ich weiß langsam nicht mehr, woran es liegen soll. Der scheint in Ordnung zu sein. Auch ein Wechseln des 74..244 hat nix gebracht.

Dabei hat am Sonntag noch alles so wunderbar funktioniert... und jetzt geht gar nichts mehr. Was mich auch wundert ist, dass jedes mal beim Auslesen etwas anderes ankommt.

Kann mir vielleicht jemand einen Tipp geben. Ich bin mittlerweile echt am verzweifeln.

Danke im Voraus. Bin wirklich für jeden Tipp dankbar.

mikro-VIIV
11.11.2008, 19:50
Ich weiß echt nicht, worans gelegen hat, aber jetzt funktionierts teilweise wieder.

Jetzt hab ich aber ein anderes Problem:
Ich habe 6 ATMEGA 8, bei denen ich die Fuses setzten muss und den Bootloader draufbringen muss. Bei zweien hatts mit Ponyprog dann funktioniert. Aber bei den anderen vieren tut sich absolut nichts. Die reagieren einfach nicht. Hab's dann auch mal mit Bascom versucht, aber auch da tut sich nichts.

Hat jemand ne Idee, woran das liegen könnte?

Ich glaube, ich hab bei der ganzen rumprobiererei bei einem oder auch bei allen von den vieren, die nicht funktionieren es anfangs geschafft die auszulesen. Dann hab ich aber glaub ich erst den Bootloader draufgespielt und wollt dann die Fuses setzten, was dann nicht mehr ging. Seit dem tut sich da eben gar nichts mehr.

Ist es möglich, dass ich mit dieser Aktion die AVRs irgendwie unbrauchbar gemacht habe?
Ist es nicht egal, ob erst Fuses und dann Bootloader oder andersrum?


Bin für jede Hilfe dankbar!

linux_80
11.11.2008, 21:52
Hi,

wenn man mal davon ausgeht, das die Peripherie iO. ist, gibts beim AVR verschiedene Möglichkeiten die es erscheinen lassen als wenn da etwas defekt ist, besonders wenn man mit den Fuses hantiert.

zB. falsche Taktquelle, Lockbits, ISP deaktiviert, ...

Evtl. mal mit einem Chip Erase probieren, falls ISP noch geht, ansonsten jemanden suchen der das per HV bzw. parallel kann.

oberallgeier
11.11.2008, 22:07
HV - wie geht das denn. Ich dachte gerade, dass diese Tage die Zeit der Controllerdefekte ist - mir sind nämlich auch einige hinübergegangen. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=44155&highlight=) Und der USB-Programmer dazu.

Daher die Frage: Wie geht HV, gibt es dazu ein Tutorial oder sonstwie einen Haufen sinnvoll geordnete Buchstaben zum Thema? Danke im voraus.

linux_80
11.11.2008, 22:12
HV kommt von High Voltage, und da ist nur das parallele gemeint, bzw. bei den kleinen AVRs zwar immer noch seriell, aber anders ;-)

Kommt von dem, das bei dieser Version mit ca. 12V am Reset angeklopft wird, statt der 5V für ISP.

Grundsätzlich sollte man mit einem STK500 oder kompatibel weiter kommen.

oberallgeier
11.11.2008, 22:16
Danke - endlich mal hab ich das kapiert. Irgendwie höre ich manchmal Bitbänging, HV und solche Fremdwörter mit denen ich total nix anfangen kann. Und hoffe bei solchen Defekten wie sie mir passiert sind, dass es irgendwo DAS Zauberwort gibt. Na ja, einen parallelen Dongle habe ich ja (der von robotikhardware). Dann mache ich also HV ohne es zu wissen! Danke!

linux_80
11.11.2008, 22:23
Mit parallel ist nicht gemeint wie der Dongle am PC hängt, sondern wie der AVR programmiert wird.
Das was in der Regel gemacht wird ist ISP, und das ist seriell, also nix HV, "ISP" kommt im DB vom AVR (zB.M8 ) garnicht vor ;-)

oberallgeier
11.11.2008, 22:41
Ich finde in den ATMEL-Application-Notes nur etwas über Flash Memories, AT29-Serie. Aber ich finde keine Informationen über diese Dinge. Wo bitte steht so etwas?

Nachtrag - ich hab grad was gefunden. Natürlich. FAQ - da werden sie geholfen.

linux_80
11.11.2008, 23:44
Das steht in jedem AVR Datenblatt, Abteilung Memory Programming.
Wenn der AVR zu klein ist für paralleles Programmieren, wie bei Tinys die nur 8 Pins haben, heissts HV seriell.

Such mal nach dem STK500 das kann sowas.

mikro-VIIV
12.11.2008, 15:29
Danke erstmal für die Tipps.


wenn man mal davon ausgeht, das die Peripherie iO. ist, gibts beim AVR verschiedene Möglichkeiten die es erscheinen lassen als wenn da etwas defekt ist, besonders wenn man mit den Fuses hantiert.

zB. falsche Taktquelle, Lockbits, ISP deaktiviert, ...

Evtl. mal mit einem Chip Erase probieren, falls ISP noch geht, ansonsten jemanden suchen der das per HV bzw. parallel kann.

Also der Programmer ist in Ordnung. Bei anderen AVRs funktioniert er.
Das die Fuses falsch gesetzt sing kann auch nicht sein, da ich da gar nicht rankam. Ich habe wie gesagt erst den Bootloader aufgespielt und dann ging gar nichts mehr. Die Fuses konnte ich somit auch nicht setzen.
Der Chip Erase per PonyProg oder Bascom funktioniert auch nicht.

Kann ich da noch irgendwas machen oder wie kann ich überhaupt testen, ob die AVRs noch funtionieren.
Bei 4 fehlerhaften AVRs von 6 kann man davon ausgehen, das diese kein Ausschuss sind oder? Ein grundlegender Defekt kanns also auch nicht sein.


Ich verstehs einfach nicht, warum es funktioniert hat den Bootloader aufzuspielen und dann nichts mehr ging.


EDIT:
habe gerade folgendes getestet:
Habe einen funktionierenden ATMEGA 8 genommen und den externen 16MHz Quarz nicht angeschlossen. Die fuses sind abe für den externen Quarz gesetzt. Dann habe ich versucht den AVR auszulesen. Dies hat allerdings nicht funktioniert. Warum eigentlich? Mit Quarz hatts doch geklappt.
Kann die Antwor auf diese Frage auch die Lösung für mein Problem sein, dass die anderen 4 AVRs nicht mehr funktionierten, nachdem ich den Bootloader aufgespielt hatte, wo drinstand, dass der AVR eben mit 16MHz arbeiten soll? Nun sind aber die Fuses noch nicht so gesetzt gewesen.
Ist dass also der Grund, warum die AVRs nicht mehr funktionieren?

Kann ich die nun eventuell noch retten, oder hab ich die jetzt kaputtprogrammiert?

Habe dann auch mal getestet, bei einem der 4 AVRs den Quarz nicht anzuschließen. Es funktionierte trotzdem nicht.

oberallgeier
12.11.2008, 15:55
Hi linux_80,

danke, Du hast mir weitergeholfen. Jetzt kenne ich diesen Themenkomplex etwas besser und weiß auch etwas besser, was in den Dokumentationen so etwa ab den Seiten 250 etc kommt.

Hubert.G
12.11.2008, 21:17
Hallo mikro-VIIV
Wenn du die Fuses auf Quarz gestellt hast, dann funktioniert der Oszillator im Kontroller nur mit einem Quarz, der interne RC-Oszillator ist abgeschalten.
Wenn du einen funktionierenden AVR hast kannst du eine Verbindung von XTAL2 zu einem nicht funktionierenden auf XTAL1 machen, mit etwas Glück kannst du dann diesen wieder ansprechen.
Bei einigen ATmega sollte man mit einem Quarz über 8MHz das CKOPT setzten damit der Oszillator voll schwingt.


Wenn das PonyProg nicht funktioniert dann im Setup auf "Probe" drücken, es sollte dann OK kommen. Bei mir war mal die Parallele Schnittstelle umgestellt obwohl niemand was gemacht hatte.

mikro-VIIV
13.11.2008, 15:53
Wenn du die Fuses auf Quarz gestellt hast, dann funktioniert der Oszillator im Kontroller nur mit einem Quarz, der interne RC-Oszillator ist abgeschalten.
Ich habe lediglich den Bootloader draufladen können, in welchem die Taktfrequenz 16MHz angegeben ist. Die Fuses sind allerdings noch auf interem Oszillator gestellt.



Wenn du einen funktionierenden AVR hast kannst du eine Verbindung von XTAL2 zu einem nicht funktionierenden auf XTAL1 machen, mit etwas Glück kannst du dann diesen wieder ansprechen.
Geht das auch in meinem falle, da die Fuses ja nicht für externen Oszillator geschalten sind. Werd's aber mal testen.



Bei einigen ATmega sollte man mit einem Quarz über 8MHz das CKOPT setzten damit der Oszillator voll schwingt.

Wenn ich denn an die Fuses ran käme.


PonyProg funktioniert. Bei anderen AVRs geht's ja einwandfrei.


Danke noch mal für die Tipps. Werd's mal ausprobieren.

mikro-VIIV
13.11.2008, 16:37
Wenn du einen funktionierenden AVR hast kannst du eine Verbindung von XTAL2 zu einem nicht funktionierenden auf XTAL1 machen, mit etwas Glück kannst du dann diesen wieder ansprechen.

\:D/ \:D/ \:D/ \:D/
Das war genau die Wiederbelebungsmaßnahme, die der AVR gebraucht hat.

Riesen DANK für den Tipp.

Nun mal sehen, obs bei den anderen dreien auch so geht.

mikro-VIIV
13.11.2008, 16:55
:( leider funtioniert das bei den anderen dreien nicht.

Falls noch jemand nen Tipp hat, wie ich die AVRs wiederbeleben kann währ ich echt dankbar.