Forum: Mikrocontroller und Digitale Elektronik Hilfe bei der Auswahl des richtigen Quarzes


von Matthias F. (frank91)


Lesenswert?

Hallo alle zusammen :P

Für mein aktuelles Projekt (STM32F4) benötige ich an meinem Controller 
einen 25 Mhz Quarz. Allerdings habe ich hier Probleme bei der Auswahl.

Ich habe von STM ein Entwicklungsboard. Auf diesem Board befindet sich 
ein 25Mhz Quarz mit einer Frequenztoleranz von +-20ppm und 
Frequenzstabilität von +-30ppm.

Benötige ich bei meinem Projekt dieselbe Genauigkeit? USB und Can sind 
ja schließlich Asynchrone Schnittstellen. Somit darf die Frequenz nicht 
stark abweichen.

Ich finde allerdings kaum Quarze mit dieser Genauigkeit. Oft sind nur 
noch wenige Verfügbar oder die Mindestbestellmenge ist ziemlich hoch.
Kennt hier vielleicht jemand einen passenden Quarz?

Ich habe auch schon über die Verwendung eines Quarzoscillators 
nachgedacht. Allerdings finde ich hier nichts unter 1,5€.

Außerdem bin ich mir unsicher welche Bauform geeignet ist.
Im Endeffekt reicht mir HC49 als SMD.
Im Internet habe ich allerdings oft davon gelesen, dass Quarze immer 
mehr in die SMD Richtung mit 4 Pads gehen. Allerdings muss man dann 
wieder irgendwie auf den ESR achten, da dieser bei diesen Bauformen 
doppelt so groß wäre.

von TK (Gast)


Lesenswert?

Ich sezte bei meinen STM32F1xx Projekten immer den "25,0000-HC49U-S" von 
Reichelt ein. Bis jetzt noch nie Probleme mit ETH oder USB gehabt.

Gruß
TK

von Gästchen (Gast)


Lesenswert?

Von ST gibts eine Appnote zum Thema, die lohnt sich:
http://www.st.com/content/ccc/resource/technical/document/application_note/c6/eb/5e/11/e3/69/43/eb/CD00221665.pdf/files/CD00221665.pdf/jcr:content/translations/en.CD00221665.pdf

Relevant ist:
- ESR muss passen
- Lastkapazität muss passen
- Obs ein Grundton / Oberton ist muss auch passen.

Such einen normalen Grundtonquarz mit 25MHz mit z.B. 18p heraus und kuck 
in die Appnote, ob er sicher schwingt.

Üblicherweise sind die STM32 gutmütig, hatte noch keinen, der seinen 
Quarz nicht brav auf Anhieb gefressen hat. Nur die Frequenz musste ich 
manchmal etwas hinziehen, aber das ist normal. Wenn dich 200ppm daneben 
nicht stören, ist nicht mal das nötig.

von Matthias F. (frank91)


Lesenswert?

Danke schonmal für die vielen Guten antworten :P

Ich habe mir die Appnote angesehen, habe allerdings noch hierzu ein paar 
Fragen zu dem ESR.

Angenommen ich entscheide mich für den "25,000000-MQ" von Reichelt.
Dieser hat:
Last und Temperaturkoeffizent von +-30ppm.
ESR = 40Ohm
C0 = 5pf.
CL = 12pf.

Laut der Appnote (S.13-14) muss ich ja jetzt  g mcrit ausrechnen.
Mit der Formel in der Appnote komme ich auf:
4 x 40Ohm x (2x pie x 25Mhz)^2 x (12pF + 5pF)^2
= 1,1 mA/V

Im Datasheet des Controller steht allerdings:
Gm_crit_max = 1mA/V.

Dann könnte ich diesen Quarz also gar nicht verwenden??

Was genau muss ich bei Grundton / Oberton beachten??

von Jim M. (turboj)


Lesenswert?

Matthias F. schrieb:
> Was genau muss ich bei Grundton / Oberton beachten??

Oberton geht nicht, bzw. würde beim Grundton schwingen. Also nicht 
verwenden.

