www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Master Reset- AVR?


Autor: Volker Klanke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

gestern habe ich richtig Mist gebaut. Dummerweise habe ich bei meinen
Atmega16 die CKSEL-Fuses mit 1011 überbeschrieben, anstatt 0100
(8MHz).
Jetzt bekomme ich über ISP- Dongle und Ponyprog keinen Zugang zum
Controller mehr. Was kann man machen?

Passiert ist es, weil ich zu schnell im Ponyprog rumgehackt habe und
die inverse Logik der blöden Häkchen übersehen hatte.

Was mache ich, wenn ich einen externen Quarz (16Mhz) anschließen
möchte? Sind die 33pF C richtig? Und müssen die Fuses so gestellt
werden, CKOPT=0 und CKSEL=1111?

Gruß

Volker

Autor: Volker Klanke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute, ich brauche Hilfe.

Kann es überhaupt sein, dass ich durch falsche CKSEL-Bits keinen
Zugriff mehr auf den Controller habe, oder ist der Fehler woanders zu
suchen?

Gruß

Volker

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann es überhaupt sein, dass ich durch falsche CKSEL-Bits keinen
> Zugriff mehr auf den Controller habe, oder ist der Fehler woanders
> zu suchen?

Ja, effektiv kannst Du Dir damit den Zugriff schon abklemmen, wenn Du
am Ende keinen Oszillator mehr hast, der schwingt.

Wenn ich das richtig lese, ist 1011 ein externer Quarz < 0,9 MHz.
Vielleicht hast Du ja Glück, daß ein 1 MHz Quarz gerade noch schwingt
damit, 33 pF müßten dafür noch hinkommen.  Quarze geringerer Frequenz
sind erstens noch seltener, zweitens kann es gut sein, daß Du keine
Programmiersoftware mehr finden wirst, die langsam genug ist, damit
umzugehen.  (Die ISP-Programmierung erfolgt ja synchron mit dem Takt,
d. h. wenn Du einen langsamen Takt hast, mußt Du auch sehr lange
warten.)

Autor: Volker Klanke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, danke Jörg. Sowas ähnliches habe ich mir auch schon gedacht. Mal
angenommen ich hätte jetzt keinen passenden Quarz, oder ich wüßte
nicht, mit was ich die Clock- Bits überschrieben hätte, dann säße ich
doch ganz schön auf dem Trockenen.
Es muss doch irgendwie hardwaremäßig möglich sein, die AVRs in den
Auslieferungszustand zurück zu setzen.

Gruß

Volker

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> angenommen ich hätte jetzt keinen passenden Quarz, oder ich wüßte
> nicht, mit was ich die Clock- Bits überschrieben hätte, dann säße
> ich doch ganz schön auf dem Trockenen.

In der Tat.

> Es muss doch irgendwie hardwaremäßig möglich sein, die AVRs in den
> Auslieferungszustand zurück zu setzen.

Mit paralleler Programmierung.  Allerdings sind die Programmiergeräte
dafür eben aufwendiger, außerdem kannst Du den Controller nicht mehr
in der fertigen Schaltung programmieren.

Beim ATmega8 kannst Du Dir per Fuse-Bit sogar das /RESET-Pin
wegdefinieren...  Es gibt also viele Wege, sich ins Knie zu
schießen. ;-)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Volker,

mir ist leider so was ähnliches passiert, und zwar hab ich den CKOPT
gesetzt. Das wars ich kann nicht mehr auf meinen Controller
zugreifen..
Ich brauch auch sowas wie einen Master Reset (Auslieferungszustand)

Weiteres siehe mein Beitrag unter programming mode....

MfG

Peter

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und zwar hab ich den CKOPT gesetzt.

Hmm, Auslieferungszustand ist `unprogrammed', und das ist eigentlich
die Variante, die mehr Einschränkungen hat.  Laut Datenblatt wird
dabei die Oszillatoramplitude reduziert, so daß zwar Strom gespart
wird, aber nur ein eingeschränkter Frequenzbereich nutzbar ist und
keine externen Lasten getrieben werden können.  Damit sollte ein
bloßes versehentliches Setzen dieser Fuse außer einer höheren
Stromaufnahme keine negativen Folgen haben.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja leider hat es doch erhebliche Folgen...

Bin ebenfalls für alle Hinweise dankbar,

Hab schon einen ext. oszillator angeschlossen, nützt auch nichts...
Ich bin ratlos...

Autor: GUHA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Volker
Ich hatte dasselbe Problem mit einem ATMega8 mit einem 8MHz Quarz. Was
mir half war folgendes:

Ich entfernte C2 (siehe ATMega16 Datenblatt, Seite 24), und loetete
einen Widerstand (ca. 4.7k) zwischen der positiven Versorgungsspannung
(Vcc) und XTAL1. Beachte dass ich den Quarz nicht entfernen musste.
Damit hatte ich nun einen externen RC Oszillator kreiert, der mit ca.
2MHz lief (mein C1 war ca. 33p. Siehe auch ATMega16 Datenblatt, Seite
26). Die Schwingungswellenform sah zwar nicht sehr schoen aus, aber es
reichte, um den ISP Dongle wieder verwenden zu koennen. Ich selektierte
"external RC Oscillator" als clock source, und konnte damit an die
Fuse bits ran. Ich aenderte die Fuse bits dann entsprechend fuer einen
Quarz. Dann entfernte ich den Widerstand, und loetete C2 wieder ein.
Beim naechsten Einschalten war alles wieder funktionsfaehig (mit dem
Quarz).

Hoffe das dies hilft!

GUHA

Autor: Volker Klanke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Guha,

danke für die Antwort. Ich probiere es bei Zeiten mal aus.
im Endeffekt entspricht deine Schaltung ja der "externen RC-
Configuration" (Atmega16, S.26). Mit welchem Programm flasht du den
Controller? Ich nutze Ponyprog und den ISP-Dongle für den Par.-Port.

Warum benutzt du einen externen 8Mhz- Quarz? Der ATmega8 kann doch
intern 1,2,4 und 8MHz.

Gruß

VolKkr

Autor: GUHA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Volker
Du hast voellig recht, die Schaltung entsprict genau der externen RC
Schaltung. Ich wollte auch nicht eine 'gefinkelte' Schaltung
kreieren. Das ganze diente als Notmassnahme.
Ich verwende uebrigens den ISP Dongle (Serielle Schnittstelle) und AVR
Studio 3.54 als Entwicklungsplatform.
In Bezug auf den Quarz benutze ich gern eine hochstabile Frequenzquelle
fuer den Mikro, falls ich genaue Frequenzen fuer spezielle Anwendungen
brauche.

Gruss
GUHA

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.