AVR Mega32 auf Pollin Board lässt sich nicht schreiben

Gast #1131551
Lesenswert?

Nachdem ich es geschafft habe ein erstes Testprogramm zu compilieren,
habe ich jetzt das Problem, dass ich beim Versuch den Mega32 zu 
beschreiben folgenden Fehler bekomme:
Device missing or unknown device (-24).
Passiert sowohl wenn ich Avr Autodetect einstelle als auch wenn ich Avr 
Mega 323 eisntelle.
Ich hoffe mal, dass ich auf dem Board alles richtig gelötet habe(das 
Netzlämpchen leuchtet) und es nur ein Einstellungsfehler ist.
Persönliche Seite #1131581
Lesenswert?

Hast du deine Lötarbeiten kontrolliert? Und wie versuchst du genau das 
Programm in den Atmega32 einzuspielen?

In der Artikelsammlung Pollin Funk-AVR-Evaluationsboard findest du 
eine Beschreibung für die Programmierung über echtes RS232, die 
simpele RS232-Programmierschnittstelle von Pollin und die Software 
AVRDUDE sowie über echte Parallelschnittstelle und einen STK200 
kompatiblen ISP Programmieradapter und die Software AVRDUDE. Aufpassen 
bei der Umstellung der Fuses! Werte aus dem eigenen Datenblatt nehmen. 
Im Artikel wird ein Atmega8 programmiert.
Gast #1131611
Lesenswert?

In der bei pollin herunterladbaren Datei zum Board wird bei PonyProg die 
Einstellung SI Prog I/O.
Wenn ich diese Einstellung auswähle erhalte ich bei Probe Test Failed.
Bei der Auswahl SI Prog API dagegen erhalte ich ein Test Ok.
Gibt es dafür eine Erklärung und kann an dieser Einstellung der Hase im 
Pfeffer begraben liegen?
Persönliche Seite #1131613
Lesenswert?

WAS ist "Am ISP ist angesteckt." Denk dran hier sieht niemand dein 
Board, hier riecht niemand dein Board. Du musst unsere Augen, Ohren, 
Nasen und Hände ersetzen. Wir können höchstens ein paar Hirnzellen 
beisteuern.

Hmm, Testen... wenn nix in der Aufbauanleitung angegeben ist... ich 
probiere es mal. Bei den folgenden Messungen keine µC in die IC Fassung 
stecken. Datenblatt vom µC schnappen und mit Multimeter die wichtigen 
Spannungen an der Fassung kontrollieren. Wo ist GND, dort schwarze 
Leitung/Tastspitze COM vom Multimeter anschliessen. Ist an den Pins Vcc 
und ggf. AVcc ca. 5V vorhanden, prüfen mit der roten Tastspitze? Ist an 
/RESET +5V vorhanden?
Persönliche Seite #1131623
Lesenswert?

SiWi wrote:

> In der bei pollin herunterladbaren Datei zum Board wird bei PonyProg die
> Einstellung SI Prog I/O.
> Wenn ich diese Einstellung auswähle erhalte ich bei Probe Test Failed.
> Bei der Auswahl SI Prog API dagegen erhalte ich ein Test Ok.
> Gibt es dafür eine Erklärung und kann an dieser Einstellung der Hase im
> Pfeffer begraben liegen?

Kann es.

Ich habe mit deinen Stichworten in der Ponyprog-Doku nachgesehen. Dort 
steht:

 SI-Prog interface select "serial" check-box and choose "SI-Prog API" or 
"SI-Prog I/O" in the combo-box. Windows 95/98/ME and NT/2000/XP work 
either with "PonyProg API" and "PonyProg I/O", but the latter is faster. 
Then select the COM port you want to use, if some COM ports are disabled 
it means that they are used by other programs (usually by the mouse 
driver or modem), or not installed or access denied (may need root 
privileges). If you use added COM ports (PCI or PCMCIA cards) you must 
use "SI-Prog API". Note that USB2RS232 adapters often don't work or are 
very slow.
http://www.lancos.com/e2p/ponyprog2000.html

Das liest sich für mich so, als ob "SI-Prog API" der sicherer Weg wäre. 
Das scheint sich in deinem Fall auch zu betsätigen. Man könnte nich 
hingegen und auf den Zusammenhang mit VISTA hin suchen und ob es da 
spezifische Usererfahrungen gibt. Oben in der Doku ist VISTA ja noch 
nicht erwähnt.
Gast #1132462
Lesenswert?

