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
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 ...
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.
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.
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.
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.
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.
Die Genauigkeit von HSI würde für die UART Kommunikation langen. Evt wird gar kein Quarz gebraucht.
Also ich würde einen TCXO nehmen, ist nicht teuer und wirklich stabil: https://www.ebay.de/itm/154999564172
> 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
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
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
> 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.