Moin,
ich kann anscheins nicht mehr auf dem Atmega128 im RN-Mega128 zugreifen,
also weder irgendetwas auslesen (zB Fuse-Bits) noch schreiben
(Flash/Fuse-Bits).
Ich habe es mit dem AVR-Studio zusammen mit mySmartUSB (neu) und Basecom
zusammen mit USB-ISP Pros (fast unbenutzt) versucht, beides mal
Fehlanzeige. AVRProg meckert nach Validierung des Flashes (die Bytes
stimmen nicht überein), Basecom meldet sogar, dass gar kein USB
Programmer angeschlossen sei.
Ich habe alles durchgemessen, der µC ist an allen nötigen Pins mit Vcc
und GND verbunden, auch der Quarz scheint zu funktionieren (habe kein
Oszilloskop, aber an den XTAL Pins liegt an beiden eine gleiche niedrige
[glaube 0.16V] Spannung an).
Das RN-Board zieht ohne Verbraucher 30mA, weder µC noch Spannungswandler
erwärmen sich.
TXD, RXD und SCK sind vom Programmer bis zum µC verbunden, auch Masse
und Vcc.
Die Treiber für die Programmer haben alle schon auf dem PC funktioniert,
da habe ich auch nichts verändert.
Weder an der Hardware noch an den Fusebits wurde irgendetwas verändert,
das hat alles so schonmal funktioniert.
Hat jemand eine Idee, an was das noch liegen könnte? Ist es möglich,
dass der µC kaputt ist? Wäre echt dankbar, wenn mir jemand helfen
könnte, das Projekt stockt sonst schon wieder.
Danke
Franz
>aber an den XTAL Pins liegt an beiden eine gleiche niedrige>[glaube 0.16V] Spannung an).
Hab hier grad einen Aufbau mit einem ATmega128, der mit einem 7,3728MHz
Quarz läuft. Mit einem Multimeter messe ich an XTAL1 und XTAL2 jeweils
1,6V, also deutlich mehr als bei dir.
Ich tippe darauf, dass du ihn versehentlich auf externen Takt gefuses
hast. Hänge mal einen Quarzoszillator an XTAL1, dann sollte der Zugriff
wieder mglich sein.
>Mit einem Multimeter messe ich an XTAL1 und XTAL2 jeweils>1,6V, also deutlich mehr als bei dir.
gleich-, wechselspannung oder true-rms? (ist sowieso egal, da man so
nicht die korrekte funktion ueberpruefen kann...)
Ist es denn nicht richtig, dass er auf externen Takt gefuset ist? Der
16MHz Quarz is ja extern.
So einen Quarzoszillator hab ich leider nicht (oder was ist da der
Unterschied zu einenm normalen Quarz?).
Ich könnte höchstens noch einen normalen 8MHz Quarz haben, wenn der was
bringt?
(Sollte ein linearer zusammenhang zwischen Quarzfrequenz und Spannung
bestehen, würde das ja sogar etwa hinhaun mit den unterschiedlichen
Spannungen)
Gibt es noch eine Alternative? Wenn nicht muss ich so einen wohl
bestellen.
Danke
Franz
Ich hab jetzt den Tipp mit dem MAX232 befolgt. Die Spannung am XTAL1 ist
dann übrigens 2,36V. Den Quarz habe ich drangelassen.
Ich habe dann wieder beides (AVR Studio und Bascom) versucht, leider
wieder das gleiche Resultat.
Sollte ich den Quarz vllt ablöten?
Ein anderer Vorschlag ist, die Frequenz zu vermindern. Ich habe gelesen
mit dem 555-Timer würde das auch gehen. Aber welche Frequenz soll ich
einstellen?
Weiter soll man die ISP Frequenz anpassen (1/4 des Quarztaktes), nur wo
kann ich die einstellen? Und wenn ich die nicht einstellen kann, wie
kann ich die zumindest herausfinden?
Danke
Franz
1. Frage kannst du die Signatur lesen?
Wenn nicht must du die Taktfrequenz des Programmieradapters verringern
(alternativ längere Waitcyklen)
2. Wie stehen die Fusebits?
(Achtung umgekehrte Logik beachten unprogrammiert 1, programmiert 0)
du must externen Crystal einstellen.
ich verwende einen Quarz 11.059200 MHz
Bei mir stehen alle Fusebits auf 1. Nur SUT0 steht auf 0.
1. Also AVRProg liefert mir da nur "FFFFFF", also lautet die Antwort
wohl nein.
Leider finde ich keine Option die Taktfrequenz der Prorammer zu
verringern. Kann ich alternativ auch die XTAL Frequenz
verringern/erhöhen? Wenn ja, auf welchen Wert?
2. Die kann ich ja nicht auslesen, das ist ja das Problem. (oder gilt
"2" nur wenn "1" zutrifft?)
Danke
Franz
Richtig zuerst brauchst du Zugriff auf den Chip
Wenn du den nicht bekommst(in dem du xtal1 zur not fremd taktest)kannst
gar nichts via ISP ausrichten da es noch weitere fusebits gibt, welche
du eventuell falsch gesetzt haben kannst
(http://www.mikrocontroller.net/articles/AVR_Fuses#SPIEN.2C_DWEN_und_RSTDISBL),
wird dir nur bleiben ins Datenblatt zu schauen und ein HV
Parallelprogrammierung zu versuchen. Dazu bedarf es aber eines HV
Programmers
es ist jedoch möglich das dein programmiertool einfach zu schnell läft
und deshalb nichts gescheites passiert
welches avrprog benutzt du?
Der Takt für den Programmer muss auf so rund 10kHz gesetzt sein, um mit
der MAX232-Variante was ausrichten zu können.
Wenn du schonmal Zugriff auf den Chip hattest, dann ist wohl eingfach
der Takt deines Programmes zu schnell. Den ISP Enable kann man bei allen
aktuelleren AVRs nicht mehr über SPI abschalten (ja, da hat sich jemand
was bei gedacht). Wenn der Reset enable allerdings aus ist, hilft leider
wirklich nurnoch ein STK500 und nen Haufen Drähte.
Ein externen Quarz muss als solcher in den Fusebits gesetzt werden,
externer Takt wäre im Fall von einem Quarzoszillator angebracht.
Wenn sich der Takt deines Programmers nicht ändern läüsst, am besten in
den nächsten Elektronikshop tigern und einen Quarzoszillator mit 8 MHz
kaufen (sollte nicht mehr als 5 Euro im Wurst Case kosten). Den kann man
immer mal wieder brauchen, Fuses sind leider schnell mal falsch
gebrutzelt.
So, hab jetzt noch zwei Möglichkeiten probiert:
- Einen 16MHz Oszillator an XTAL1
- Einen zweiten µC einen Port immer ein- und auszuschalten lassen (ohne
Verzögerung) und den Ausgang an XTAL1
Beides mal kein Erfolg, kein Zugriff auf den ATmega128.
Es muss wohl an einem anderen Fusebit liegen. RSTDISBL kann es denke ich
nicht sein, da es dazu keine Option im AVRProg gibt (oder?).
Bleibt SPIEN, aber laut andi84 kann man das per ISP nicht verändern.
Stimmt das nun?
Wie es scheint brauche ich auf jeden Fall einen HV-Programmer. Kennt
jemand einen günstigen? Dieser muss ja wirklich nur HV programmen
können, ISP Programmer hab ich ja. Günstigste was ich gefunden habe ist
der von www.b-redemann.de
Danke
Franz