Forum: Mikrocontroller und Digitale Elektronik Genauigkeit interner Oszillator


von Mario (Gast)


Lesenswert?

Die internen Oszillatoren der AVRs sind ja recht ungenau (+-10%)
Daher meine Frage: Gibt es MCs anderer Hersteller die ab Werk genauer 
spezifiziert sind? Wer hat den "besten" internen Oszillator?

von Falk B. (falk)


Lesenswert?

Es gibt einige mit bis zu 1% und knapp drunter, PICs, MSP430, C2000, 
diverse ARM etc. Das ist aber immer eine Frage der Kalibrierung. Auch 
AVRs kann man auf 1% genau kalibrieren. Bleibt dann noch die Frage, wie 
temperaturstabil sie dann sind.

von De L. (Gast)


Lesenswert?

Falk B. schrieb:
> Es gibt einige mit bis zu 1%...

Kann der AVR bei fixer Spannung und Temperatur anscheinend - Datasheet 
Atmega8:
1
During reset, hardware loads the 1MHz calibration byte into the OSCCAL Register and thereby automatically calibrates the RC Oscillator. At 5V, 25C and 1.0MHz Oscillator frequency selected, this calibration gives a frequency within ±3% of the nominal frequency.
2
Using run-time calibration methods as described in application notes available at www.atmel.com/avr it is possible to achieve ±1% accuracy at any given VCC and Temperature.

von 6a66 (Gast)


Lesenswert?

Falk B. schrieb:
> Das ist aber immer eine Frage der Kalibrierung. Auch
> AVRs kann man auf 1% genau kalibrieren.

Wenn ich mich recht entsinne konnte man bei den STM-ARMs nochmal in SW 
nachjustieren, die waren aber auch schon von Haus aus recht gut.

rgds

von Mario (Gast)


Lesenswert?

Interessant wäre halt ohne nachträgliche Kalibrierung und über ihren 
gesamten spezifizierten Temperaturbereich. Wer betreibt seine MCs schon 
immer bei derselben Temperatur und  oder hat eine genaue Taktquelle  
Datenstrom / was auch immer in der Nähe, um den Oszillator laufend zu 
kalibrieren?

von Falk B. (falk)


Lesenswert?

Naja, andere, deutlich moderner Controller erreichen auch 1% ohne 
zusätzliche Runtime calibration. Im ATXmega z.B. haben die 
RC-Oszillatoren +/- 1,5%, es gibt aber auch bessere Controller.

von Hp M. (nachtmix)


Lesenswert?

Falk B. schrieb:
> Im ATXmega z.B. haben die
> RC-Oszillatoren +/- 1,5%, es gibt aber auch bessere Controller.

Trotzdem reicht diese Toleranz von 1 Minute pro Stunde gerade für eine 
Eieruhr.
Wer solche oder bessere Genauigkeiten braucht, der sollte besser zum 
Quarzoszillator greifen.

von Purzel H. (hacky)


Lesenswert?

Ich hab mal eine prozedur geschrieben, mit der man einen AVR mit RC mit 
dem angehaengen 32kHz Quarz kalibrieren kann. Das Osccal Register wird 
zur Laufzeit beschrieben.

von Thomas E. (thomase)


Lesenswert?


von Axel S. (a-za-z0-9)


Lesenswert?

Mario schrieb:
> Interessant wäre halt ohne nachträgliche Kalibrierung und über ihren
> gesamten spezifizierten Temperaturbereich. Wer betreibt seine MCs schon
> immer bei derselben Temperatur und  oder hat eine genaue Taktquelle
> Datenstrom / was auch immer in der Nähe, um den Oszillator laufend zu
> kalibrieren?

Das ist die falsche Frage. Die richtige Frage wäre IMHO: wer betreibt 
schon einen µC über einen großen Temperaturbereich und mit der 
Anforderung eines kalibrierfreien genauen Takts und verwendet dann 
keinen Quarz oder wenigstens Keramikresonator?

Gerade die Resonatoren sind klein und billig. Auf jeden Fall billiger 
als ein genauer spezifizierter und werkseitig kalibrierter µC. Denn eins 
sollte auch dir klar sein: wenn ein µC schon im Auslieferungszustand 
einen genauen internen RC-Oszillator hat, dann nur deshalb, weil er 
werkseitig bereits kalibriert wurde. Diesen Service gibts nicht umsonst.

von WehOhWeh (Gast)


Lesenswert?

Kommt drauf an, wofür.

Für vieles reichen 10% ja aus, und oft hat man eh eine RTCC für das 
Timing.

USB ist ein häufiger Grund, das ginge inzwischen ohne Quarz:
Beispiele: STM32F072.. PIC24FJ128GC006

Das wird erreicht, indem aus dem  USB-Signal der Takt zurückgewonnen und 
der interne Takt nachgeführt wird. Das ist im Endeffekt so genau wie der 
Host halt auch.
Man kann zum Nachführen auch den Uhrenquarz verwenden (falls vorhanden).

Für eine UART reichen 1% aus, auch das schaffen einige µCs über den 
ganzen Temperaturbereich. Leider nur sehr wenige.

Vielleicht gibts ja irgendwann µCs mit MEMS-Oszillator auf dem Chip, 
dann wäre das Vergangenheit.

PS:
Warum sollte man eigentlich einen Quarzoszillator nehmen? Der Oszillator 
ist in jedem µC schon drin. Der Vorteil leuchtet mir nicht ein, wo ein 
simpler Quarz gleich genau aber billiger ist.

von Bastler (Gast)


Lesenswert?

Silabs hat recht gute interne Oszillatoren (glaube +/+ 0,5%).

Ich nutze aktuell einen STM8, der interne Oszillator hat bei 
Raumtemperatur auch nur +/- 1% max. Also bei Versuchen auf dem 
Schreibtisch ganz o.k.

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.