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.
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.
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.
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.
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...
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.
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.
hab die fuse-bits aber vorher ausgelesen
Hättest Du das gleich gesagt, hätte ich mir das Geschreibsel sparen können...
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.
@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. ...
@Hannes: Sorry, musste NATÜRLICH programmed heißen. Hab mich vertippt...
> 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...
@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 :-).
>>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?
@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).
> 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...
Datenblatt Mega8535, Seite 235, Tabelle 98, Fußnote 1... ...
@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.
@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...
@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.
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.
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.
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.