Forum: Mikrocontroller und Digitale Elektronik Frequenzabweichung der internen Clocks eines uCs


von Bene (Gast)


Lesenswert?

Hallo,

lässt sich die Frequenzabweichung (Stabilität und Drift) der internen 
Clocks (z.B. auch interne PLL) oder auch nach außen geführte Clocks 
(I2C, SPI, PWM etc.) immer auf den angeschlossenen Quartz zurückführen? 
Also wenn z.B. die PLL Ausgangsfrequenz oder der I2C Clock mit 30ppm 
driftet, das nur von dem Quartz kommt? Oder gibt es noch andere 
Mikrocontroller abhängige Faktoren?

Vielen Dank im Voraus.
Bene

von c-hater (Gast)


Lesenswert?

Bene schrieb:

> lässt sich die Frequenzabweichung (Stabilität und Drift) der internen
> Clocks (z.B. auch interne PLL) oder auch nach außen geführte Clocks
> (I2C, SPI, PWM etc.) immer auf den angeschlossenen Quartz zurückführen?

Nö. Natürlich nur dann, wenn überhaupt einer angeschlossen ist und der 
dann auch tatsächlich als Taktquelle verwendet wird.

von Wolfgang (Gast)


Lesenswert?

Bene schrieb:
> Oder gibt es noch andere Mikrocontroller abhängige Faktoren?

Ein PLL hat mit der Frequenz oder deren Drift nun wirklich nichts zu 
tun. Die tut genau das, was ihr der reingefütterte Takt vorschreibt.

> Oder gibt es noch andere Mikrocontroller abhängige Faktoren?
Dazu guckst du am besten mal ins Blockschaltbild des Mikrocontrollers. 
Alles hinter dem Ausgang des Oszillators hat keinen direkten Einfluss, 
es sei denn, du meinst Einflüsse wie Temperatur o.ä.
Bei einem TCXO als Taktgebner lässt sich zur Temperaturkompensation 
allerdings der Oszillator verstellen, so dass durch die Veränderung der 
Schwingbedingung einer Temperaturdrift entgegen gewirkt werden kann.

von Frank K. (fchk)


Lesenswert?

Bene schrieb:

> lässt sich die Frequenzabweichung (Stabilität und Drift) der internen
> Clocks (z.B. auch interne PLL) oder auch nach außen geführte Clocks
> (I2C, SPI, PWM etc.) immer auf den angeschlossenen Quartz zurückführen?

Ja. Wenn Du Taktsignale durch Multiplikation und Division aus einem 
Mastertakt erzeugst und die Faktoren konstant bleiben, dann können 
Schwankungen im Ausgangssignal nur vom Eingangssignal kommen.

In der Theorie gäbe es da noch andere Möglichkeiten: Die Geschwindigkeit 
von digitalen Schaltungen wird auch von der Temperatur und der 
Versorgungsspannung beeinflusst. Das könnte dazu führen, dass die 
Phasenlage von Ausgangstakten relativ zum Mastertakt schwankt, aber die 
Frequenz an sich sollte sich nicht ändern.

Zeitgeber für den Mastertakt kann nicht nur ein Quarz sein, sondern auch 
ein MEMS-Oszillator, ein keramischer Resonator oder ein RC-Glied. Die 
letzten beiden sind im Gegensatz zu Quarz und MEMS deutlich 
temperaturabhängiger.

Hast Du ein konkretes Problem?

fchk

von Drifter (Gast)


Lesenswert?

Die Frequenzabweichung (Stabilität und Drift) kommt immer
von der jeweils WIRKSAMEN Taktfrequenz.

Nutzt man den internen RC-Oszillator, ist sein Verhalten
(Grenzen siehe Datenblatt des µC) maßgeblich.

Nutzt man einen externen Oszillator an CLKI, ist dessen Verhalten
maßgeblich. (Grenzen siehe Datenblatt des Oszillators)

