Hi, ich hab da mal ein Problem ;-) Und zwar wollte ich an meinem µC ein BaudratenQuarz hängen, Fuses eingestellt und der Klassiker... Es funktioniert nichts mehr, na gut.. Kein neues Problem! Allerdings habe ich bisher immer den Fehler gefunden und konnte daraus lernen. Entweder hab ich heute einen schlechten Tag oder irgendwas stimmt nicht... So anschließen wollte ich einen 18,423MHz Quarz an einen Atmega328p mit 22pF Kondesatoren. Fuses habe ich auf CKSEL 3,2,1,0 (0,1,1,0) und SUT 1,0 (0,1) also laut Datenblatt slowly rising power 14CK +65ms. Wie gesagt, brauche gerade jemanden der mich auf den Fehler drauf stößt!!! Achso, ich hatte einen Zeitbasierten Test programmiert mit LED blinks... Es blinkt nichts! DANKE (ich hoffe ihr habt alle informationen die ihr braucht)
Keine Ahnung, ob es daran liegt, aber
> CKSEL 3,2,1,0 (0,1,1,0)
ist für einen Ceramic Resonator.
S. Landolt schrieb: > ist für einen Ceramic Resonator. Nach meiner Tabelle nicht. Da ist es Ext Full-Swing Crystal.
CKSEL 3..1 sagt Full-swing Crystal. Die Tabelle ist für die Startup Zeiten und meint These options are intended for use with ceramic resonators and will ensure frequency stability at start-up. They can also be used with crystals when not operating close to the maximum frequency of the device, and if frequency stability at start-up is not important for the application. Es ist also nicht explizit verboten, kann aber zu Problemen mit der Frequenz während des Hochlaufs führen. Besser wäre CKSEL0 auf 1. Also kein Genickbruch, aber auch nicht sehr gesund. Nur etwas für Bastler. Siehe auch http://www.engbedded.com/fusecalc/
:
Bearbeitet durch User
Ich hatte in der Fußnote 1 nur "These options are not suitable for crystals" gelesen, aber zugegebenermaßen keine genaue Vorstellung, was Atmel darunter versteht.
Sie haben Recht, Georg, es läuft hier auf einem Steckbrett mit 18.432 MHz trotz CKSEL=6; ich hatte nur gestutzt, weil ich diese Einstellung noch nie benutzt hatte. Dann hat Willi also ein anderes Problem.
Die Betriebsspannung ist 5V über einen 7805, gemessen habe ich 4,9V müsste also passen... Also CKSEL0 auf high und es müsste funktionieren? Ok, ich probier es, aber wie rette ich dann den alten? Ich habe ja derzeit keinen Zugriff!
> Also CKSEL0 auf high und es müsste funktionieren? Nein, sorry, war ein Irrtum meinerseits. > aber wie rette ich dann den alten? Externen Hilfstakt an XTAL1.
Hmmm... Das ist ja ärgerlich! Ich will jetzt ungern den nächsten Atmega versuchen, um festzustellen das es nicht klappt... :-/ Trotzdem erstmal danke!
Da fällt mir gerade auch was auf, falls ich ja nichts falsch gemacht habe und ein technischer defekt an einem der verbauten Bauteile vorliegt... kann ich dann überhaupt per Takt am XTAL1 den Controller retten? Tendenziell habe ich den Controller ja richtig gefused!?
Überprüfe auch die Hardware. Du hast nicht zufällig einen Masseschluß an einem der beiden Oszillator-Pins? Gerade bei SMD-Kondensatoren passiert das gern. Breadboard ist bei 18MHz auch grenzwertig. Die GND-Verbindungen müssen niederimpedant sein.
Versuchsweise kannst du die beiden Cs auch weglassen, die meisten AVRs schwingen mit den meisten Quarzen auch ohne die beiden pF-Cs. Ist denn die Betriebsspannung direkt am Controller gut abgeblockt? 100nF direkt an GND und Vcc? Kurze Leitung von Vcc zum nächsten Elko/+5V-Anschluss? (ein paar cm sind ok)
Axel S. schrieb: > Breadboard ist bei 18MHz auch grenzwertig. Die > GND-Verbindungen müssen niederimpedant sein. Beim Steckbrett kann man die 22pF Kondensatoren weglassen, die Steckleisten haben selbst genügend pF. Es kann dort sein dass es nur ohne die Lastkondensatoren läuft. Bei gelöteter Platine sind die Kondensatoren aber notwendig. In die Falle tappen Anfänger gelegentlich wenn sie Schaltungen vom Steckbrett auf Platine (Lochraster oder PCB) übertragen.
Ok, nur für mich... Ich bin theoretisch nicht ganz so tief in der Materie. Ich soll die Kondensatoren entfernen und dafür Brücken setzen oder einfach nur entfernen? Mit der Brücke hätte ich die XTALs doch quasi dauerhaft auf Low oder? (wenn es zu kompliziert ist, braucht mir das keiner erklären! Spart euch die Kräfte, dann bitte nur meine Arbeitsanweisung)
Willi schrieb: > Ich soll die Kondensatoren entfernen und dafür Brücken setzen > oder einfach nur entfernen? Einfach die Kondensatoren entfernen, keine Brücken! 20MHz sollten bei halbwegs geschickten Aufbau auf dem Steckbrett noch möglich sein. Der Quarz sollte so nah wie möglich an den XTAL-Pins angeschlossen werden (ein paar mm abstand sind noch ok). Funktioniert der Quarz selber auch wirklich (schon irgendwie getestet)? Was ist denn aktuell das genaue Problem bei deinem Aufbau? Kein Kontakt zwischen Atmega und Programmieradapter möglich?
Also mein Problem ist bzw meine Probleme sind... Der Atmega-328P läuft nicht mehr das Programm (LED 2 sek an und 4 sek aus) ab was er vorher von mir bekommen hat. Das erste High an der LED ist nicht zeitgesteuert! Zudem kommt das ich ihn nicht mehr lesen und programmieren kann! Ich habe jetzt diverse Tests gemacht und bin zu dem Entschluss gekommen das ich mit dem Quarz auf meinem Steckbrett nicht weiter arbeiten kann, ich kriege nicht einmal den 16MHz vernünftig zum Schwingen. Nach einigen Startversuchen bringt dieser den Atmega schonmal an den Punkt an dem die LED angeht... Ich habe mal ein Foto angehängt, vllt fällt jmd noch ein etwas günstigerer Aufbau ein!? Ich bin mit dem Probieren am Ende... Allerdings würde ich den Atmega gerne noch "retten", wie kann ich nochmal das Schwingen Simulieren? Einen anderen Controller an einem PIN schnell triggern und dann an den XTAL1? Ich habe es schonmal machen müssen, finde den Post aber nicht mehr! Reicht ein Attiny2313 mit 8 MHz interne Taktung?
Willi schrieb: > vllt fällt jmd noch ein etwas günstigerer Aufbau ein!? Das ist kein Aufbau, das ist Pfusch. Auch du scheinst noch nie etwas von Abblock-Kondensatoren gehört zu haben. Wie oft wurde das hier schon gepredigt, und ATMEL "schreibt" die Anwendung von solchen Cs vor. Das Märchen von den nicht notwendigen Lastkapazitäten am Quarz glaubst du auch gerne denn dann hast du weniger Arbeit, gell? Allein die Unfähigkeit hier ein anständiges, aufschlussreiches Foto von deinem Aufbau zu posten spricht Bände.
Du brauchst 1. den Abblock-C direkt am Controller!!! (100nF, Bild) 2. einen korrekt verschalteten Reset-Pin!!! z.B. so: http://i.stack.imgur.com/jlZTK.png (den Schalter kannst du auch weglassen) Arduinoquäler schrieb: > Das Märchen von den nicht notwendigen Lastkapazitäten am > Quarz glaubst du auch gerne denn dann hast du weniger > Arbeit, gell? Für Testzwecke kann es ohne Lastkapazitäten gehen, muss aber nicht. Bau die Lastkapazitäten lieber auf kurzem Wege ein! 1. und 2. sind MUSS !!!!!!!!!!!!!!!!!!
Übrigens fliegt Dir bei dem Aufbau die LED um die Ohren. Die hat keinen Widerstand zur Strombegrenzung... Atmega8 hat auf beiden Seiten eine Spannungsversorgung, die auch verbunden sein muss.
:
Bearbeitet durch User
Also erstmal großen Dank an die konstruktiven Vorschläge! Ich habe jetzt den Atmega auf einen anderen Entwurf geschmissen und dort lief er mit 16 MHz ohne Probleme, mit dem 18,432 kriege ich ihn auch hier nicht zum laufen... Werde mir demnächst noch einige Kondensatoren zulegen um genau dieses Problem beheben zu können! Für das Bild muss ich mich entschuldigen, habe es noch gedreht aber danach wohl nicht gespeichert und dann noch doppelt, Schande über mein Haupt. Das fotografierte war nicht das probierte (Hab einen komplett neuen Aufbau gemacht, damit die Störquellen eingrenzen konnte)... Es kamen natürlich noch die Abblockkondensatoren darauf (beidseitig) und den Quarz mit 22pF bedrahtet, brachte aber alles nichts... ;-/ Ohne die Cs am Quarz konnte ich den Quarz wenigstens für 1-2 Sekunden am leben halten, werde es mit anderen Werten probieren wenn ich die anderen Cs habe. Zu den LEDs, die gibt es auch für den 5V-Betrieb! Also wie gesagt danke nochmal!
Ich würde es mal mit anderen kondensatoren versuchen. Zum Beispiel 12pF und 33pF. > Übrigens fliegt Dir bei dem Aufbau die LED um die Ohren. > Die hat keinen Widerstand zur Strombegrenzung... Der AVR wird den Strom auf 40-50mA begrenzen. Damit betreibt man sowohl den AVR als auch die LED außerhalb der Spezifikation. Bei einem kurzen test auf dem Steckbrett fällt das sicher nicht auf, aber im langfristigem Betrieb schon. Die LED wird warscheinlich frühzeitig ableben. > wie kann ich nochmal das Schwingen Simulieren? Einen anderen Controller > an einem PIN schnell triggern und dann an den XTAL1? Ja. Ich habe für solche Zwecke eine universelle Programmierfassung mit 4Mhz Oszillator gebastelt. Da kann ich so ziemlich alle AVR's im DIP Format rein stecken. > Beim Steckbrett kann man die 22pF Kondensatoren weglassen, > die Steckleisten haben selbst genügend pF. Wie viel denn? Könnte auch zu wenig sein aber mit 22pF dann wiederum zu viel.
Willi schrieb: > Ich habe jetzt > den Atmega auf einen anderen Entwurf geschmissen und dort lief er mit 16 > MHz ohne Probleme, mit dem 18,432 kriege ich ihn auch hier nicht zum > laufen... Dann ist ja vielleicht dein Quarz kaputt? Oder hast du einen Oberwellenquarz erwischt?
Du kannst ja für Testzwecke jeweils 2x22pF = 44pF parallel schalten.
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.