Hallo Forum, hoffe jemand kann mir einen Tip geben. Hab eine mega8 Schaltung auf einem Breadboard aufgebaut. Nur Grundbeschaltung (http://www.mikrocontroller.net/tutorial/equipment) - keine zusätzlichen ICs. Allerdings habe ich einen 8 MHz Quarz statt einem Quarzoszilator genutzt und eine 10 polige belegung für den ISP gewählt. Der ISP funktioniert tadellos mit meinem mega16. Hatte die schaltung aufgebaut und mit PonyProg und Yaap Zugriff auf den controller. Hab dann die Fusebits geschrieben um auf den Quarz umzuschalten (siehe Bild im Anhang), seit dem kann ich mit dem ISP nicht mehr auf den Controller zugreifen. Die Fusebits müssten doch so für einen 8 MHz Quarz in Ordnung sein - oder ? Hatte vermuttet, das die Brown-Out-Detection Fuses und eine unzureichenden versorgung vorliegen, hab aber an pin 7 und 8 konstante 5V anliegen. Habt ihr eine Idee ? Gruß
Ich kenne dein Programm nicht, weiß daher nicht, ob ein Häkchen nun die "Programmed Fuse" (also 0, Zero) darstellt oder die "Unprogrammed Fuse" (1, one). Aber alle 4 CKSEL-Fuses sind gleich, was bedeutet, dass du für CKSEL 0 oder 15 eingestellt hast. Laut Datenblatt des Mega8 Seite 24 Tabelle 2 ist 0 = "External Clock" (also ein externer Takt, der auch von einem 4-beinigen Quarzgenerator kommen kann) 15 = "External Crystal/Ceramic Resonator" (also 2-beiniger Quarz oder (vermutlich 3-beiniger) Keramik-Resonator. Solange du SPI-Enable und Reset-Disable nicht verändert hast, müsstest du durch Anschluss der korrekten Taktquelle den AVR wieder in Gang bekommen. Hast du aber Reset weggefust oder SPI deaktiviert, dann hilft nur noch HV-Programming (STK500 oder diverse Nachbauten). Ist dein Screeshot eigentlich aktuell? Denn wenn man bemerkt hat, dass etwas nicht stimmt, dann kann man auch keine Fuses mehr einlesen und einen Screenshot davon machen... ;-( ...
Hallo Hannes, naja ich hab einen Oszillator angeschlossen (mit irgend einer krummen frequenz) und siehe da es ging. Das Programm ist Yaap und zeigt bei einer gechekten box, dass der Bit = programmed - also 0, Null. Demnach hatte ich die Einstellung 1111 gewählt und damit eigentlich doch die richtige für einen Quarz. Oder !??? Die Einstellung für einen externen Taktgeber wäre ja 0000. Nun erschien es mir etwas unlogisch dass bei 1111 ein externer Taktgeber läuft und kein Quarz und ich hab die Dinger (also CKSEL3..0) mal gedreht und in Yaap alle vier Bits abgehakt = also 0000 nun läuft gar nichts mehr weder Quarz noch Quarzozillator ... Wenn jemand herauslesen kann was ich falsch gemacht habe, bitte mitteilen. Bin für jeden Tip dankbar.
Hallo, klingt eventuell blöd, aber hast du die zwei 27-33pF Kondensatoren von den Quarzanschlüssen nach Masse eingebaut, oder hängt der Quarz nur alleine am Controller? Es grüsst, Arno
Hi, ja ich hab wie in der Beispielschaltung 2 x 22 pF eingebaut.... Ich verstehe einfach nicht wie dass sein kann ... selbst wenn ichs beim ersten Mal die Fuses falsch gesetzt hatte, nachdem ich den Oszillator dran hatte hat es gefunzt und dann hab ich die CKSEL alle invertiert, dass muss doch dann die richtige einstellung für Quarz sein - oder ????
Muss nicht unbedingt sein: in der Einstellung XTAL kannst Du auch ein externes Signal einspeisen, das kommt dann auf Xout (oder wie immer das Pin heißen mag) invertiert wieder raus. In der Einstellung ext.Osz. kommt kein Signal bei Xout raus. Wichtig bei XTAL-Betrieb ist: kurze Leitungen, auch die der Cs nach Gnd. Keine digitalen Signale nahe an den Leitungen vorbeiführen. Vcc gut gegen Gnd abblocken. Evtl. mal anderen Quarz nehmen oder 100k - 1MOhm parallel zum Quarz klemmen, das hilft beim Anschwingen, oder auch mal einen KerKo in Reihe zum Quarz. Speise einfach in Xin ein Signal ein. Wenn es an Xout invertiert rauskommt, ist die Einstellung XTAL.
Ja, hab ich .... bin insgesamt total ratlos :( Also falls sich jemand wirklich gut mit den Fusebits/Yaap/ATmega8 auskennt soll er bitte folgende Konstelation betrachten und mir sagen was ich falsch gemacht habe bzw. was der Controller erwartet: CSEL3..0: programmiert (Hacken gesetzt in Yaap) BODEN: programmiert (Hacken gesetzt in Yaap) BODLEVEL(0): programmiert (Hacken gesetzt in Yaap) BOOTSZ0: programmiert (Hacken gesetzt in Yaap) BOOTSZ1: programmiert (Hacken gesetzt in Yaap) SPIEN: programmiert (Hacken gesetzt in Yaap)
Noch eine Frage auf der Seite 36 im Datenblatt sind die BOD beschrieben - dort ist angegeben das die maximale Spannung bei BODLEVEL = 0 bei 4.5V liegt. Kann es sein, dass main Controller 5V bekommt und deswegen einen Rest macht !?
Nein, mit BOD geht der Controller ins Reset, sobald seine Betriebssspannung den BODLevel unterschreitet. Falls du mehrere "zerfuste" AVRs haben solltest, könnte ich sie dir mit dem STK500 (HV-Mode) wieder auf Werkszustand setzen. ...
Danke fürs Angebot, aber ich werde mir erstmal noch einen Bestellen - sollte ich irgendwann mal zwei von denen falsch gefused haben lohnt sich zumindestens das Porto. Aber mir gehts mittlerweile echt ums Prinzip - ich würde gerne wissen, was das Ding jetzt erwartet. Hab eben mit nem Mega 16 (Taktgeber Prog) und etwas weniger als 1Mhz da dran gehangen - nichts. Der mega16 erzeugt den Takt laut Osci, aber dem mega8 ist es wohl echt schnuppe. An Quarzen hab ich auch verschiedene Frequenzen getestet 2-4 Mhz und auch mal einen Uhrenquarz ;) .... nichts ! Also falls sich doch jemand findet der auch interesse dran hat, so sind die Fuses gesetzt : CSEL3..0: programmiert (gesetzt in Yaap) BODEN: programmiert (gesetzt in Yaap) BODLEVEL(0): programmiert (gesetzt in Yaap) BOOTSZ0: programmiert (gesetzt in Yaap) BOOTSZ1: programmiert (gesetzt in Yaap) SPIEN: programmiert (gesetzt in Yaap)
Hallo, Mit den Werten von Yaap kann ich leider nichts anfangen, damit hatte ich noch nichts zu tun. Welchen Programmer benutzt du denn, wird der eventuell von AVR-Studio unterstützt? Wenn alle Stricke reissen, dann mach einfach alles vom Board wieder runter und verdrahte es noch einmal ganz von vorne. Alle Verbindungen in Ruhe nochmals kontrollieren, manchmal sieht man den Wald vor lauter Bäumen nicht. :-) Es grüsst, Arno
Hallo Arno, naja Yaap zeig halt den programmierten Zustand mit dem gesetzten Häkchen an (also Häkchen gesetzt bedeutet FUSE = 0) und ich habs nur der vollständigkeit hingeschrieben. Das neu verdrahten hab ich schon hinter mir und daran kann es eigentlich auch nicht liegen, lief ja schon ohne Probleme und nach setzten der Fuses halt nicht mehr - zu diesem Zeitpunkt habe ich die Schaltung nichtmal angesehen oder angefasst (also kein wackler). Der Controller bekommt konstante Spannung (beim Messen an alle Strippen gerüttelt). Der Programmer den ich verwende ist der hier: http://shop.embedit.de/product_002100_120.php von embedit und funktioniert tadellos - der ist auch STK200/300 kompatibel also müsste ihn das AvrStudio unterstützen - warum fragst du ? Gruß Mark
Kleine Idee am Rande - man könnte doch ein mikrocontroller Projekt machen in dem man ein Board baut, dass nur den Zweck hätte die Fuses auf den Werkszustand zurückzusetzen - ich weiß nicht genau wie das HV-Programmieng läuft, dürfte aber machbar sein - oder ?
Hallo Mark, lade dir doch mal AVR-Studio 4.12 herunter und versuche es mal damit. Zumindest kannst du damit erkennen auf was der Controller nun wirklich eingestellt ist. Es grüsst, Arno
Selbst wenn, wenn der Controller keinen Takt hat, wird AVR Studio auch nichts bringen. Zumindestens nicht über die ISP...
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.