Hallo, ich denke, dass ich die Bewertung der Fuses fast richtig einschätzen kann... Ich möchte einen Atmega8 mit einem (ext.) Quarz mit 3,686400 MHz betreiben. Hierzu habe ich wie auf dem Screenshot zu sehen (Engbedded Fuse Calculator Copyright © 2006-2011 Mark Hämmerling) die Fuses eingestellt. Ich habe aber die Start-Up Time und das Delay noch nicht verstanden. Ich erkläre mir das Delay von 65 ms so, dass der Quarz langsam anschwingt!? Es wird hier im Forum immer weider auf 16k CK und 65 ms hingewiesen, aber ich weiß nicht warum. 16K CK = 16.000 Clock's ??? Das und die 65 ms würden bedeuten: a) warten aus reset b) aud den Power-Modi entsprechend viele Clocks/Takte warten? Danke und schönen Tag, Christoph
Hallo, Ch Sp schrieb: > Ich möchte einen Atmega8 mit einem (ext.) Quarz mit 3,686400 MHz > betreiben. -> Low Freq Start-Up time 16K 64ms Ch Sp schrieb: > Ich habe aber die Start-Up Time und das Delay noch nicht verstanden. Ich > erkläre mir das Delay von 65 ms so, dass der Quarz langsam anschwingt!? Richtig. Die 64ms beziehen sich auf die Einschwingzeit deines Quarzes. Bei 64ms kannst du dir dann sicher gehen, dass der Quarz auch richtig "eingeschwingt" ist. Also am Besten immmer 64ms nehmen. Mich würde auch mal interessieren welche Quarzfrequenzen man unter Low,Med. und High Frequency versteht. Ich habe das so interpretiert: 1Mhz - 8Mhz Quarze -> Low Freq. 8Mhz - 12Mhz Quarze -> Med. Freq. 12Mhz - 16Mhz Quarze -> High Freq. Gruß David Knoll ;-)
Hallo, auf Seite 7 des Atmega8 Datenblattes gibt es die Table 4; Freuquency Range. Demnach würde ich die o. g. Freuquenz bei CKSEL 1...3 = 111 als high verstehen... ??? Das ist jetzt aber für mich Kaffesatz lesen... Ich habe keine Ahnung... ;-)
Habe jetzt gerade nur ein DB vom ATMEGA16 zur Hand, aber das ist ja alles das Gleiche. Da findet man dann ab Seite~24 das Kapitel *System Clock and Clock Options* . Blättert man dann eine Seite weiter, dann steht da Crystal Oscillator . Ich hänge mal 2 Tabellen mit an, dann sollte es eigentlich klar sein. Für einen 3,6...MHz Quarz müsste man also laut Datenblatt folgendes einstellen: CKOPT=1 + CKSEL=111 --> 3-8MHz Bei der Risetime kommt es dann auf die Art des Resonators (Quarz/Ceramic) und der Risetime der Betriebsspannung an. Aus der 2. Tabelle ist dann ersichtlich, dass wenn man auf Nummer sicher gehen will man einfach die 16k und 65ms nimmt (Crystal Oscillator). Man kann da natürlich (abhängig von der Risetime der Betriebsspannung) auch noch weiter runter gehen auf 16k und 4,1ms oder man schaltet die Brownout-Detection mit ein und kommt auf 16k! Die Frage ist doch, stört einen die 16k und 65ms? Grüße
Hallo, lesen bildet immer! Dann habe ich ja alles richtig gemacht. Ich denke, jetzt weiß ich (so halb) mit den Fuses umzugehen. Die 16K und 65 ms stören mich nicht. Danke und Gruß Christoph
Ch Sp schrieb: > Die 16K und 65 ms stören mich nicht. Es sind 64ms XD. Du hast dich jetzt schon jedes Mal verschrieben =)
David Knoll schrieb: > Mich würde auch mal interessieren welche Quarzfrequenzen man unter > Low,Med. und High Frequency versteht. > Ich habe das so interpretiert: > 1Mhz - 8Mhz Quarze -> Low Freq. > 8Mhz - 12Mhz Quarze -> Med. Freq. > 12Mhz - 16Mhz Quarze -> High Freq. Das ist alles "High". "Low Frequenzy" sind z.B. 32,768 KHz Uhrenquarze. Oder die 128KHz, mit denen der Watchdog intern versorgt wird. "High Frequency" sind die "normalen" >= 1MHz. "Medium" liegt irgendwo dazwischen. Ich kann mich allerdings nicht entsinnen, sowas mal gesehen zu haben. Wenn man seinen AVR mit 500KHz betreiben möchte, nimmt man einen 4MHz Quarz und teilt den Takt /8. Eigentlich unterscheidet man bei Quarzen nur zwischen "Crystal Osc." und "Low Frequ. Crystal Osc.". Oder einfach Quarz(=High) und Uhrenquarz(=Low). mfg.
Also, irgendwas habe ich falsch gemacht/verstanden: Habe hier einen Atmega8. Der soll durch einen Quarz mit 3,6864 MHz getaktet werden. Habe die Fuses gelesen und so, wie auf dem oben angehängten Screenshot gesetzt. Jetzt erhalte ich den Hinweis: "Error reading fuses..." Den Artikel bzgl. Fuses zurücksetzen habe ich nicht verstanden. Zugriff auf ein Oszilloskop hätte ich... Danke, Christoph
Wenn Du Pech hast, ist das jetzt eine fuse-Einstellung mit der Du Dich momentan ausgesperrt hast. Erste Kontrolle: geht das Lesen der Signatur noch? So wie ich das lese, wurde der interne RC Oszillator ausgeschaltet und der Oszillator für den externen Quarz eingeschaltet. Wenn dann extern die Beschaltung nicht stimmt, ( Quarz oder die beiden Kondensatoren mit so ca 10pF bis 30pF) gibts halt kein Schwingen und damit keinen Takt, der für die ISP-Verbindung gebraucht wird. Abhilfe dazu, siehe viele Beiträge hier im Forum: "ausgesperrt?"
Das erhalte ich zurück: avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update. avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude.exe done. Thank you. Beide Kondensatoren haben 22pF. Quarz liegt an XTAL 1 und XTAL 2 dann die Kondensatoren gegen GND und je einen Pin des Quarzes...
Mit dem Scope kann man nachsehen, ob reset , SCK, MISO und MOSI Signale führen, wenn ISP-Tätigkeit herrscht. Reset, SCK und MOSI werden vom PC bzw progger erzeugt. Wenn die ISP-Verbindung ausgefallen ist, antwortet der Kontroller nicht und MISO bleibt ohne Signal.
Anbei die Beschaltung. Wenn ich mit einem Oszilloskopen an PB4 bzw. Miso messe kann ich keine Veränderung feststellen... Ich kann aber auch nicht den Quarz messen...
Ich kann am ISP (USBasp) locker die 12 MHz messen. Messe ich am Quarz auf der Schaktung erhalte ich nicht die Frequenz von 3,6864 MHz... Verbindungen sind soweit aber alle da...
Na, ja da geht die ISP-Verbindung nicht richtig: Der PC liefert zwar Signale aber der Kontroller antwortet nicht. Die Signatur lässt sich wohl auch nicht lesen Beim Quarz KANN es sein, dass schon die Berührung mit dem Tastkopf die Schwingung abreißen lässt, also liefert hier das Scope keine sichere Information. Und wenn es vor dem Schreiben der fuses ging und danach nicht, lässt das darauf schließen, dass irgendetwas mit den fuses danebenging. Retten lässt sich dieser "verfuste" Chip, indem man extern einen Takt anlegt und die Standard-Einstellung der fuses wieder einschreibt. Dazu Näheres im Tutorial usw.
Also ein Prooblem seitens der Schaltung in diesem Bereich schliesse ich aus. Ich habe Zugriff auf ein Oszilloskop. Kennt jmd. einen Link/Thread, wo dass schonmal genau beschrieben wurde? Danke!
Die Frequenz vom USBAsp (12MHz) sind für die USB-Verbindung wichtig, die geht ja. Da fällt mir ein: Damit ISP funktioniert muss die Taktfrequenz des Kontrollers mehr als viermal so hoch sein wie die die ISP-Frequenz (Frequenz von SCK) Intern arbeitet der atmega8 mit etwa 8MHz. Jetzt wurde auf 3,8..MHz gewechselt. Da noch ein Teiler mod8 im Kontroller mitarbeitet, ist der echte Takt jetzt etwa 475 kHz, ISP darf also nicht schneller als ca. 100 kHz arbeiten. Das lässt sich in der Software des Proggers einstellen. Ist das der Fall?
Hallo, die 3,6864 MHz wurden für 9600 Baud/Max232 gewählt. Ich habe die ganze Schaltung auf einem Steckbrett mit einem 4 MHz Quarzoszillator. Da läuft das alles. Wenn ich am 3,6864 MHz Quarz auf der Schaltung messe, springt die Frequenz mal auf 30 mal auf 300 Hz, dann auf einen KHz Wert etc...
So, heute muss das Forum leiden: Ich komme jetzt mittels Oszilloskopen wieder drauf. Anbei ein Bild der eingelesenen Fuses! Ich dachte, dass das die richtigen Einstellungen für Quarz; 3,6864 MHz wären?? Gruß Christoph
> Ich komme jetzt mittels Oszilloskopen wieder drauf.
Das heißt dann wohl das deine Beschlatung des Quarzes nicht OK ist und
er nicht anschwingt bzw. schwingt wenn kein Oszi dran ist. Also bau ein
Virtuelles Oszi dran ;-). Datenblatt vom Quarz lesen !-) Hoffe mal das
hast du bereitliegen oder weißt du den Hersteller und das Model deines
Quarzes etwa nicht ? ;-o
Ja verdammt nochmal, ist es wirklich zuviel, die Signatur des Kontrollers zu lesen? Wenn die nicht richtig herauskommt, braucht man garnicht erst an den fuses herumzupfuschen. Was Du da als screenshot zeigst, ist wahrscheinlich ein default-Wert und garnicht gelesen. Also, versuch erst einmal die Signatur zu lesen und berichte, was sich dabei ergibt. BTW: wer bei Arbeit auf einem Steckbrett Hardwarefehler ausschließt, ist ziemlich optimistisch.
Hallo, eine Schaltung habe ich auf einem Steckbrett (mit 4 MHz Quarzoszillator) als Versuch. Um die es sich hier dreht ist eine auf einer Platine verlötete! So wie ich die Fuses "ausgelesen" hatte, hatte ich sie auch gesetzt. Leider habe ich nicht auf die Signatur geachtet - sondern nur auf die Meldung der erfolgreich gelesenen Fuses! Schon wider dazu gelernt - auf die Signatur achten... Weiterhin ist die Hardware-Beschaltung so, wie sie in der Schaltzeichnung ausgeführt ist. Fuses sind ja richtig für die 3,6864 MHz Quarz. Folglich müsste nach Umprogrammierung der ext. Quarz verwendet werden müssen! Aber ab da kam ich nicht mehr drauf. Einen Screenshot der Beschaltung habe ich oben angehängt. Als ich gemessen hatte, konnte ich keine 3,6864 MHz messen! gruß Christoph
Guten Morgen! Hier die Device signature = 0x1e9307 Christoph
Achso, und es ist genau dieser AVR: ATMega AVR 8-16 AU Gehäuse: TQFP-32 MHz: 16 Flash: 8 EEProm: 512 RAM: 1K I/O: 23 Hersteller : ATMEL Artikelnummer des Herstellers : ATMEGA8-16AU
Na, also. Dann ist die ISP-Verbindung anscheinend in Ordnung. Die Fuses stimmen auch (wenn sie echt gelesen sind). Wenn sich die Signatur lesen lässt, muss auch das Programmieren der fuses funktionieren. Dann müsste doch das Rück-Programmieren des atmega8 in die Grundeinstellung gehen.( siehe Datenblatt, dass er wieder mit internem RC-Oszillator läuft.) Das engt dann die Fehlermöglichkeiten beträchtlich ein.
Hallo, ich konnte zurückprogrammieren, ein Dummy-Programm laden und anhand von zwei LEDs feststellen, dass ich problemlos (mit entsprechenden Fuses) den INTERNEN Takt ändern kann. Ich habe dann nochmals alles auf (Hardware-)Fehler überprüft. Mir fiel aber nichts auf. Ich habe es dann nochmals mit Fuses für den ext. Quarz probiert, aber dann war weider Feierabend. Also wieder per Oszilloskopen an XTAL 1 (ich glaube es war 1) neu gesetzt. Jetzt arbeite ich mit 4 MHz intern. Meine Schaltung (Empfangen von RS232 Bytes und ausführen von entsprechenden Funktionen) funktioniert. Ich werde mal den 3,6864 MHz Quarz wechseln, vielleicht ist der defekt - dann müssten aber gleich zwei die ich bestellt hatte defekt sein... Leider gibts die hier beim Conrad nicht im Laden...
Fällt nur die Rs-232-Funktion beim Wechsel von intern4MHz auf Quarz 3,8... aus? oder auch andere Funktionen wie z.B. LED Wenn auch die LED-Funktion ausfällt, CK-opt fuse aktivieren, das macht den Oszillator schwingfreudiger. Bei "lahmem" Quarz oder bei falscher Beschaltung kriegt man da noch ein Schwingen hin. Die beiden Kondensatoren prüfen, ob im Bereich 10pF bis 30pF, ist der Mittelpunkt der beiden C's wirklich an Masse,... BTW: Läuft die Schaltung mit dem 4MHz-Oszillator aus dem Steckboard?
Hallo, bei Umschalten auf externen Quarz geht nichts mehr. Auf dem Steckbrett läuft es mit einem 4 MHz Quarzoszillator. Mit der CK-opt Fuse werde ich es noch mal probieren. Die beiden 22 pF haben am Mittelpunkt gemeinsam Masse...
Kannst Du nicht den 4 MHz Quarz aus dem Steckbrett anschließen?
Ist ein Quarzoszillator und der passt nicht auf die Platine. Ich kann stabil mit dem internen arbeiten. Der Atmega8 wartet eh nur auf ein einziges Byte... Ich werde das aber mit dem Quarzoszillator überdenken! Gruß Christoph
Da gehts doch nur ums Ausprobieren, Wenn Du den Takt einspeist, gibts mehr Information, obs am Quarz liegt.
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.