mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8535 funktioniert nicht mehr nach clk fuse-bit proggen


Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der mega 8535 funktioniert nach dem Programmieren der Clock fuse bits
nicht mehr.
Dies wirkt sich aus indem man die Daten des Kontrollers nicht mehr am
Computer auslesen kann. Habe schon gedacht das es am ISP Kabel liegt,
hat sich aber nicht bestätigt.
Kann mir vielleicht jemand helfen den controller zu retten.
Brauche ihn dringend um ein LCD über SPI anzusteuern.

Bin für jede Antwort Dankbar.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie und vor allem womit hast Du den µC denn programmiert? Etwa mit
PonyProg und die Fuses vor dem Ändern nicht ausgelesen? Dann kann Dir
nur noch ein Parallel-Programmer helfen.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab den mikroC mit Pony prog Programmiert und auch über Parallel
Programmer.
Wollte die Clk-source auf externen Oszillator stellen.
rogrammiert hat er, aber am schluss der Programmierung der fuse-bits
hat er einfach gesagt, dass er den µC nicht mehr kennt.
nach 2 minuten habe ich es dann noch mal probiert und es hat geklappt.
dannach aber nicht mehr. Habe zum Testen ob der Quarz richtig
funktioniert auch mal das scope drangehaltn, Eine Spannungs anhebung
war zu verzeichnen aber als Frequenz kam nur Müll mit Kurven die alles
andere als ein Sinus von 4.000 Mhz waren.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Fuses wirklich auf externen Quarz eingestellt, oder
einfach auf externen Takt? Dann solltest du vielleicht mal probieren an
XTAL1 einen "echten" Takt anlegen (Z.B. von einem echten Quarzoszi,
einem anderen Controller o.Ä.). Die Frequenz spielt dabei keine so
grosse Rolle, du musst einfach mindestens viermal so hoch wie die
SPI-Frequenz fahren. Mit einem MHz biste sicher gut dabei.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast ganz oben erzählt, Du hast ihn über SPI programmiert. Jetzt
plötzlich mit nem Parallel-Programmer? Ich glaub Du verwechselst da
was. Ein Programmer, der am PC an die parallele Schnittstelle
angeschlossen wird ist KEIN Parallel-Programmer! Das SPI-Programming
ist ein serielles Programmieren! Mit Parallel-Programmer ist ein
Interface gemeint, das ein paralleles High-Voltage-Programming
unterstützt (z.B. STK500).

Wenn Du die Fuses vor dem Ändern und Schreiben nicht ausgelesen hast,
dann hast Du höchstwahrscheinlich die SPIEN-Fuse als 'unprogrammed'
zurückgeschrieben. Dann lässt der µC sich nicht mehr über SPI
programmieren...

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ich meine über ISP und die Einstellungen in Pony prog sind auf
parallel eingestellt da ich das ISP Kabel an den LPT angeschlossen
habe.
SPI brauche ich nur für das LCD.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ISP geht bei den AVRs über SPI. Das ist also gar nicht so verkehrt. Die
ISP-Programmer sind (auch wenn sie an die LPT-Schnittstelle
angeschlossen werden) immer noch serielle Programmer, eben weil sie den
SPI-Bus benutzen und der ist seriell. Paralleles
High-Voltage-Programming (die afaik einzige Methode um einen µC dazu zu
bringen, wieder über ISP zu kommunizieren) unterstützen nur wenige
Programmieradapter, u.a. das o.g. STK500.

Noch mal: Wenn Du über ISP (also quasi über SPI) programmiert hast und
vor dem Ändern und Schreiben der Fuses diese nicht ausgelesen hast, ist
die Wahrscheinlichkeit groß, dass Du die SPIEN-Fuse als '0', also
'unprogrammed' zurückgeschrieben und Dich damit ausgesperrt hast,
zumindest was die Programmierung über ISP betrifft.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab die fuse-bits aber vorher ausgelesen

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hättest Du das gleich gesagt, hätte ich mir das Geschreibsel sparen
können...

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage: kann man den µC auch auslesen wenn der Quarz nicht
funktioniert??? Eigendlich doch, da das ISP Interface den Takt über das
ISP Kabel bezieht. ODER????
Bin grad voll verunsichert.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Johnny:

> dass Du die SPIEN-Fuse als '0', also
> 'unprogrammed' zurückgeschrieben

Sorry, aber '0' ist bei mir 'programmed'...

;-)

@Fred:

Vielleicht solltest du mal das vollständige Datenblatt deines
Controllers herunterladen und lesen. Dann würdest du auch den
Unterschied zwischen ISP und HV-Parallel verstehen und uns nicht ein
Billigst-ISP-Adapter als Parallelprogrammer unterjubeln.

Ansonsten blättere mal etwas im Forum herum, das Thema gibt es rund 100
mal im Jahr. Du bist da nicht der erste und nicht der letzte.

...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes:
Sorry, musste NATÜRLICH programmed heißen. Hab mich vertippt...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hab mich vertippt...

Ja sicher doch, das passiert uns allen mal.

Ich wollte es nur nicht unwidersprochen stehen lassen, damit kein
Anfänger aufgrund dieses Widerspruchs die Datenblätter anzweifelt...

:-)

Bit- & Bytebruch...
...HanneS...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Fred

> Eigendlich doch, da das ISP Interface den Takt über das
> ISP Kabel bezieht.

