Forum: Mikrocontroller und Digitale Elektronik STM32 Quarz und PLL


von Matze (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend Zusammen,

ich bin mir sicher das das Thema schon mal durchgekaut wurde, es fehlt 
waschl. nur am Suchbegriff. folgende Frage. Habe vor einen STM32 
(STM32G071R8) mit einem Quarz zu befeuern weil ich stabile 38,4KBAUD 
brauche. jetzt gibt mir ja der Chip die Möglichkeit die Frequenz mit PLL 
zu multiplizieren, hat es einen Nachteil/ Vorteil einen 4Mhz Quarz zu 
nehmen und mit der PLL auf 64Mhz zu erhöhen anstatt einen 32 Mhz zu 
nehmen und diesen entsprechend nur halt entsprechend weniger mit der PLL 
zu multiplizieren?

Kann mir jetzt höchstens vorstellen das mit zunehmendem Multiplikator 
die Frequenz ungenauer wird?!?

Vorab danke für eure Antworten

von Erwin (Gast)


Lesenswert?

Matze schrieb:
> Habe vor einen STM32 (STM32G071R8) mit einem Quarz zu befeuern weil ich
> stabile 38,4KBAUD brauche.

Für etwas so kompliziertes brauchst du mindestens einen achtkern 
Applikationsprozessor mit über 1.6 GHz, sonst wird das nichts ...

von Stefan F. (Gast)


Lesenswert?

Je mehr die PLL den Takt erhöht, umso stärker kann der Takt jittern. Das 
heißt, die Taktimpulse haben ungleiche Abstände. Sie schwanken ständig 
hin und her zwischen etwas zu schnell, und etwas zu langsam. Je höher 
der PLL Faktor ist, um so stärker ist der Effekt ausgeprägt.

Nachdem die PLL ein geschwungen ist, ist ihre Frequenz im Durchschnitt 
ziemlich exakt ein vielfaches der Quarz-Frequenz. Darauf kannst du dich 
im gesamten Arbeitsbereich verlassen.

von Bauform B. (bauformb)


Lesenswert?

Kleine SMD-Quarze werden unter ca. 10MHz merklich schlechter oder größer 
und deshalb zerbrechlicher. Laut Datenblatt ist 8MHz die typische 
Quarzfrequenz. Je höher die Frequenz, umso größer wird der Einfluss des 
Layouts und umso mehr Strom braucht der Oszillator (bis zu 1.5mA mehr).

Das gilt natürlich erst recht für die CPU. Brauchst du überhaupt 64MHz? 
Mit einem 8 oder 16MHz Quarz und ohne PLL wäre die Baudrate auch nur um 
0.16% daneben. Jedes Teil, das man nicht braucht, ist eine Fehlerquelle 
weniger.

von m.n. (Gast)


Lesenswert?

Matze schrieb:
> mit einem Quarz zu befeuern

Soll das jetzt eine Alternative für Gas oder Öl sein?

> Kann mir jetzt höchstens vorstellen das mit zunehmendem Multiplikator
> die Frequenz ungenauer wird?!?

Oder ist das etwas, was bestimmte Vorstellungen auslöst.

Die Frequenz ist so genau wie der Quarz sie vorgibt und die PLL 
eingestellt ist. Das Datenblatt beziffert den Jitter auf < 100 ps. Für 
Deine Schaltung ist das alles ohne Belang.

Bauform B. schrieb:
> Brauchst du überhaupt 64MHz?
> Mit einem 8 oder 16MHz Quarz und ohne PLL wäre die Baudrate auch nur um
> 0.16% daneben.

Willst Du ihm die Handbremse anziehen? Einen minimalen Baudratenfehler 
als Argument anzuführen ist voll daneben.
Vielleicht will der TO Zeitmessungen mit hoher Ausflösung durchführen. 
Da kann die CPU nebst Timern nicht schnell genug laufen.

von Bauform B. (bauformb)


Lesenswert?

m.n. schrieb:
> Bauform B. schrieb:
>> Brauchst du überhaupt 64MHz?
> Willst Du ihm die Handbremse anziehen?

Es ist eine Frage.

> Vielleicht will der TO Zeitmessungen mit hoher Ausflösung durchführen.

Denkbar wäre es. Denkbar wäre aber auch "das macht doch jeder so". Und 
ja, in dem Fall will ich die Handbremse anziehen.

von m.n. (Gast)


Lesenswert?

Bauform B. schrieb:
>> Willst Du ihm die Handbremse anziehen?
>
> Es ist eine Frage.

Ich weiß, habe ich ja selber gestellt ;-)