Habe jetzt die wichtigen Pins am Sockel getest, Ergebnis: Weder an VCC 
noch an AVCC noch an RESET liegen 5V an. Wie kann ich jetzt die 
Fehlerquelle einschränken? Ich geh jetzt mal davon aus, dass es ein 
Lötfehler von mir ist, da diese Board eine miener ersten Löarbeiten ist.
Kann folgendes ein Fehler sein: Bei manchen Löchern in die die 
Komponenten gelötet werden sieht man von oben keine Lötstelle. Ist da 
normal oder ein Lötfehler?
Gast #1132466
Lesenswert?

Vorherigen Beitrag bitte als ungültig betrachten.
Ich hatte nicht gemerkt, dass sich der Kontakt zum Strom vor meinen 
Messungen gelöst hatte.
Sämtliche eintscheidenden Spanungen liegen an.
Wie kann ich nun feststellen, ob ein Softwarekonfigurationsfehler, ob 
der Mikrocontroller nicht funktioniert oder ob der Programmer auf dem 
Board oder andere Bauteile falsch verlötet sind?
Persönliche Seite #1132484
Lesenswert?

Du hast die Kalibrierung in PonyProg gemacht?

PonyProg läuft mit der Einstellung "SI Prog API"?

Du verwendest welches Kabel zwischen PC und Pollinboard? 
Vollbeschaltetes 1:1 RS232-Kabel (OK)? Nullmodemkabel (wird nix)? 
USB-RS232 Adapter (Kann gehen, muss nicht. Wenn's geht, ist' lahm)?

An welchem Anschluss des Pollinboards ist das Kabel angeschlossen? An 
der 9-poligen DB9-Buchse, die mit ISP (o.ä.) gekennzeichnet ist?

> Kann folgendes ein Fehler sein: Bei manchen Löchern in die die
> Komponenten gelötet werden sieht man von oben keine Lötstelle. Ist da
> normal oder ein Lötfehler?

Gehen an den Stellen oben und unten Leiterbahnen weg und sind die beim 
test mit einem Durchgangsprüfer elektrisch über die Lötstelle 
miteinander verbunden? Das sollte bei einem richtg gelöteten Board der 
Fall sein.
Gast #1132646
Lesenswert?

Kalibrierung habe ich gemacht.
PonyProg läuft mit der Einstellung "SI Prog API".
Kabel ist ein RS232/Sub-D Kabel ohne USB-Adapter und ist am ISP Port 
angeschlossen.
Was ich bei Google gefunden habe, sind viele Aussagen, dass man die 
Einstellung SI I/O hernehmen sollte für das Pollinbaord. Aber 
ausgerechnet diese kann ich nicht verwenden, da aufgrund meines Vista64 
Systems die Datei DLPORTIO.SYS nicht geladen werden kann.
Gast #1132758
Lesenswert?

So habe jetzt PonyProg auf ne virtuelle XP 32Bit Maschine gespielt
->Kann jetzt zwar auch die Einstellung SI Prog IO vornehmen, bekomme 
aber immer noch unknown or missing device(-24) gemeldet.
Kann mir jemand noch sagen welche Spannungen an den Programmierports des 
Mega32 vorliegen müssen, damit ich Lötfehler gänzlich ausschließen kann?
Gast #1132904
Lesenswert?

Jepp habe ich schon auf dem emulierten System.
Konnte ich zuvor nur nicht auf meinem Vista64, da sich da Version 2.07 
nicht installieren lässt und die verwendete 2.05 Version die Einstellung 
Mega32 nicht hat, sondern nur Mega323.
Persönliche Seite #1133080
Lesenswert?

Es gibt 295 Suchtreffer bei Google mit dem Suchtext +ponyprog +"vista 
64"

Zusammenfassung: Es sieht schlecht aus. Schlecht für Ponyprog und 
bestimmte andere AVR ISP Programmer.

Funkionieren soll der USBasp von Thomas Fischl und der USB-ISP von 
Ulrich Radig, wenn die Prüfung der digitalen Signatur der USB Treiber 
abgeschaltet wird:
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=44215
http://www.ulrichradig.de/site/forum/viewtopic.php?f=31&t=1319
Gast #1133837
Lesenswert?

Probiere das Ganze gerade auf einem echten XP32 System aus.
-> Selbes Problem wie vorher. Hab jetzt noch getest ob die Spannung von 
Reset beim Start des Programmierens auf 0 abfällt, was sie tut.
Kann mir vielleicht noch jemand sagen, welche Ports zum Programmieren 
verwendet werden und welche Spannung die vor dem Programmieren haben und 
wie sich diese während des Programmierens verändern sollte.
Gast #1133868
Lesenswert?