Matthias F. schrieb:
> Laut der Appnote (S.13-14) muss ich ja jetzt  g mcrit ausrechnen.
> Mit der Formel in der Appnote komme ich auf:
> 4 x 40Ohm x (2x pie x 25Mhz)^2 x (12pF + 5pF)^2
> = 1,1 mA/V
>
> Im Datasheet des Controller steht allerdings:
> Gm_crit_max = 1mA/V.
>
> Dann könnte ich diesen Quarz also gar nicht verwenden??

So siehts aus, wenn die Rechnung stimmt.

STM32F4 hat aber eine PLL, daher würde ich da einen langsameren Quarz 
<=20MHz einsetzen. Damit wären Parameter wie ESR und CL lange nicht so 
kritisch wie bei 25 MHz.

Bei der Genauigkeit muss man für USB und CAN IIRC im Rahmen von +- 500 
PPM bleiben. Könnte sogar mehr sein, ich schlage jetzt nicht in den 
Specs nach.

von Gästchen (Gast)


Lesenswert?

Matthias F. schrieb:
> Dann könnte ich diesen Quarz also gar nicht verwenden??

Verwenden ginge schon, aber man kann nicht mehr sicher sagen, das er 
immer anschwingt. Am Labortisch wird es gehen.
Für die Auswahl eines Quarzes würde ich das nicht akzeptieren.

> Was genau muss ich bei Grundton / Oberton beachten??

Was man braucht, hängt davon ab, in welchem Modus der Oszillator 
arbeitet. Das geht entweder auf der Grundwelle (Eigenfrequenz des 
Quarzes) oder z.B: auf der 3. Oberwelle.
Ich habe bisher immer Grundtonquarze verwendet.
Beim Obertonquarz wäre ich nicht sicher, wie ich den am Controller dazu 
bekomme, auf seiner Oberwelle zu laufen.

Noch zur Genauigkeit:
Für Ethernet sinds glaube ich 100ppm
Bei USB reden wir für fullspeed von 2500ppm (0,25%)
Daher: Für Ethernet geht fast jeder Quarz, für USB reichen sogar gute 
Keramikresonatoren.

von TK (Gast)


Lesenswert?

>Beim Obertonquarz wäre ich nicht sicher, wie ich den am Controller dazu
>bekomme, auf seiner Oberwelle zu laufen.
Wie gesagt - bei meinen Projekten mit dem F1 habe ich mit so einem Quarz 
noch nie Probleme gehabt.

TK

von Matthias F. (frank91)


Lesenswert?

> STM32F4 hat aber eine PLL, daher würde ich da einen langsameren Quarz
> <=20MHz einsetzen. Damit wären Parameter wie ESR und CL lange nicht so
> kritisch wie bei 25 MHz.

Stimmt das ist der einfachste Weg um dem entgegen zu wirken :-P

> Noch zur Genauigkeit:
> Für Ethernet sinds glaube ich 100ppm
> Bei USB reden wir für fullspeed von 2500ppm (0,25%)
> Daher: Für Ethernet geht fast jeder Quarz, für USB reichen sogar gute
> Keramikresonatoren.


> Bei der Genauigkeit muss man für USB und CAN IIRC im Rahmen von +- 500
> PPM bleiben. Könnte sogar mehr sein, ich schlage jetzt nicht in den
> Specs nach.

Ok, das sind ja alles noch Werte von denen ich weit entfernt sein 
sollte, denke ich.

Vielen dank :-D Damit sollten alle meine Fragen beantwortet sein.

von Matthias F. (frank91)


Lesenswert?

Gerade habe ich es durch Zufall im Datenblatt des Controllers gefunden. 
Hier steht was wegen +-500ppm bei USB. Bei anderen Schnittstellen steht 
hier jetzt nichts.

von Soul E. (Gast)


Lesenswert?

Matthias F. schrieb:

> Gerade habe ich es durch Zufall im Datenblatt des Controllers gefunden.
> Hier steht was wegen +-500ppm bei USB. Bei anderen Schnittstellen steht
> hier jetzt nichts.

LIN Master < +/-500 ppm
LIN Slave, RS/TIA-232 < +/-1500 ppm
CAN < +/-300 ppm
CAN-FD < +/-150 ppm