Nutzt man einen externen Quarz an XTAL1 / XTAL2 ist das
Gesamtbild aus Quarz und Oszillatorschaltung des µC maßgeblich.
Erfahrungsgemäß lassen sich wenige 10 ppm Drift über einen
Temperaturbereich von z.B. 10...40° C erreichen.

Die NUTZUNG einer Taktquelle erfordert natürlich das
entsprechende Programmieren der zugehörigen Fuse-Bits.

Ausgenommen davon sind bei AVRs z.B. Zeiten beim EEPROM-
Zugriff, oder Watchdog-Timings, die immer aus einem internen
RC-Oszillator gebildet werden.

von Bene (Gast)


Lesenswert?

c-hater schrieb:
> Bene schrieb:
>
> lässt sich die Frequenzabweichung (Stabilität und Drift) der internen
> Clocks (z.B. auch interne PLL) oder auch nach außen geführte Clocks
> (I2C, SPI, PWM etc.) immer auf den angeschlossenen Quartz zurückführen?
>
> Nö. Natürlich nur dann, wenn überhaupt einer angeschlossen ist und der
> dann auch tatsächlich als Taktquelle verwendet wird.

Ganz so ahnungslos bin ich dann nun auch wieder nicht.

Eure Antworten haben mir aber schon weitergeholfen.

Frank K. schrieb:
>
> Hast Du ein konkretes Problem?
>

Zwei größere MEMS Mikrofon Arrays sind geplant, die durch zwei uCs 
ausgelesen werden. Beide Mikrocontroller sollen zunächst einmal nicht 
synchronisiert werden. Zumindest soll jeder seinen eigenen Takt erzeugen 
und den der Mikrofone. Beide sollen jedoch durch ein Triggersignal ca 20 
Sekunden Daten erfassen. Ich möchte zuerst einmal den möglichen Fehler 
bzgl. Abweichung der Abtastfrequenz ermitteln, hinsichtlich 
Frequenzstabilität und Drift.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

die größtmögliche Abweichung beträgt exakt eine Periodendauer. Diese 
hängt vom I/O Porttakt ab. Bsp. normaler ATmega durchgehend getakteten 
mit 20MHz wären das 50ns.

Wenn du beide µC mit gemeinsamen Reset versiehst, laufen sie 
zumindestens zur gleichen Zeit los, was den möglichen Taktdrift über die 
Messzeit verringert. Mehrfach gemessen und für konstant befunden kannste 
den Fehler vielleicht sogar am Ende rausrechnen.

von Pandur S. (jetztnicht)


Lesenswert?

Die Quarze sind doch spezifiziert. Ein normaler Billig Quarz fuer 20 
cents macht etwa 100ppm/K. Ein Uhrenquarz ist etwas besser und macht 
10ppm/K.
Wenn etwas synchron sein soll, sollte man dieselbe Quelle verwenden.

Alternativ kann man auch den internen RC verwenden und mehrere solcher 
Systeme auf eine gemeinsame Quelle synchronisieren.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Bei einer Vervielfachung des Taktes mittel PLL sollte man bedenken, dass 
die Taktflanken jittern, was durchaus einige Funktionen beeinträchtigen 
kann (z.B. Signalerzeugung und Zeitmessung mittels Timer). Wobei auch 
Quarzoszillatoren nicht ganz jitterfrei sind.

https://de.wikipedia.org/wiki/Jitter

von Pandur S. (jetztnicht)


Lesenswert?

Ja, das Phasenrauschen, welches einen direkten Bezug zum Jitter hat, 
nimmt bei einer Verzehnfachung der Frequenz um 10dB zu. Aendert die 
frequenz aber nicht.

von Loga Rithmira (Gast)


Lesenswert?

Joggel E. schrieb:
> nimmt bei einer Verzehnfachung der Frequenz um 10dB zu.

Nein, um 20dB.

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.