Quarz oder Quarzoszillator für 32 MHz?

OP #6397576
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
OP #6398173
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?
#6398187
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.
Gast #6398199
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.
OP #6398321
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.
(Firma: Schweigstill IT) Persönliche Seite #6398349
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.
Gast #6398366
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.
(Firma: Schweigstill IT) Persönliche Seite #6398776
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.
#6398950
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.
OP #6399328
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
#6399341
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.

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