Bauform B. schrieb:
> Denkbar wäre aber auch "das macht doch jeder so".

Dann könnte man ja auch einen AVR als Alternative vorschlagen.
Der TO möchte 64 MHz. Wenn er weniger haben möchte, kann er seine PLL 
anders einstellen.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Die Genauigkeit von HSI würde für die UART Kommunikation langen. Evt 
wird gar kein Quarz gebraucht.

von Rüdiger B. (rbruns)


Lesenswert?

Also ich würde einen TCXO nehmen, ist nicht teuer und wirklich stabil:
https://www.ebay.de/itm/154999564172

von Olaf (Gast)


Lesenswert?

> Die Genauigkeit von HSI würde für die UART Kommunikation langen. Evt
> wird gar kein Quarz gebraucht.

Nur bei Bastlern die noch bei Mutti wohnen. .-)
Wenn du den kompletten Temperaturbereich von -40 bis +85 brauchst,
also Industriestandard, dann sieht das anders aus.

Olaf

von Bauform B. (bauformb)


Lesenswert?

Rüdiger B. schrieb:
> Also ich würde einen TCXO nehmen, ist nicht teuer und wirklich
> stabil:
> https://www.ebay.de/itm/154999564172

Bah, halber Kram, er braucht stabile 38400 Baud ;)

https://www.microsemi.com/product-directory/embedded-clocks-frequency-references/4518-low-noise-csac-ln-csac#overview

: Bearbeitet durch User
von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Olaf schrieb:
>> Die Genauigkeit von HSI würde für die UART Kommunikation langen. Evt
>> wird gar kein Quarz gebraucht.
>
> Nur bei Bastlern die noch bei Mutti wohnen. .-)
> Wenn du den kompletten Temperaturbereich von -40 bis +85 brauchst,
> also Industriestandard, dann sieht das anders aus.

Der HSI16 ist mit -2% bis +1,5% über den gesamten Temperaturbereich 
spezifiziert [1]. Ich hab jetzt nicht die komplette Fehlerrechnung 
durchgezogen aber unter bestimmten Randbedingungen kann das 
funktionieren. Siehe dazu auch 33.5.8 im Reference Manual

[1] https://www.st.com/resource/en/datasheet/stm32g071r8.pdf
[2] 
https://www.st.com/resource/en/reference_manual/rm0444-stm32g0x1-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

Matthias

von Olaf (Gast)


Lesenswert?

> durchgezogen aber unter bestimmten Randbedingungen kann das
> funktionieren. Siehe dazu auch 33.5.8 im Reference Manual

Es gibt, soweit ich weiss, keine offiziellen Zahlen welche Abweichungen
bei RS232 oder anderen asyncronen Uebertragungen zulaessig sind, aber 
soweit ich weiss sind 1.5% die Grenze wo man zuverlaessigkeit erwarten 
kann. Es gibt aber auch noch die Gegenseite die vielleicht  gerade an 
der anderen Grenze arbeitet.

Olaf

von Bauform B. (bauformb)


Lesenswert?

Olaf schrieb:
> Es gibt aber auch noch die Gegenseite die vielleicht  gerade an
> der anderen Grenze arbeitet.

Das erinnert uns wieder an die alte Auto-Baud Mechanik. Die UARTs im 
G071 können das.

Vielleicht findet man eine RTC in der Nähe. Deren 1Hz-Takt kann man zum 
Trimmen des HSI16 benutzen. Das muss keine ausgefeilte PLL sein, man 
kann die fallende 1Hz-Flanke in der SYSTICK-ISR abfragen, das liefert 
0.1% Auflösung.

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.