mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega32 tot programmiert


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier ein merkwürdiges Problem. Der ATMega32 wird ja von Werk 
geliefert mit den Clockfuses programmiert für 1MHz internen Takt. Ich 
habe in der Schaltung einen externen Clockeingang, welche von einem 
anderen ATMega128 kommt der auch läuft.
Jetzt habe ich alle Clockfuses auf 0 programmiert (Externer Takt), und 
der ATMega32 ist tot, man kann auf ihn nicht mehr zugreifen per 
Programmer. Takt liegt definitiv an.
Kennt jemand dieses Problem

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wollte mal Entwarnung geben, wie üblich Dummheit des Anwenders. Der 
taktgebende ATMega hatte die CKOPT Fuse nicht gesetzt, obwohl sie 
eigentkich die ganze Zeit gesetzt war, und damit keinen full Swing Takt.
Nach Setzen der Fuse war alles OK

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch auf die Gefahr hin langweilig zu werden so einfach ist es nicht. 
Schreibfehler, der taktgebende ist ein ATMega2561. Die Fuse für full 
Swing war gesetzt, das Signal hat full Swing, aber der ATMega32 mag es 
nicht.
Beim ATMega128 gab es nie Probleme das Clocksignal zu nutzen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um diesen Monolog mal fortzuführen, ich habe jetzt beim ATMega32 die 
Fuses so programmiert als würde ein Quartz dranhängen, jetzt geht es.
Das aus dem ATMega2561 rauskommende Signal war offenbar nicht gut genug.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um diesen Monolog mal zu unterbrechen,
>Das aus dem ATMega2561 rauskommende Signal war offenbar nicht gut genug.
Kann ja fast nicht sein. Wie hoch ist denn die Frequenz? Und wie hoch 
die ISP-Frequenz? Und wenn Fuses trotz richtiger Einstellung in der 
Software nicht richtig gesetzt werden tippe ich mal auf Ponyprog o.Ä.
In diesem Fall kann ich nur zum STK500 oder AVRISP raten.
Ansonsten: ISP-Frequenz muss kleiner 1/4 der Taktfrequenz sein!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz so einfach ist es nicht. Die Clock des ATMega2561 ist 16MHz. Man 
kann am Oszilloskop sehen, das sich je nach Fuse die Amplitude ändert. 
Der ATMega2561 programmiert über SPI(125 KHz) den ATMega32.
Sobald ich dem ATMega32 ein externes Taktsignal gebe, kann ich die Fuses 
auslesen. Und die sind richtig. Wenn ich nun über Fuses sage da hängt 
ein Quartz dran, geht es. Wenn ich den internen Takt nutze, geht es 
auch. Es geht nur nicht mit dem vom ATMega2561 erzeugten Takt.
Das gleiche Problem habe ich übrigens auch mit ATMega128 und ATMega8, 
hier ist das gleiche.
Da das Projekt fertigwerden muss, habe ich keine Zeit 
Grundlagenforschung zu betreiben. Ein paar hundert von den ATMega128 / 
ATMega8 Platinen laufen seit Monaten ohne Probleme mit der pseudo Quartz 
Programmierung.

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.