ja, an der Schaltung liegts nicht, es ist der Programmer, der den Fehler verursacht. Ich hab das Teil mal neu aufgebaut, doch nach kurzer Zeit hat sich wieder dasselbe Problem eingestellt. Ich verwende in dem Teil nen
74HC125 als Treiber, ich werd das mal mit nem 74HC244 ausprobieren, evtl. macht der weniger Probleme.
(Christian Lande) 23.06.05 in /de/sci/electronics:
Ich weiss nicht was du bei "google" eingegebene hast, hier kommt als erster(!) Treffer:
formatting link
formatting link
The manual of the Mega128 (Rev 2467J-AVR-12/03) is somewhat intransparent and distributes the relevant information over many pages. the fuses
The programming fuses are fuse default meaning page CKSEL3..1 000 select the clock from internal RC, ceramic, XTAL, external clock 35, 36 CKSEL0 1 select the clock from internal RC, ceramic, XTAL, external clock 35,
36 CKOPT 1 clock amplifier for crystal oscillator or so, depends on the clocksource itself 36 ...
crystal oscillator
This mode allows for either a crystal or a ceramic resonator. When CKOPT=0, then the Osc output at XTAL2 is being driven rail-rail. When not programmed (=1), then the swing is smaller, the frequency range is limited and the powerrconsumption is lower. For resonators, the max frequency is 8MHz with CKOPT=1 and 16MHz with CKOPT=0.
This clock option is to use a 32768Hz crystal. Set the CKSEL=1001. Programming the CKOPT=0 enables internal 36pF between XTAL1 and GND and between XTAL2 and GND. Startup times for the low frequency crystal oscillator, page 37
00 1k clk 4.1ms fast rising power or BOD enabled
01 1k clk 65ms slowly rising power
10 32k clk 65ms Stable frequency at startup
11 reserved reserved reserved option 00 and option 01 should only be used if frequency stability at startup is not important
Das ist einen 417 Seiten-Schinken, zum Glück mit Index. Gehe dort auf Seite 36 (System clock - Crystal oscillator) und lies bzw folge die dort gegebenen Quellen.
ja, ich hatte schon die von Dir angegebenen Begriffe eingegeben, bloß wohl nicht wirklich kapiert, was Du mir sagen wolltest :)
formatting link
hab mir das mal näher angeschaut und wohl auch nur zur Hälfte begriffen... mich wundert nur, daß z.B. avrdude zwar die fuses einstellen kann, sich aber für das verwendete Quarz wohl so garnicht interessiert?
ich werd das mit dem Oszi nochmal genau nachmessen, weitere mögliche Probleme lassen sich damit allerdings aber auch nicht feststellen.
hab ein Centronics-Verlängerungskabel von ca. 1,8m am Parallelport hängen. Daran den Adapter, in dem sich das IC befindet und daran nochmal ein Kabel von ca. 20cm mit nem Stecker dran, den ich auf mein Testboard stecke.
Das ist die Lastkapazit=E4t, die du parallel zum Quarz anbringen musst, damit der Quarz auf seiner Nominalfrequenz schwingt. Ist die Kapazit=E4t kleiner, dann schwingt der Quarz etwas schneller, ist sie gr=F6=DFer, dann wird er langsamer. Sonst passiert garnichts, wenn du von der Lastkapazit=E4t abweichst, insbesondere altert der Quarz nicht schneller oder langsamer.
Soweit zur Theorie. In der Praxis gibt es ein paar Pferdef=FC=DFe. Der erste und gemeinste ist, da=DF der Oszillator die Kapazit=E4t laden und entladen mu=DF. Moderne Chips, die vielleicht nur mit 1.5V betrieben werden und aus EMC Gr=FCnden nur schwache Treiber f=FCr X2 verwenden, machen oft bei Kondensatoren von gr=F6=DFer 22pF schon nicht mehr mit. Die D=E4mpfung ist einfach zu gro=DF.
Der zweite Pferdefu=DF bzw. Denkfehler ist es, die Lastkapazit=E4t mit der Kapazit=E4t der Kondensatoren gleichzusetzen. Vom Quarz aus gesehen sind die Kondensatoren in Serie geschaltet. Das hei=DFt aus zwei 22pF Kondensatoren wird eine Lastkapazit=E4t von nur 11pF. Dazu addieren sich allerdings die Schaltkapazit=E4ten (IC-Pins, eventuell Sockel, Leiterbahnen und Quarzsockel/geh=E4use). Wenn wir die mal einfach so mit
10pF ansetzen, dann bist du wieder etwa bei 20pF. Um auf eine Lastkapazit=E4t von 32pF zu kommen, m=FCsstest du also zwei 47pF Kondensatoren nehmen. Das wird aber garantiert nicht mehr sicher anschwingen. Also: Cl=3D32pF ist definitiv zu hoch. =DCblicherweise haben Quarze heutzutage 10 oder 12pF, eventuell bis 16pF. Mehr ist ungut.
Wenn es dir aber nicht auf h=F6chste Pr=E4zision ankommt, dann nimm halt mal 18pF bis 22pF. Die Frequenz wird dann etwas h=F6her als spezifiziert sein.
Wenn der Oszillator trotzdem nicht sauber schwingt, dann kann es nur noch am Aufbau liegen. Der Quarz mu=DF ganz dicht bei den Pins und bei den Kondensatoren liegen und die Verbindungsleitungen m=FCssen so kurz wie m=F6glich sein. Dann schwingt so ein Oszillator eigentlich sehr sicher an und ist auch stabil. Bitte auch keine anderen St=F6renfriede in die N=E4he des Oszillators legen. Das Quarzgeh=E4use kannst du auch auf Masse legen, wenn es gegen Ber=FChrung empfindlich ist. Das ist aber normalerweise nicht n=F6tig.
Das "Standardwerk" =FCber Quarze findest du =FCbrigens in deutscher Sprache unter
jetzt sehe ich gerade, da=DF diese Frage in verschiedenen Groups gestellt wurde und hier schon ausf=FChrlich beantwortet wurde. Sorry falls ich da Antworten wiederholt habe...
ich freu mich trotzdem über Deine ausführliche und sehr verständliche Erklärung.
Recht herzlichen Dank dafür, ChL
PS: Das Problem hat sich ja mittlerweile dahingehend verlagert, daß an den Störungen mein Programmer mit einem 74HC125 schuld ist. Dazu weis offenbar auch niemand eine Erklärung. Morgen bekomm ich nen 74HC244, mit dem das Ganze hoffentlich besser klappt.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.