Gemeint ist jeweils die Abweichung zur Nominalfrequenz inklusive 
Temperatur und Alterung.

Für den Quarz wird im Datenblatt nur die Abweichung durch Temperatur und 
Alterung angegeben. Wieweit der Mittelwert der Frequenz danebenliegt 
hängt ab vom Controllertyp (dessen Treiberleistung man meist über 
Fusebits einstellen kann), von der Leiterplatte und von den 
Lastkapazitäten. Üblicherweise misst der Quarzhersteller das im Rahmen 
der Anschwingreserve-Untersuchung aus und passt die Grundfrequenz des 
Quarzes entsprechend an. So wird das Toleranzfeld zentriert.



Ein Oberwellen-Quarz wird an dem Pierce-Oszillator eines 
Microcontrollers auf seiner Grundwelle schwingen. Das ist meist 1/3 der 
Nennfrequenz. Durch einen Saugkreis auf der Grundwelle kann man ihm das 
abgewöhnen.

von W.S. (Gast)


Lesenswert?

Matthias F. schrieb:
> Für mein aktuelles Projekt (STM32F4) benötige ich an meinem Controller
> einen 25 Mhz Quarz.

Dann kauf dir einen im heutzutage üblichen vierpoligen 5x7 oder 3.2x5 
oder 2.5x3.2 mm SMD-Format oder setze einen gleichgroßen SMD-Quarzoszi 
ein oder guck nach einen zweipoligen im ca. 3.5x7 mm Format.

Ein Quarzoszi sollte aber digitaltauglichen Ausgang haben. TCXO's haben 
meist nur gekappten Sinus, da ist Fummeln angesagt.

Ansonsten wundert mich deine Quarzwahl ein wenig. Warum gerade 25.000 
MHz? Wenn man USB betreiben will, ist ein glatter Teil von 48 MHz (24, 
12, 8, 6 oder so) deutlich angenehmer. Zumeist geht auch ein glatter 
Teil von 72 MHz, weil einige Typen einen 2:3 Teiler im Taktschema 
vorhalten - deswegen vorher nachschauen.

Aber so einen ollen Blechtopf würde ich nie wieder einsetzen, wenn mich 
nicht einer dazu prügelt.

W.S.

von Gästchen (Gast)


Lesenswert?

W.S. schrieb:
> Ansonsten wundert mich deine Quarzwahl ein wenig. Warum gerade 25.000
> MHz? Wenn man USB betreiben will, ist ein glatter Teil von 48 MHz (24,
> 12, 8, 6 oder so) deutlich angenehmer. Zumeist geht auch ein glatter
> Teil von 72 MHz, weil einige Typen einen 2:3 Teiler im Taktschema
> vorhalten - deswegen vorher nachschauen.

Vielfache von 4MHZ wären gut:
4x25/4 = 25MHz (Ethernet)
4x12 = 48MHz   (USB)
Vorausgesetzt, der Controller hat zwei PLLs mit postscaler, was 
eigentlich gängig ist für USB-Typen. Günstig sind dann 8, 12 und 16MHz. 
Bei 8 und 16MHz ist die Auswahl recht gut.

Für STM32 kann man für solche Kalkulationen das CUBE-MX-Tool verwenden:
http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
Praktisch.

von Matthias F. (frank91)


Angehängte Dateien:

Lesenswert?

> Vielfache von 4MHZ wären gut:
> 4x25/4 = 25MHz (Ethernet)
> 4x12 = 48MHz   (USB)
> Vorausgesetzt, der Controller hat zwei PLLs mit postscaler, was
> eigentlich gängig ist für USB-Typen. Günstig sind dann 8, 12 und 16MHz.
> Bei 8 und 16MHz ist die Auswahl recht gut.


> Für STM32 kann man für solche Kalkulationen das CUBE-MX-Tool verwenden:

Ich habe mich jetzt für einen 16Mhz Quarz entschieden.
Wobei man mit dem Cube durch das PLL ja eigentlich mit jedem Quarz fast 
jede Frequenz erzeugen kann.