Nein das tut es nicht. Der SPI Takt ist nur relevant für
die Übertragung. Aber der µC muss ja auch irgendwie
getaktet sein. Sonst hast du zwar eine wunderschöne Übertragung
aber der Empfänger 'pennt' die ganze Zeit.

Probier doch mal an XTAL1 ein anderes Taktsignal einzuspielen.
Das kannst du mit einem 555 erzeugen oder mit einem anderen
µC den du so programmierst dass er an einem Pin wackelt, oder
... was auch immer. Hauptsache Takt der einigermassen schnell
in seiner Frequenz ist (ein von Hand getackteter Schalter
geht da nicht mehr :-).

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Wollte die Clk-source auf externen Oszillator stellen.


>>Habe zum Testen ob der Quarz richtig
funktioniert auch mal das scope drangehaltn, Eine Spannungs anhebung
war zu verzeichnen aber als Frequenz kam nur Müll mit Kurven die alles
andere als ein Sinus von 4.000 Mhz waren.




Da ist doch das Problem, warum sucht ihr denn so lange?

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Simon:
Also ich hab's bis jetzt auch noch nie hingekriegt, bei einem Quarz
ein vernünftiges Signal zu Gesicht zu bekommen... Meistens bleibt der
Controller stehen wenn ich mit dem Tastkopf vom Oszi XTAL1/2 berühre...
Aber wie schon gesagt wurde, würde ich es mal mit einem echten Takt an
XTAL1 probieren.
Die SPIEN-Fuse kann man über SPI übrigens nicht löschen (Hab' ich
zumindest mal gelesen).

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die SPIEN-Fuse kann man über SPI übrigens nicht löschen
> (Hab' ich zumindest mal gelesen).

Wäre interessant, mal zu erfahren, wo man sowas liest. Mit PonyProg
lässt die sich ganz hervorragend löschen (was glaubst Du, weshalb es
hier so viele Threads zu genau dem Thema gibt).

Habe übrigens auch schon mehrmals an einem Quarz mit einem Oszi die
Frequenz gemessen, ohne dass der µC dabei ausgestiegen ist. Das geht
schon...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt Mega8535, Seite 235, Tabelle 98, Fußnote 1...

...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Philipp: Ich wollte jetzt auch eher auf die Tatsache ansich anspielen,
dass er externen Takt einstellt und ein Quarz dranhängt.

@johnny: Das ist eine Sicherung vom Chip. Das geht halt nicht.


PS: Mit einem 1:10 Tastkopf kann ich ganz erfolgreich an den beiden
Taktpinks was messen.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@johnny.m:
Ich nehme mal an, die meisten sperren sich mit RSTDISABLE aus...

@Simon:
Dann liegt's wohl an meinem schon "etwas" älteren Oszi, dass das
nicht geht... Des macht manchmal bisschen Macken...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Philipp:
Hast natürlich recht. Beim Mega8535 kann man sich per SPI eigentlich
nur durch falsche Wahl der Taktquelle aussperren. Und das Problem mit
RSTDISBL gibts glaub ich nur bei den Tinys (und beim Mega8?). Und SPIEN
lässt sich tatsächlich nur per Parallel-Programming oder (bei
entsprechenden µCs) per JTAG löschen. Ich nehme alles zurück...

P.S.: Es muss nicht daran liegen, dass Dein Scope alt ist. Auch neue
Scopes haben i.a. nur 1 MOhm Eingangsimpedanz, was sich bei solchen
Messungen durchaus schon störend auswirken kann. Mit Tastteiler 10:1
sollte es allerdings gehen.

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann auch an anderen Faktoren als mit einem alten Oszi
zusammenhängen. Generell verändert das Messen  die Funktion einer
Schaltung. Gerade bei einem Oszillator ist das mehr oder weniger
kritisch. Ich hatte auch einen Fall, da schwang der Oszillator nur,
wenn man mit dem Tastkopf drauftippte.

Da kann man mit Schlussfolgerungen ganz schon danebentippen.

Wie sich der Einfluss auswirkt, hängt von mehereren Faktoren ab, das
kann man nicht generell sagen. z.B. parasitäre Kapazitäten und
Induktivitäten (Leiterbahnen), Versorgungsspannung (Höhe und
Abblockung), Quarz (Parallel- oder Serienresonanz, Grund- oder
Oberwellenquarz, Kapazität des Tastkopfes, andere Signale in der Nähe,
Einstellung der Fuses, Qualtiät der pF-Cs, falls solche nötig.

Am sichersten ist es immer noch, mit einem 100:1 Tastkopf zu messen.
Bei HF-Messungen ist meist die Kapazität das entscheidende, weniger der
ohmsche Widerstand.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem hat sich gelöst, zusammen mit einem kleinen fisell Lötzinn
der kaum zu erkennen war.
Allerdings ist der Takt vom Quarz von irgendeinem Signal von ca 300 Hz
überlagert. weiß jemand was das sein könnte.
Jedenfalls funktioniert der mC wieder.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Fred:
Hast du mal mit einem Timer den CPU-Takt (möglicherweise geteilt) auf
einen Pin ausgeben lassen? Dann kannst du ihn auch anständig messen.
Dann siehst du sofort, ob mit deiner Taktquelle alles i.O. ist, oder ob
da irgendwas nicht ganz im Lot ist.

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.