PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierprobleme mit Mega32 und AVR ISP 910



Bausparfuchs
29.06.2009, 18:46
Hallo,

ich habe folgende Situation:

Ich habe das RN-Controllerboard selbst aufgebaut. Mein Programmer ist ein augeliehener AVR910, 7,3 MHz, mit Attiny, der definitiv funktioniert (von jemandem ausgeliehen, der damit schon viele µCs brennen konnte.

Der Programmer hängt über USB-to-Serial am Laptop.

Das Beispielprogramm funktioniert wie in der Doku beschrieben und die Ausgaben über RS232 können wir auch über die serielle Schnittstelle am Laptop sehen. Dies haben wir schon vorher mit einem anderen, extern per Galep Programmierten Atmega getestet.

Nun habe ich einen ganz jungfräulichen Atmega ins Board eingesetzt und wir die Programmierung mit dem ISP versucht und min nun am Ende meines Lateins.

Ich verwende dazu AVRPROG in der Version 1.40
Alternativ hab ich noch Ponyprog und Bascom zur Verfügung.

Zunächst hab ich den Programmer verbunden ----> Grüne LED leuchtet.

Avrprog startet ----> Also wurde der Programmer erkannt.

Eingestellt habe ich einen Atmega32. Mache ich nun "Read" vom FLash, werkelt er rum, gibt kurz darauf ein "OK!" aus und ich kann die Hexdatei ansehen. Sie ist voller "FFFFF". Also liest er nicht wirklich, obwohl AVRPROG sagt, das Lesen habe funktoniert. Beim Schreiben eines Beispielprogrammes ins Flash über "Write" werkelt er ebenfalls herum, sagt: "erasing .... programming ..... verifying " und bricht dann mit der Meldung ab:"0x0000, expected 0xC094 (oder ähnlich), received 0xFFFFF".

Warum tut er so als könne er lesen und schreiben, aber kanns nicht wirklich?

Die Fusebits kann ich auch nicht einlesen oder setzen.

Die Leitungen vom Programmer bis hin zum Atmega haben korrekten Durchgang, also angeschlossen muss alles richtig sein. Eine LED zwischen MISO und GND flackert beim Befehl "READ" im AVRPROG. Das Verhalten des Programmers ist das Gleiche wenn ich mit dem mit ihm direkt an die physische Serielle Schnittstelle gehe, statt über den USB-to-Serial Wandler.

Im Galep III lässt sich der Atmeg per ISP Protokoll programmieren, also ist der µc wohl derseitig ok.

Hat jemand jemals per AVR 910 ISP eine ISP verbindung zum RN-control aufgebaut?

Was kann ich noch tun, um dem Fehler auf die Schliche zu kommen?

Gruß

Jochen

P.S.: Ich habe einen ähnlichen Beitrag bereits vor einigen Wochen im RN_Control Unterforum eröffnet. Allerdings erhelt ich keine Resonanz darauf. Die Ursprünglichen Probleme dachte ich damals, ales richtin den Fusebits festzumachen, was aber nun ja durch den neuen jungfräulichen Controller widerlegt werden konnte. Daher habe ich mich nun zu einem neuen Beitrag im allgemeinen Hardwareforum entschieden. Man verzeihe mir also unter den gegebenen Umständen das Crossposting, falls es jemandem aufgefallen wäre.



Gruß


Jochen

Besserwessi
29.06.2009, 19:39
Beim Lesen ist es für den Programmer gar nicht so einfach zu erkennen oder der Chip wirklich $FF rausgiebt, oder einfach kein chip dran hängt. Normalerweise ist der erste test des Programmers das auslesen der Chip ID. Wenn da nur FFFFFF rauskommt, braucht man gar nicht weitermachen, dann funktioniert die Comunication nicht.
So wie es aussieht liegt es wohl nicht an der RS232 über den USB Adapter. Sonst würde schon AVRPROG nicht richtig starten.

Mögliche Fehlerquellen wäre der Takt beim Programmieren. Wenn der zu schnell ist, gehts nicht. Ein 2 tes häufiges Problem ist ein zu langes Kabel zwischen Programmer und Zielschaltung. Mehr als 20 cm können schon zu lang sein. Bei über 30 cm sollte man öfter Probleme kriegen.

Bausparfuchs
29.06.2009, 20:11
Ein 2 tes häufiges Problem ist ein zu langes Kabel zwischen Programmer und Zielschaltung. Mehr als 20 cm können schon zu lang sein. Bei über 30 cm sollte man öfter Probleme kriegen.

Das wäre mal noch einen Test wert, denn mein Kabel ist tatsächlich sehr lang. Es sind bestimmt 50 cm. Wundert mich nur, dass der Kollege der das teil gebaut hat damit immer programmiert. Aber ich werde mal ein kurzes dranlöten und testen

Danke

Besserwessi
29.06.2009, 20:27
Ein langes Kabel kann gehen, wenn die Zielschaltung für eine Terminierung der CLK Leitung, oder wenigstesn was ähnliches sorgt. Wenn der Programmer dafür sorgtm sollten auch etwas längere Kabel gehen. Nur wird das eher selten gemacht.