Interner vs. externer Oszillator

Gast #2497144
Lesenswert?

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
#2497151
Lesenswert?

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)
Gast #2497161
Lesenswert?

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.
#2497264
Lesenswert?

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.
#2497317
Lesenswert?

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.
Gast #2497939
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren