Forum: Mikrocontroller und Digitale Elektronik Atmega16 o Atmega32 16PU aber keine 16 MHz


von Peter (Gast)


Lesenswert?

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

von Paul Baumann (Gast)


Lesenswert?

Guck mal hierhin:
http://palmavr.sourceforge.net/cgi-bin/fc.cgi

Dort kann man sich die Fuse-Einstellungen schön zusammenstellen lassen.

MfG Paul

von Holger K. (krulli) Benutzerseite


Lesenswert?

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.

von Akku (Gast)


Lesenswert?

Richgtige Kerkos?
22pf für XMhz-16Mhz...
Schau mal ins Datenblatt!


Versorgungsspannung korrekt?

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

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.

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

Erster Teil.

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

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...

von Michael H* (Gast)


Lesenswert?

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?

von spess53 (Gast)


Lesenswert?

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

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

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?

von Michael H* (Gast)


Lesenswert?

und gerade wiedergefunden:
Beitrag "Das Mysterium CKOPT"
hier wird vieles geklärt.

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

von Arc N. (arc)


Lesenswert?

> 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

von Benedikt K. (benedikt)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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

von Otto (Gast)


Lesenswert?

evtl. bricht die Spannungsversorgung zusammen - je höher die 
Taktfrequenz um so höher die Stromaufnahme....

Gruss Otto

von Michael H* (Gast)


Lesenswert?

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 ^^

von Peter (Gast)


Lesenswert?

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

von Michael H* (Gast)


Lesenswert?

oha. streut da der quarz in die isp-leitungen ein? wie lang ist denn 
dein kabel zwischen lpt und target?

isp-freq umstellen bei avr-dude:
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#SEC4
geht mit -P

von Peter (Gast)


Lesenswert?

das Kabel hat so die Länge von etwa eine halben Meter, vielleicht ein 
paar Zentimeter mehr.

von Uwe (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.