Hi,
ich hab nen Problem mit meinen Atmega16 16PU und Atmega32 16PU. Ich will
die mit 16 Mhz Quarz betreiben, aber es funktioniert nicht. Wenn ich 12
MHz anlege, wie auf diesem Bild
http://www.mikrocontroller.net/wikifiles/e/eb/Tutorial-quarz-schaltplan.png
funktioniert es, aber mit 16 MHz komm ich nicht mehr auf den Controller
drauf, weder via avrdude, das gibt mir immer "invalid device signatur"
aus, noch via ponyprog2000 "Device not found" drauf. ISP ist ein simpler
Parallelport-Programmer mit 2 Widerstaenden funktioniert auch
einwandfrei. Mit usbasp funktioniert es auch nicht. Hab schon die
Kondensatoren getauscht, hab es mit 18pF und 33 pF probiert keine
Änderung. Quarze kann ich ausschliessen hab genug durch probiert.
Fuse-Bits sind lfuse: 0xFF und hfuse: C9. CKOPT ist also programmiert
und der Rest nicht.
Wo kann der Fehler liegen?
Danke schon mal,
Peter
Hallo Peter, an den Einstellung der Fusebits kann es irgendwie nicht
liegen. Bei mir funktionieren mit Deinen Einstellungen (hab ich eben
noch getestet an einem Mega16) sowohl 8MHz, 12Mhz, 16Mhz und 20MHz.
Fuses korrekt gesetzt, Quarz anstaendig platziert, Lasten richtig
dimensioniert, ISP-Takt korrekt?
Wen Du CKOPT in Verbindung mit einem externen Quarz programmierst kann
es passieren dass er nicht mehr anschwingt. CKOPT ist dafuer gedacht, um
an XTAL1/XTAL2 einen Uhrenquarz mit internen Lasten anzuschliessen.
Michael G. wrote:
> Wen Du CKOPT in Verbindung mit einem externen Quarz programmierst kann> es passieren dass er nicht mehr anschwingt. CKOPT ist dafuer gedacht, um> an XTAL1/XTAL2 einen Uhrenquarz mit internen Lasten anzuschliessen.
Du erzählst schon wieder totalen Mist!
Sorry dass ich dir schon wieder wiedersprechen muss, aber wirf mal einen
Blick ins Datenblatt: Je nach Oszillatormodus hat CKOPT unterschiedliche
Bedeutungen.
CKOPT ist schon richtig gesetzt, dass muss man nämlich bei Quarze >8MHz
setzen.
Und wenn Du die Application Note von Atmel (Design Considerations)
gelesen haettest wuesstest Du es besser. Wenn Dir nicht passt, was ich
hier wiedergebe, schreibe an Atmel aber piss nicht mir ans Bein, wenn's
recht ist.
In letzter Zeit kann man hier nicht mehr helfen weil irgendein Idiot
meint, sich angepisst fuehlen zu muessen.
Zweiter Teil.
Und nur weil hier quasi per Gewohnheit falsches Zeug gepredigt wird
schliesse ich mich dem noch lange nicht an. CKOPT schaltet interne
Lasten hinzu, die aber zur Uebersteuerung fuehren koennen wenn bereits
externe Lasten verwendet werden. In manchen Umgebungen fuehrt das zu
besserer Stoerfestigkeit, das ist schon richtig. Problematisch wird das
aber gerade bei groessren Frequenzen.
Zweiter Teil ist erster Teil...
Michael G. wrote:
> Und nur weil hier quasi per Gewohnheit falsches Zeug gepredigt wird> schliesse ich mich dem noch lange nicht an.
ne, richtig. du stehst ganz oben auf der kanzel! ^^
CKOPT schaltet nicht nur die internen kapazitäten zu, sondern ändert
auch das treiberverhalten für die resonatoren. kleinere resonatoren
(uhrenquarze, aber auch darüber) werden anders angeregt, als größere.
daher kann das CKOPT flag z.b. auch positiven einfluss drauf haben, wenn
in den zuleitungen störungen eingefangen werden.
> In letzter Zeit kann man hier nicht mehr helfen
"helfen"
@peter:
wie sieht denn die anbindung des quarzes bei dir aus? lange leitungen
oder steckbrettaufbau?
Hi
@ Michael G. & Benedikt
Ich habe mir die Stellen im Datenblättern und Appnote mal durchgelesen.
Nach meinem Verständnis ist die CKOPT-Funktion abhängig von den
CKSEL-Bits, und damit vom angeschlossenen Quarz. Damit hättet ihr beide
(Halb)-Recht. Also kein Grund zum Streit.
MfG Spess
OK hier widersprechen sich offensichtlich die Angaben im Datenblatt und
in dieser Application Note. Ich war vorher auch der Meinung dass CKOPT
das Schwingverhalten bei Kristallen verbessert. Die Frage ist, was nun
stimmt.
Trotzdem, man kann sowas auch anders sagen und muss sich nicht gleich
als Guru aufspielen wollen. Ich dachte wir arbeiten hier zusammen, was
soll die Scheisse?
Vielleicht hat Atmel sowas nicht ohne Grund geschrieben, die Appnote ist
jedenfalls aktuell (04/08).
Und der OP schreibt ja selbst dass ein Oszillator mit 8MHz schwingt aber
mit 16 nicht, daher liegt es ja nahe dass etwas mit den Lasten oder den
Fuses nicht stimmt. Aber vielleicht ist es auch nur ein lausiger Aufbau.
> CKOPT schaltet interne Lasten hinzu, die aber zur Uebersteuerung fuehren> koennen wenn bereits externe Lasten verwendet werden.
Wie auch schon in AVR042 gesagt, wenn man “ext. low frequency crystal”
gewählt hat, ansonsten wird damit
"The CKOPT Fuse selects between two different Oscillator
amplifier modes. When CKOPT is programmed, the Oscillator output will
oscillate will a full railto-rail swing on the output. This mode is
suitable when operating in a very noisy environment or when the output
from XTAL2 drives a second clock buffer. This mode has a wide frequency
range. When CKOPT is unprogrammed, the Oscillator has a smaller output
swing. This reduces power consumption considerably. This mode has a
limited frequency range and it can not be used to drive other clock
buffers."
Seite 25
Und nochmal zur Verdeutlichung aus dem Datenblatt:
"The CKOPT Fuse functionality depends on the setting of the CKSEL bits.
See See “Clock Sources” on page 25. for details" Seite 260
Michael G. wrote:
> Trotzdem, man kann sowas auch anders sagen und muss sich nicht gleich> als Guru aufspielen wollen. Ich dachte wir arbeiten hier zusammen, was> soll die Scheisse?
Es geht darum, dass du 2x innerhalb von 30Minuten schlichtweg
Fehlinformationen verbreitet hast. Jeder erzählt mal Mist, aber nicht so
oft am Stück. Deine Infos sind (in diesen beiden Fällen) schlichtweg
kontraproduktiv, und somit Fehl am Platz. Sorry, aber mich regt sowas
auf. Vor allem Anfänger werden durch sowas nämlich total verwirrt.
Und ich bin anscheinend nicht der einzige der das so sieht:
Beitrag "Re: [S] Oszilloskop, digital, 100 MHz, 100 MS/s"
Ich erinnere mich auch noch an einen Thread den du gestartet hast, und
wo du auch Mist erzählt hast, und als ich hingwiesen habe, mal einen
Blick ins Datenblatt zu werfen, du ziemlich aggressiv reagiert hast.
Daraufhin hat dir niemand mehr geantwortet, zurecht.
Gruesse nochmal,
also ich hab das ganze auf Steckbrett aufgebaut nur Standartschaltung
mit 3 rgb-Leds die aber an Port d und c haengen. Wege liegen bis etwa 10
mm , der quarz haengt, nachgemessen, 1,3 mm hinter den xtal Pins und
dann nochmal+2mm Kondi+2mm gnd. Fusebits sind wie oben beschrieben. Habs
mit und ohne ckopt probiert, brachte beides keinen Erfolg. Ausprobiert
hab ich es, wie gesagt mit 8, 12, 16, 18 MHz, die beiden letzten, 16 und
18 MHz bringen leider keinen Erfolg beim auslesen. Hab es jetzt mit 4
Avr's porbiert, bei allen das selbe Phaenomen. Koennte eventuell an
meinem Programmer liegen?! Hab nen Standart-Parallelport Programmer mit
2 Widerstanden, keine Ahnnung wie ich den ISP-Takt da einstelle. Aber
mein usbasp kann sich auch nicht verbinden.
Danke schon mal fuer die Diskussion und Anregungen.
Gruesse
Peter
nene, den isp hätt ich da nicht in verdacht. mein tipp is dann das
steckbrett.
versuch doch mal, den die xtal-anschlüssel des atmles um 180° zu biegen
und bau dir da den quarz dran. quarze sollten da aber auch noch dran -
alles ganz einfach ^^
so also nochmal usbasp angeschlossen und was soll ich sagen, auf
minimale spi Frequenz eingestellt und es geht auch mit 18 MHz, scheint
also an meinem Parallelport programmer zu liegen. Weiss da einer wie man
die ISP Frequenz veraendern kann, ginge ja nur ueber Software. Danke
nochmals
Gruesse
Peter
Hi!
Mal was zu CKOPT, ich habe die auch schon bei 4MHz gesetzt weil der µC
in
einer recht verseuchten Umgebung manchmal in den Wachhund gelaufen ist.
Die Amplitude am Quarz wird dabei deutlich höher als normal und das war
da
sehr hilfreich. CKOPT ist also nicht nur >8MHz hilfreich sondern kann
auch drunter ein deutlich besseres Betriebsverhalten erzeugen. Wer also
ein Oszi hat kann sich die Auswirkungen von CKOPT schön anschauen wenn
er
XTAL1/2 mal antastet.
Viel Erfolg, Uwe