Hi Leute, auch ich bin neu in der Welt des uC Programmierens. Ich besitze das Starterkit aus dem AVR Tutorial (bitte keine Diskussion über Sinn oder Unsinn des Boards): http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108 Der Atmega8 wird werksmäßig mit einem internen Oszillator ausgeliefert (1 MHz). Auf dem Board ist jedoch auch ein externer 8 MHz Quarz mitgeliefert. Meine Frage: Welchen Vor- oder Nachteil habe ich bei den jeweiligen Oszillatoren? Im Prinzip gibt der Oszillator ja den Takt für den uC vor. Je höher die Freuqenz, umso mehr Befehle werden pro Sekunde abgearbeitet. Also wären ja die 8 MHz theoretisch klüger. Aber reichen nicht auch die 1 MHz vom internen Oszillator für Standardanwendungen wie LEDs, LCD Display, Temperaturmessung, Potentiometer etc.? Vielen Dank und freundliche Grüße al3ko
al3ko schrieb: > Im Prinzip gibt der Oszillator ja den Takt für den uC vor. Je höher die > Freuqenz, umso mehr Befehle werden pro Sekunde abgearbeitet. Also wären > ja die 8 MHz theoretisch klüger. Wenn man es so sieht. Die Kehrseite der Medaille: Je höher die Taktfrequenz, desto mehr Strom braucht auch der µC. Keine Angst, das sind jetzt nicht die großen Welten. Aber wenn man tragbare, portable Geräte bauen will, die mit Batterien möglichst lange laufen sollen, ist das ein Argument. > Aber reichen nicht auch die 1 MHz vom internen Oszillator für > Standardanwendungen wie LEDs, LCD Display, Temperaturmessung, > Potentiometer etc.? Von der Leistungsfähigkeit her: locker. Kritisch wird es nur bei Dingen, die ein einigermassen genaues Timing brauchen, wie zb Kommunikationsdinge (zb UART)
Der interne Iszillator ist ziemlich ungenau. Ich glaube +-10% (in der
>Größenordnung)
Wenn du jetzt z.b. ein Thermometer mit LCD Anzeige bastelst ist das
ziemlich egal. Ob die Temperatur jetzt alle 0.9 oder 1.1 Sekunden
gemessen wird (als Beispiel)
Eine Uhr kannst du so natürlich nicht bauen ;) Da brauchst du deinen
Quarz. Dieser ist ausreichend genau, dass die Uhr nur einmal im Jahr
stellen musst.
>Der interne Oszillator ist ziemlich ungenau. Ich glaube +-10%
calibriert aber +-1%.
ausserdem werden auch die immer genauer.
Hallo Karl Heinz Buchegger, Hallo Eumel, vielen Dank für eure beiden Beiträge. Ich belasse es zunächst bei dem 1 MHz Oszillator :) Schöne Grüße, al3ko
Hi Du kannst übrigens auch den internen Oszillator auf 2, 4 oder 8 MHz umstellen. MfG Spess
spess53 schrieb: > Hi > > Du kannst übrigens auch den internen Oszillator auf 2, 4 oder 8 MHz > umstellen. > > MfG Spess Was den internen aber auch nicht genauer macht. Jedoch gibts ja auch das Calibration Register, mit den man den interen schon ziemlich genau einstellen kann. Damit kann ich den internen mit CKDIV8 (also 1MHz) und Timerinterrupt (alle 1ms) etwa 5 Minuten "zählen" mit max. 1s Abweichung. Muss man halt für jeden µC neu ausmessen. Und der intere Oszi ist eben auch temperatur.- und spannungsabhängiger als ein Externer. Wenn es in Richtung UART/USB etc. geht ist ein externer Quarz definitiv sinnvoll, ansonsten tut es auch der interne (damit arbeite ich viel wenn möglich da es eben auch einiges an externer Beschaltung spart). Beim ATxmega habe ich übrigens die Erfahrung gemacht, dass selbst der interne ziemlich genau arbeitet.
Hi
>Was den internen aber auch nicht genauer macht.
Habe ich ja auch nicht behauptet. Das hatte schon Karl-Heinz ausgeführt.
Also musste es nicht noch einmal wiederholt werden.
MfG Spess
Die Frage ist weshalb ist ein schneller Controller besser wie ein langsamer ? Dazu sollte man genauer anschauen, was der Controller denn macht, resp nicht macht. Wenn der Controller 99% der Zeit beschaeftigt ist hat man etwas falsch gemacht, hat keine Reserve mehr. Wenn man es also richtig gemacht hat, dann wartet der Controller eh die meiste Zeit auf irgendwas. Die entscheidene Frage ist wie lange dauert es bis er die entscheidenen Dinge gemacht hat. Kann er die fristgerecht erledigen oder eben nicht. Ein 8x2 LCD muss man nicht 1000 mal pro sekunde updaten, das sieht niemand. Ich schreib ueblicherweise mit einem Timer alle 10ms einen Character auf so ein LCD. Das ganze Display ist dann alle 160ms neu geschrieben, dh 6 mal pro sekunde. Und ploetzlich genuegen auch 1MHz Clock oder so.
ALLLLLLLLLS NICHT WIEEEEEEEEEEE Ich krieg ja schon nen Anfall wenn Menschen so sprechen. Aber geschrieben sieht das einfach noch dämlicher aus.
Eumel schrieb: > ALLLLLLLLLS > NICHT WIEEEEEEEEEEE Ja du bist der einzigste der sich darüber aufregt. ^ argh!
Eumel schrieb: > Da brauchst du deinen > Quarz. Dieser ist ausreichend genau, dass die Uhr nur einmal im Jahr > stellen musst. Eumel schrieb: > Dieser ist ausreichend genau, dass die Uhr nur einmal im Jahr > stellen musst. So ganz von selbst auch nicht, ich habe bei Uhrenfunktionen immer den Quarz zusätzlich mit einem Präzisionszähler abgeglichen - sonst sind die Abweichungen viel grösser als 1min/Jahr. Wenn man tatsächlich eine genaue Frequenz braucht, hat ein externer Oszillator jedenfalls den Vorteil, dass er so genau ist wie ihn der Hersteller spezifiziert hat. Ist es ein TCXO, also ein temperaturkompensierter Oszillator, ist er genauer als man das selbst mit internen Oszillatoren oder direkt angeschlossenen Quarzen erreichen kann. Gruss Reinhard
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.