Forum: Mikrocontroller und Digitale Elektronik Quarz oder Quarzoszillator für 32 MHz?


von Kibo (kibox)


Lesenswert?

Hallo Forum,

mein neuestes Projekt dreht sich um den STM32WB55, aber die Frage, die 
ich habe, ist relativ allgemein:

Für die Kommunikation via Bluetooth wird ein 32 MHz Takt mit einer 
Genauigkeit von +- 50 ppm gefordert. Der uC hat eine interne 
Beschaltung, mit der der Takt eines externen Quarzes kalibriert werden 
kann. Hierzu benötigt man allerdings eine zusätzliche hochpräzise 
Vergleichsquelle mit 32 MHz und ein präzises Oszilloskop, das die 
Signale messen kann.

So viel zum Hintergrund.

Meine Anforderungen sind:
-32 MHz mit +- 50 ppm Genauigkeit
-stabil über einen großen Temperaturbereich (soll im Sommer und Winter 
draußen verwendet werden)
-geringer Stromverbrauch (Batteriebetrieb)

Im Moment sieht meine Liste so aus:
Quarz:
pro:
-geringerer Stromverbrauch?
-geringerer Preis (bei meinen Stückzahlen unwichtig)

contra:
-muss aufwendig kalibriert werden (mir sind die Geräte zu teuer)
-trotz Kalibrierung nicht unbedingt temperaturstabil?

Quarzoszillator:
pro:
-muss nicht kalibriert werden
-temperaturstabil

contra:
-hoher Stromverbrauch (mind. 5 mA, soweit ich gesehen habe)
-lange Anschwingzeit

Ich bin mir nicht sicher, wie viel Strom tatsächlich ein Quarz 
verbraucht und wie temperaturstabil dieser nach der Kalibrierung ist. 
Wie ist denn die "gängige" Praxis? Haben z.B. Smartphones einen Quarz 
oder Quarzoszillator? Mir fehlen leider die Erfahrungswerte.

Wie handhabt ihr so etwas?

Liebe Grüße

von Witzbold (Gast)


Lesenswert?

Kannst du dir die nicht von deinem Controller ausgaben lassen?
Beim STM32 z.B. per MCO. Die laufen doch regelmaessig mit
Vielfachen von 8 MHz.

von Gerald K. (geku)


Lesenswert?

René W. schrieb:
> 32 MHz mit +- 50 ppm Genauigkeit

Es gibt einen fertigen Modul mit 32 MHz und doppelte Genauigkeit um € 
1,35:

https://www.conrad.at/de/p/tft680-32-mhz-quarzoszillator-dip-14-cmos-32-000-mhz-20-7-mm-13-1-mm-5-3-mm-1-st-158186.html

von hinz (Gast)


Lesenswert?

René W. schrieb:
> -stabil über einen großen Temperaturbereich (soll im Sommer und Winter
> draußen verwendet werden)

Ziehe einen TCXO in Betracht, die sind mittlerweile nicht mehr teuer.

https://www.tme.eu/de/katalog/?s_field=1000011&s_order=desc&search=tcxo&visible_params=2%2C149%2C120%2C32%2C144%2C146%2C42%2C10%2C147%2C150&mapped_params=144%3A1437774%3B

von Kibo (kibox)


Lesenswert?

Witzbold schrieb:
> Kannst du dir die nicht von deinem Controller ausgaben lassen?
> Beim STM32 z.B. per MCO. Die laufen doch regelmaessig mit
> Vielfachen von 8 MHz.

Ja, ich kann über MCO den Systemtakt ausgeben lassen. Hilft mir aber 
immer noch nicht, da ich dann noch ein gutes Oszilloskop brauche zum 
Kalibrieren.

Gerald K. schrieb:
> Es gibt einen fertigen Modul mit 32 MHz und doppelte Genauigkeit um €
> 1,35:

Der verbraucht dann aber > 35 mA und ist daher nicht für den 
Batteriebetrieb geeignet.

hinz schrieb:
> Ziehe einen TCXO in Betracht, die sind mittlerweile nicht mehr teuer.
>
> 
https://www.tme.eu/de/katalog/?s_field=1000011&s_order=desc&search=tcxo&visible_params=2%2C149%2C120%2C32%2C144%2C146%2C42%2C10%2C147%2C150&mapped_params=144%3A1437774%3B

Danke! Supply current 1,5 mA max - loving it. Du meinst also auch, dass 
man bei starken Temperaturschwankungen lieber auf einen Oszillator 
setzen sollte?