Hab jetzt getestet was an den Ports PB6,PB7,PB8 bei dem Start der 
Programmierung passiert(Ich glaube, das sind die, die man zur 
Programmierung benötigt, richtig?).
Nur der Port PB6 ändert sich vor der Fehlermeldung kurz auf 3-5 Volt, 
die anderen zwei nicht.
Ist das so normal?
Gast #1138904
Lesenswert?

Jetzt hb ich mal versucht die vom Programmer verwendeten Ports manuell 
zu setzen.
->Mosi und SCK kommen am IC-Sockel an. Das einzige, was mir dabei auf 
gefallen ist, ist dass beim Setzen auf 0 ~-0.7 V ankommen. Sollten da 
exakt 0 ankommen oder ist das beim Pollinboard so normal?
Gast #1138946
Lesenswert?

Also hab jetzt mal das ganze bei avrdude mit -vvvv laufen lassen.
Was genau müsst ihr da wissen? Die Ausgabe ist nämlich ziemlich lang.
Was mir dabei allerdings ins Auge springt ist, dass vor der 
Fehlermeldung
"AVR device not reponding" 30-40 mal diese Ausgabe kommt:
bitbang_cmd(): [AC 53 00 00] [00 00 00 00]
Wenn ich die Dokumentation von AVR zum Programmer richtig verstanden 
habe, sollte also die Rückgabe des Controllers, also wohl der zweite 
Block [AC 53 00 00] lauten, richtig?
Kann man dauraus ablesen, dass der Mikrocontroller hinüber ist?
Persönliche Seite #1139274
Lesenswert?

SiWi wrote:

> Also hab jetzt mal das ganze bei avrdude mit -vvvv laufen lassen.
> Was genau müsst ihr da wissen? Die Ausgabe ist nämlich ziemlich lang.

Macht nix, nee nicht richtig, es ist sogar sehr gut, den Text komplett 
anzugeben! Man kann dann wichtige Infos entnehmen u.a. die AVRDUDE 
Version und welche Kommandozeile du benutzt hast.

Du solltest die lange Datei in den Anhang deiner nächsten Nachricht 
hängen. Wenn du magst, komprimiere die Textdatei in ein Archiv.

Wenn die Länge der Ausgabedatei dadurch kommt, dass du ein elend langes 
HEX-File flashen willst, dann versuche nur die Fuses auszulesen und 
lasse das Übertragen der HEX-Daten weg.

Dein Parallelport ISP-Adapter ist der in dem ersten Schaltbild hier?
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm

Du könntest mal einen Loopbacktest versuchen, um herauszufinden, ob 
der PC überhaupt korrekt von MISO lesen kann:

Du kannst den Test direkt am ISP Stecker machen (RESET, SCK etc. werden 
nicht berücksichtigt). Bei 10-poligen Stecker sind es die Pins 1 und 9 
auf die es ankommt.

Oder du kannst auch noch die MISO/MOSI Leitungen bis zur IC-Fassung in 
den Test einbeziehen. Dazu den Atmega32 aus der Fassung nehmen, weil der 
jetzt nicht benötigt wird und auch nicht auf Spiel gesetzt werden soll.

Dann bei einem der beiden Testaufbauen eine Drahtbrücke zwischen MOSI 
und MISO stecken. Dadurch sollte alles, was AVRDUDE sendet auch 
zurückkommen, d.h. in der Debugausgabe sollten die 00 beim bitbang_cmd 
verschwinden.

Im Anhang ist ein Mitschnitt wie ein solcher Loopbacktest bei mir 
aussieht.

Die Kommandozeile ist noch für den Attiny2313, den ich derzeit auf dem 
Pollin Funk AVR Board habe. Die Fuses sind auf externen Quarz 8 MHz 
eingestellt, d.h. du solltest die Kommandozeile nicht 1:1 
übernehmen!!! Als ISP Adapter benutze ich einen STK200 ISP-Adapter 
an LPT1. Den Test habe ich am ISP Stecker durchgeführt, weil ich meinen 
Attiny2313 nicht unnötig aus der Fassung nehmen möchte.

> Was mir dabei allerdings ins Auge springt ist, dass vor der
> Fehlermeldung
> "AVR device not reponding" 30-40 mal diese Ausgabe kommt:
> bitbang_cmd(): [AC 53 00 00] [00 00 00 00]
> Wenn ich die Dokumentation von AVR zum Programmer richtig verstanden
> habe, sollte also die Rückgabe des Controllers, also wohl der zweite
> Block [AC 53 00 00] lauten, richtig?

Richtig.

> Kann man dauraus ablesen, dass der Mikrocontroller hinüber ist?

