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


von Fred (Gast)


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.

von johnny.m (Gast)


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.

von Fred (Gast)


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.

von Philipp B. (philipp_burch)


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.

von johnny.m (Gast)


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...

von Fred (Gast)


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.

von johnny.m (Gast)


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.

von Fred (Gast)


Lesenswert?

hab die fuse-bits aber vorher ausgelesen

von johnny.m (Gast)


Lesenswert?

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

von Fred (Gast)


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.

von Hannes L. (hannes)


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.

...

von johnny.m (Gast)


Lesenswert?

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

von Hannes L. (hannes)


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...

von Karl heinz B. (kbucheg)


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 :-).

von Simon K. (simon) Benutzerseite


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?

von Philipp B. (philipp_burch)


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).

von johnny.m (Gast)


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...

von Hannes L. (hannes)


Lesenswert?

Datenblatt Mega8535, Seite 235, Tabelle 98, Fußnote 1...

...

von Simon K. (simon) Benutzerseite


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.

von Philipp B. (philipp_burch)


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...

von johnny.m (Gast)


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.

von Profi (Gast)


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.

von Fred (Gast)


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.

von Philipp B. (philipp_burch)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.