Eine Frage habe ich aber noch.
Bei meiner Rechnung weiter oben im Forum scheint noch etwas faul zu 
sein.
Ich habe im Anhang eine Excel Datei eingefügt, welche g mcrit 
automatisch anhand der Formel in der Appnote ausrechnet.
Ein paar Quarze habe ich auch schon gefunden, welche rechnerisch passend 
sind.

Das angehängte PDF beeinhaltet das Datenblatt des Quarzes auf dem 
Entwicklungsboard (HC-49S-C16QSA-25M). Wenn ich allerdings mit diesen 
Daten rechne komme ich auf einen g mcrit von 2 obwohl doch scheinbar 1 
die Grenze ist. Habe ich hier noch irgendwie einen Denkfehler??

von W.S. (Gast)


Lesenswert?

Matthias F. schrieb:
> Wobei man mit dem Cube durch das PLL ja eigentlich mit jedem Quarz fast
> jede Frequenz erzeugen kann.
>
> Eine Frage habe ich aber noch.
> Bei meiner Rechnung weiter oben im Forum scheint noch etwas faul zu
> sein.

Du solltest ganz einfach lernen, sowas wie die Taktversorgung selbst 
aufzusetzen - anstatt immer nur irgendwelche ach so bequemen Tools blind 
zu benutzen. Durch letzteres wird man nämlich immer unselbständiger bis 
hin zum völligen Eunuchentum.

W.S.

von Gästchen (Gast)


Lesenswert?

W.S. schrieb:
> Du solltest ganz einfach lernen, sowas wie die Taktversorgung _selbst_
> aufzusetzen - anstatt immer nur irgendwelche ach so bequemen Tools blind
> zu benutzen. Durch letzteres wird man nämlich immer unselbständiger bis
> hin zum völligen Eunuchentum.

Die Taktversorgung von modernen FPGAs und Prozessoren ist recht 
kompliziert. Dabei alle Randbedingungen (wie max. mögliche 
Multiplikatoren) berücksichtigen etc pp ist nicht simpel.
Warum sollte man da zwanghaft das auf Papier machen, wenn es ein Tool 
gibt, welches diese vielen Randbedingungen berücksichtigt?
D.h. schneller + genauer gehts mit Tool.

In der Arbeitswelt zählen Resultate, keine Selbstkasteiung.

ICH bin um jedes Tool froh, das mir das Leben erleichtert. Die gesparte 
Zeit fließt dann in die Applikation oder Schaltung, nicht die 
Taktgenerierung.

von Matthias F. (frank91)


Lesenswert?

> ICH bin um jedes Tool froh, das mir das Leben erleichtert. Die gesparte
> Zeit fließt dann in die Applikation oder Schaltung, nicht die
> Taktgenerierung.

Sehe ich auch so :P


Weiß jemand ob an meiner Rechnung was falsch ist? Oder benutze ich eine 
falsche Formel? Weil rein von der Theorie dürfte dann ja nicht mal das 
Entwicklungsboard gehen

von Matthias F. (frank91)


Lesenswert?

> Noch zur Genauigkeit:
> Für Ethernet sinds glaube ich 100ppm

Im Datenblatt des PHY steht sogar +-50ppm sehe ich gerade bei 
Frequenztoleranz und Frequenz Stabilität

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Praktische Erfahrung (inkl. EMV-Tests und mehrjährigemn Feldeinsatz in 
F0/F1/F4/KSZ8721):
ABM3B-25.000MHZ-B2-T
ABLS-25.000MHZ-B2F-T
ABM3B-8.000MHZ-B2-T

Mit der Oszillatordoku kann man sich wirklich sehr ausführlich 
beschäftigen - freut mich, dass Du Dir das angetan hast.
Es ist halt ein Unterschied, ob dat Dingen mal kurz auf dem Basteltisch 
läuft oder bei Wind und Wetter jahrelang draußen seinen Job machen soll.

Eine Besonderheit hat die PLL des F4 - die jittert deutlich stärker als 
beim F1. Das hat zur Folge, dass eine über die PLL versorgte 
Ethernet-PHY  höhere Fehlerraten auswirft.
Daher entweder: zwei Quarze für (e.g. 8MHz) F4 und (e.g. 25MHz) PHY, 
oder Takt in PHY erzeugen und in den F4 zurückspeisen.

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.