von Peter D. (peda)


Lesenswert?

René W. schrieb:
> Du meinst also auch, dass
> man bei starken Temperaturschwankungen lieber auf einen Oszillator
> setzen sollte?

Als ich mit MCs (AT89C51) angefangen habe, liefen die mit Quarz völlig 
problemlos. Ältere AVRs konnte man noch auf full swing fusen, damit sie 
stabil schwingen. Neuere AVRs laufen aber nur noch in low power und wir 
hatten Ausfälle. Daher nehme ich jetzt Oszillatoren.

von hinz (Gast)


Lesenswert?

René W. schrieb:
> Du meinst also auch, dass
> man bei starken Temperaturschwankungen lieber auf einen Oszillator
> setzen sollte?

Ich bin kein Blauzahnexperte, aber ich hatte schon mal genau dieses 
Problem. Blauzahn fiel immer wieder aus, und es war schnell klar, dass 
es an morgendlicher Kälte lag. Abgleich mittels Trimmkondensator brachte 
keine Besserung, verschob das Problem nur in einen anderen 
Temperaturbereich. Ersatz des Quarzes durch einen TCXO hat für Ruhe 
gesorgt.

von georg (Gast)


Lesenswert?

René W. schrieb:
> -trotz Kalibrierung nicht unbedingt temperaturstabil?

Auf die Temperaturabhängigkeit hat die Kalibrierung überhaupt keinen 
Einfluss, das ist nur eine Verschiebung und somit auch nur bei einer 
bestimmten Temperatur korrekt.

Georg

von H.Joachim S. (crazyhorse)


Lesenswert?

hinz schrieb:
> aber ich hatte schon mal genau dieses
> Problem.

Ich auch. Hatte nach Ausfall der 433MHz-Empfänger auf BT umgerüstet um 
Markise, Verschattung und Ventilator zu steuern. Im Sommer sinds dann 
schnell mal 40° im Wintergarten -> nichts geht mehr.
Reumütig zurückgebaut.

von Kibo (kibox)


Lesenswert?

Ok, danke, genau das hat mich interessiert.

Der STM32WB55 hat einen integrierten Temperatursensor mit dem man die 
Temperatur messen und den Quarz entsprechend "on the fly" kalibrieren 
könnte. Aber ich schätze mal, dass die Version mit einem Quarzoszillator 
die deutlich stabilere und zuverlässigere ist.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

René W. schrieb:
> Danke! Supply current 1,5 mA max - loving it. Du meinst also auch, dass
> man bei starken Temperaturschwankungen lieber auf einen Oszillator
> setzen sollte?

Ganz genau so ist es. Der Hersteller eines Quarzoszillators macht den 
ganzen Tag lang nichts anderes als genau das Zusammenspiel von Quarz und 
Oszillatorschaltung zu optimieren. Er kennt das Temperaturverhalten 
beider Einzelteile und hat auch die entsprechenden Messmittel.

Kauft man die Teile separat, kann der Quarzhersteller nur Mutmaßungen 
über die spätere Oszillatorschaltung anstellen. Gleiches gilt für den 
Hersteller der Oszillatorschaltung. Wie Du schon richtig erkannt hast, 
kann man zwar bei einigen Microcontrollern zwar per Software 
nachjustieren, aber dafür benötigt man eben die besagten Messmittel. So 
etwas lohnt heutzutage nur noch bei entsprechend großen Stückzahlen (> 
100.000 Geräte).

Früher(tm) war ja schon ein TCXO wesentlich teurer als ein normaler 
Quarz oder Quarzoszillator, aber der Preisunterschied hat sich doch 
drastisch reduziert. Während früher etliche aufwändige Schaltungskniffe 
für die Temperaturkompensation erforderlich waren, ähnelt die Schaltung 
heutzutage der eines einfachen Microcontroller: Temperatursensor, ADC, 
EEPROM, etwas Logik oder ein kleiner Microcontrollerkern. Und alles 
zusammen auf einem fliegenschissgroßen Stück Silizium statt einer teuren 
Hybridschaltung. Bei manchen modernen MEMS-Oszillatoren geht die 
Integration sogar noch weiter; dann ist nicht einmal ein separater 
Quarzkristall mit Haltedrähten usw. erforderlich, sondern der Resonator 
ist auch in denselben Chip geätzt.

von Soul E. (Gast)


Lesenswert?

Andreas S. schrieb:

> Kauft man die Teile separat, kann der Quarzhersteller nur Mutmaßungen
> über die spätere Oszillatorschaltung anstellen. Gleiches gilt für den
> Hersteller der Oszillatorschaltung.

Bei größeren Stückzahlen schickt man dem Quarzhersteller die 
Leiterplatte mit dem Serienlayout und dem Mikrocontroller, und der passt 
dann Quarzschliff, Peripheriebeschaltung und Fusebits des Controllers so 
an, dass sich die optimalen Bedingungen ergeben.

Bzgl der Fusebits muss man meist mithelfen. Eine Spezial-SW erstellen, 
wo der Quarzhersteller die in Frage kommenden Bits über Jumper oder 
ähnliches auswählen kann.

BTW: nur weil im Datenblatt des Controllers für bestimmte 
Frequenzbereiche bestimmte Konfigurationen (fuse bits) empfohlen werden 
heisst das nicht dass die auch tatsächlich für den verwendeten Quarz und 
das verwendete Layout das Optimum darstellen. Maßgeblich ist die Vorgabe 
des Quarzherstellers.

von Kibo (kibox)


Lesenswert?

Danke für die sehr interessanten Einblicke!

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Oh, noch ein weiterer Aspekt: im Vergleich zu den heutigen winzigen 
Gehäusen für manch einen Microcontroller sind viele Quarzgehäuse schon 
riesig. Um eine störungsarme Anbindung des Quarzes zu erreichen, muss er 
aber samt seiner Lastkondensatoren und ggf. eines Serienwiderstandes in 
unmittelbarer Nähe der entsprechenden Pins platziert werden. Das steht 
wiederum im Widerspruch zu der Vielzahl anderer Leiterbahnen, die vom 
Microcontroller ausgehen. Einen separaten Oszillator kann man jedoch 
ggf. etliche Zentimeter entfernt auf die Leiterplatte werfen. Ggf. 
versieht man seinen Ausgang mit einem Serienwiderstand zur 
Impedanzanpassung.

von Ben S. (bensch123)


Lesenswert?

Ich habe auch ein Projekt mit einem STM32WB55CEU6. Dort habe ich auch 
Bluetooth ausgeführt, aber noch nicht bestückt. Ich habe von der 
Beschaltung mich an das entsprechende NucleoBoard gehalten und auch den 
dort verwendeten Quarz benutzt. Der µC braucht keine externen 
Kondensatoren für den 32MHz Quarz.

Daher beobachte ich dieses Thema mal. Ich gehe davon aus, dass du dich 
eher auf das Routing deiner Antenne konzentrieren solltest, hier musst 
du die Auswahl der Bauteile genau ermitteln. Ich bin mal gespannt.

: Bearbeitet durch User
von Kibo (kibox)


Lesenswert?

Ben S. schrieb:
> Ich habe von der
> Beschaltung mich an das entsprechende NucleoBoard gehalten

Soweit ich es verstanden habe wirst du es aber nicht vermeiden können 
den Takt zu kalibrieren (wegen Bauteiltoleranzen etc.). Die Nucleo 
Boards wurden schon vermessen und der entsprechende Kalibrierungsfaktor 
wurde im uC gespeichert. Kannst ja gerne dann mal berichten wie du 
vorankommst.

Ben S. schrieb:
> Ich gehe davon aus, dass du dich
> eher auf das Routing deiner Antenne konzentrieren solltest

Alles zu seiner Zeit

von Ben S. (bensch123)


Lesenswert?

René W. schrieb:
> Soweit ich es verstanden habe wirst du es aber nicht vermeiden können
> den Takt zu kalibrieren (wegen Bauteiltoleranzen etc.).

Wenn das so ist, dann muss ich das aber nur einmal machen - nämlich 
Boardspezifisch, es sei denn ich habe unglaubeloche Toleranzen bei den 
Bauteilen. Deswegen nimmt man einen Quarz mit weniger als 20ppm. Aber 
wie das häufig so ist gehe ich davon aus, dass das auch ohne 
höchstgenaue Kalibrierung relativ gut auf Anhieb funktionieren wird.

Vor allem muss man zur Quarzkalibirierung nichts umlöten. Führe einfach 
ein Testpad von MCO nach aussen. Anschließend gibts du dort den HSE / 16 
nach aussen, das wären 2MHz. Damit sollte man relativ gut arbeiten 
können und den auch fix auf ungefähr genaue 2MHz eingestellt haben.

: Bearbeitet durch User
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.