Nicht unbedingt. Es bedeutet "nur", dass AVRDUDE die vier über MOSI 
gesendeten Bytes nicht wieder so über MISO empfängt, sondern dass 4x 00 
zurückkommt.

Wenn der Loopbacktest oben weiterhin 4x 00 zeigt, ist der Atmega32 
überhaupt nicht an der Sache beteiligt. Es kann dann ein Problem auf dem 
Pollinboard sein (kalte Lötstelle?, Unterschied Test Board/Stecker?) 
oder am ISP Adapter oder an der Einstellung des Parallelports am PC.

Beim Parallelport selbst kann man - oft im BIOS - einstellen, in welchem 
Modus der arbeiten soll. Für AVRDUDE ist der SPP Modus der sicherste. An 
zweiter Stelle kommt der EPP Modus und nicht empfehlenswert ist der ECP 
Modus: Beitrag "ISP und ECP Modus"

Du hast sicher einen arschschnellen PC, wenn du Vista 64 normalerweise 
drauf hast. Die Geschwindigkeit modernen PCs kann Probleme beim Flashen 
mit AVRDUDE machen. Hier ist ein Hinweis, wie man das Timing beim 
Flashen manipuliert: Beitrag "Re: avrdude sagt: Fehler! - Bei PonyProg ist alles ok?"
Angehängte Dateien:
Persönliche Seite #1139289
Lesenswert?

SiWi wrote:

> Jetzt hb ich mal versucht die vom Programmer verwendeten Ports manuell
> zu setzen.
> ->Mosi und SCK kommen am IC-Sockel an. Das einzige, was mir dabei auf
> gefallen ist, ist dass beim Setzen auf 0 ~-0.7 V ankommen. Sollten da
> exakt 0 ankommen oder ist das beim Pollinboard so normal?

Verstehe ich das richtig: den HIGH Pegel an MOSI und SCK kannst du 
ordnungsgemäß messen, wenn du selbst die Signale entsprechend setzt? Das 
spricht dafür, dass dein ISP-Adapter bei den beiden Leitungen und die 
Ausgabe auf dem Parallelport OK ist.

-0.7 V beim Setzen von LOW halte ich für OK. Ich vermute du erhälst 
nicht exakt 0V, weil irgendwo noch ein PN-Übergang (Diode?) im Spiel 
ist. Um da was genaueres zu sagen, müsste man wissen: Wie hast du 
gemessen? Wo war dein Bezugspunkt?
Gast #1146659
Lesenswert?

Ach ja übrigens, an der Geschwindigkeit des Pcs kanns wohl auch nicht 
liegen, da ich bei meinem eigenem Programm eine Taktgeschwindigkeit von 
1ms-1s getestet habe. Das Problem mit meinem Programm könnte eher sein, 
dass minimal unterschiedliche Taktzeiten auftretetn können, und ich 
nicht weiß, ob der Mikrocontroller damit Probleme hat.
Persönliche Seite #1146947
Lesenswert?

Hmm, Loopback für MOSI und MISO gehen, d.h. diese Leitungen sind OK und 
die Parallelschnittstelle funktioniert. Aber dein Atmega32 lässt sich 
dennoch nicht programmieren. Weder auf dem Pollinboard noch auf dem 
Steckbrettaufbau, d.h. es liegt wohl nicht am Pollinboard. Vielleicht 
ist er wirklich defekt. Hast du noch einen anderen AVR?

Mit ISP Adapter (STK200-Komp.) ist im Ruhezustand
MOSI Low
MISO HIGH (2,22V)
SCK Low
RESET High.

Mit ISP Adapter (STK200-Komp.) ist im RESET-Zustand (Taster)
MOSI Low
MISO HIGH (2,22V)
SCK Low
RESET Low.

Ohne ISP Adapter ist im Ruhezustand
MOSI Low
MISO Low (-0,016V)
SCK Low
RESET High.

Ohne ISP Adapter ist im RESET-Zustand (Taster)
MOSI Low
MISO Low (-0,016V)
SCK Low
RESET Low.

> Ach ja übrigens, an der Geschwindigkeit des Pcs kanns wohl auch nicht
> liegen, da ich bei meinem eigenem Programm eine Taktgeschwindigkeit von
> 1ms-1s getestet habe. Das Problem mit meinem Programm könnte eher sein,
> dass minimal unterschiedliche Taktzeiten auftretetn können, und ich
> nicht weiß, ob der Mikrocontroller damit Probleme hat.

Kann ich nicht beurteilen. Wenn wir über AVRDUDE reden, reden wir über 
das gleiche Programm. Dein Programm kennst nur du.

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