STM32 Quarz und PLL

Gast #7126197
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
Angehängte Dateien:
Gast #7126221
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.
#7126253
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.
Gast #7126500
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.
Gast #7126729
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
Persönliche Seite #7126793
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
Gast #7126828
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
#7126958
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.

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