Interner RC Oszillator von STM32C5 überraschend gut

OP #8068274
Lesenswert?

Beim Vergleich diverser Mikrocontroller ist mir aufgefallen, dass der HSI Oszillator von allen STM32C5 außergewöhnlich stabil ist. Der Hersteller verspricht 1% in einem Temperaturbereich von -20 bis +130 Grad Celsius.

Der weite Temperaturbereich überrascht mich. Ist das

a) inzwischen normal, oder

b) tatsächlich besonders gut, oder

c) bin ich zu dumm, das Datenblatt zu verstehen?

#8068277
Lesenswert?

Nemopuk schrieb:

Beim Vergleich diverser Mikrocontroller ist mir aufgefallen, dass der HSI Oszillator von allen STM32C5 außergewöhnlich stabil ist. Der Hersteller verspricht 1% in einem Temperaturbereich von -20 bis +130 Grad Celsius.

Der weite Temperaturbereich überrascht mich. Ist das

c) bin ich zu dumm, das Datenblatt zu verstehen?

Vielleicht solltest du auf das Datenblatt verlinken. Dann muss nicht jeder der evtl. helfen will danach suchen;-)

#8068285
Lesenswert?

Nemopuk schrieb:

Der weite Temperaturbereich überrascht mich. Ist das

a) inzwischen normal, oder

Bei vielen Microcontrollern neueren Datums hat sich bei den internen Oszillatoren gegenüber "früher" einiges getan. Für "Standardaufgaben" und UART dürfte es reichen, bei CAN/Ethernet wird es hingegen nicht ganz reichen.

Je nachdem, welche Extreme man tatsächlich noch berücksichtigen muss, ist das z.B. bei > -30°C unter 1% - wie gesagt, UART okay, CAN eher nicht bzw. grenzwertig

#8068308
Lesenswert?

Der weite Temperaturbereich überrascht mich. Ist das

Naja relativ. Der uebliche industrielle Temperaturbereich ist -40 bis +85, der Hersteller sagt dir also damit das sein RC-Oszillator fuer industrielle Anwendung nicht 1% genau ist. .-)

Und wenn man bedenkt wie wichtig die -40 sind, dann sagt er sogar, wir haben es probiert, aber es ging wirklich nicht. Sonst wuerden sie nicht -20 schreiben. :-D

Vanye

#8068316
Lesenswert?

Niklas G. schrieb:

Harald A. schrieb:

CAN eher nicht bzw. grenzwertig

Müsste CAN nicht vergleichsweise unproblematisch sein aufgrund der NRZ-Codierung (Bitstuffing) welche eine Synchronisierung des Takts ermöglicht? Bei UART gibt's das ja so nicht, dafür sind die Frames kürzer...

Bei angenommenen Sample-Punkt 87,5%, 250kbit, SJW=1 sind es rechnerisch pro Knoten 0,3%, bei SJW=2 theoretisch 0,6%. Blanke Theorie, Abweichungen, bei denen auf jeden Fall Probleme aufkommen werden. In der Praxis sollte man besser deutlich drunter bleiben, vor allem wenn es nicht nur auf dem Labortisch laufen soll.

Edit: CAN FD nochmal kritischer.

: Bearbeitet durch User
#8068365
Lesenswert?

Nemopuk schrieb:

Beim Vergleich diverser Mikrocontroller ist mir aufgefallen, dass der HSI Oszillator von allen STM32C5 außergewöhnlich stabil ist. Der Hersteller verspricht 1% in einem Temperaturbereich von -20 bis +130 Grad Celsius.

Im Datenblatt lese ich min -1% und max +1% ;-) Die neueren STM haben dazu noch ein Clock-Recovery-System (CRS) damit lässt sich der HSI über verschiedene andere (intern/extern) genauere Clocks, sofern vorhanden, nachregeln.

OP #8068369
Lesenswert?

Wastl schrieb:

Bei einem Preis von weniger als 1 Euro für einen frequenzstabilen Quarz plus zwei Lastkapazitäten halte ich einen "frequenzstabilen" internen RC-Oszillator für extrem wichtig. So wichtig dass man alle paar Wochen wieder eine neue Sau durchs Dorf treiben muss.

Die STM32C5 sind für kosten-sensitive Projekte gedacht. In großer Stückzahl sind sie für weniger als 1 EUR zu haben. Relativ dazu machen 50 Cent mehr für einen Quarz viel aus.

OP #8068379
Lesenswert?

Wastl schrieb:

Klar, weil du ja bei deinen Hobby-Projekten auf jeden Cent achten musst.

Für meine Hobbyprojekte ist das in der Tat völlig irrelevant, da habe ich bisher immer einen Quarz verwendet. Allerdings erwäge ich allmählich, es mal ohne zu wagen.

Hauptsache wieder eine Sau durchs Dorf treiben.

Ist das so schlimm, sich positiv beeindruckt zu zeigen? Also ich finde, man darf (und sollte) auch mal erfreuliche Themen diskutieren.

: Bearbeitet durch User
#8068382
Lesenswert?

Wenn keinerlei Genauigkeit erforderlich ist, dann ja, warum nicht. Wenn zumindest etwas Genauigkeit erforderlich ist, dann Keramik Resonator für 25ct (Murata unter 11ct in Stückzahlen). Wenn man über ppm nachdenkt, wenn Präzision gewünscht ist, dann Quarz mit sehr geringem Aufpreis.

Also für die Bequemen ──▶ Quarz. Immer.

#8068497
Lesenswert?

Nemopuk schrieb:

Beim Vergleich diverser Mikrocontroller ist mir aufgefallen, dass der HSI Oszillator von allen STM32C5 außergewöhnlich stabil ist.

Der weite Temperaturbereich überrascht mich. Ist das ...

Die Feststellung überrascht mich. Du hast doch verglichen. Was war denn das Ergebnis? Du hast doch die Zahlen ermittelt.

Schaffen das Andere, laut deinen Zahlen, auch? ->

a) inzwischen normal, oder

Schafft das, laut deinen Zahlen, nur ST? -> b) tatsächlich besonders gut, oder

Du könntest jetzt deine Ergebnise vorlegen aber dann wäre deine Frage, so wie du sie stellst, sinnlos.

c) bin ich zu dumm, das Datenblatt zu verstehen?

Davon geh ich mal nicht aus.

Persönliche Seite #8068518
Lesenswert?

Btw: Manche STM32 haben eine etwas "versteckte" zweite PLL mit welcher der RC-Oszillator "MSI" mithilfe des LSE-Oszillators stabilisiert werden kann ("MSIPLLEN"). In Projekten bei denen sowieso ein Uhrenquarz am LSE gebraucht wird für die RTC kann man sich somit ggf. den Hauptquarz (HSE) sparen indem man den Haupttakt per MSI erzeugt und den über diese PLL stabilisiert.

Fußangel: Diese PLL braucht ein paar Millisekunden zum Einschwingen, auch nach einem Wake-Up, aber es gibt kein "ready" Flag. Somit eiert die MSI-Frequenz während des Einschwingvorgangs ziemlich wild herum, was der CPU nichts ausmacht aber Kommunikation per UART unmöglich macht; man muss also nach einem Wake-Up per Timer ein paar Millisekunden warten. Als Timer sollte man die RTC nutzen weil die natürlich schon aktiv ist und der LSE Takt nicht so eiert.

Persönliche Seite #8068574
Lesenswert?

Cartman E. schrieb:

Dann müssten die winzigen(!), 32768 Hz Quarze ja eine geradezu gigantische Güte haben, so "schingfaul" wie sie sind. ☺

Die sind ja i.A. oft auch genauer als die höherfrequenten Exemplare. Schwingfaul sind sie vermutlich nur wenn man sie mit sehr niedrigen Strömen ansteuert, wie man sie bei low-power RTCs nutzt?

Rainer W. schrieb:

Das ist nun einmal der Preis für die höhere Güte.

Ja, aber das ist eben nicht pauschal immer ein guter Preis - RC-Oszillator kann der bessere Tradeoff sein.

PS: Lustige Übungsaufgabe: Einen GPS-Empfänger mit Timestamp-Eingang nehmen und dort den Takt z.B. vom Quarzoszillator eingeben (MCO-Ausgang vom STM32) und die vom Empfänger ausgegebenen Timestamps plotten. Da kann man wunderschön das Wegdriften sehen. Besonders interessant ist es das mit einer digital temperaturkompensierten RTC zu machen - die schiefen Treppenstufen im Plot sind die diskreten Kalibrierungssprünge.

: Bearbeitet durch User
#8068578
Lesenswert?

Das ist nun einmal der Preis für die höhere Güte.

Aber ist trotzdem kacke weil das bei LowPower extrem nervt. Kann dann zielfuehrend sein den internen RC zu nutzen und den nur gelegentlich mit einem externen Quarz zu kalibrieren. Ausserdem sind Quarze auch manchmal doch wenn du starke Vibrationen hast. Es gibt also gute Gruende fuer RC. (und Keramik)

Vanye

#8068594
Lesenswert?

Niklas G. schrieb:

Cartman E. schrieb:

Dann müssten die winzigen(!), 32768 Hz Quarze ja eine geradezu gigantische Güte haben, so "schingfaul" wie sie sind. ☺

Die sind ja i.A. oft auch genauer als die höherfrequenten Exemplare.

Wo hast du denn das Gerücht her?

Genau ist da aber auch ein sehr schwammiger Begriff. Sie sind es (im allgemeinen) nicht. Grundwellenquarze im MHz-Bereich, mit dem richtigen Schnitt wären da viel besser.

#8068649
Lesenswert?

Mi N. schrieb:

Im Idealfall liegt die Abweichung bei < 0,1 % und immer unter +/- 0,5 % ;-)

Im Idealfall beträgt die Abweichung 0%. Das ist noch nicht einmal unmöglich, wird aber in Fachkreisen als einigermaßen unwahrscheinlich angesehen. ;-)

Zumeist wird sie ein bisschen hier, oder da, oder dort sein. Gerne auch eine Wanderung antreten. Mal vorwärts, mal rückwärts. Mal zwei vor und dann drei zurück. Wie's gerade konveniert.

#8068681
Lesenswert?

Niklas G. schrieb:

Cartman E. schrieb:

Wo hast du denn das Gerücht her?

In Datasheets steht bei typischen Uhrenquarzen eine niedrigere PPM-Zahl als bei typischen MHz-Quarzen

Der "mathematische" Beweis, dass Uhrenquarze nicht besser sind: Du kannst zu jedem "Uhrenquarz" einen "MHz-Quarz" finden, der besser ist. Q.E.D.

Grundwellenquarze von einigen MHz, kann man so aus dem Material schneiden, dass ihr TK einen flachen Sattelpunkt bei einer gewünschten Temperatur hat. Macht Mann es richtig, ist dort der TK sogar Null. Eine Abweichung von der Wunschfrequenz kann man mit passender Beschaltung und eben Abgleich ja dann leicht korrigieren. Diesen Sattelpunkt kennen Uhrenquarze nicht einmal. PPM-Angaben werden also überbewertet.

#8068711
Lesenswert?

Niklas G. schrieb:

Btw: Manche STM32 haben eine etwas "versteckte" zweite PLL mit welcher der RC-Oszillator "MSI" mithilfe des LSE-Oszillators stabilisiert werden kann ("MSIPLLEN"). In Projekten bei denen sowieso ein Uhrenquarz am LSE gebraucht wird für die RTC kann man sich somit ggf. den Hauptquarz (HSE) sparen indem man den Haupttakt per MSI erzeugt und den über diese PLL stabilisiert.

Fußangel: Diese PLL braucht ein paar Millisekunden zum Einschwingen, auch nach einem Wake-Up, aber es gibt kein "ready" Flag. Somit eiert die MSI-Frequenz während des Einschwingvorgangs ziemlich wild herum, was der CPU nichts ausmacht aber Kommunikation per UART unmöglich macht; man muss also nach einem Wake-Up per Timer ein paar Millisekunden warten. Als Timer sollte man die RTC nutzen weil die natürlich schon aktiv ist und der LSE Takt nicht so eiert.

Dafür hat der STM32C53xx das obengenannte CRS

The devices embed a special block that allows automatic trimming of the internal 144 MHz oscillator to guarantee its optimal accuracy over the whole device‑operational range. This automatic trimming is based on the external synchronization signal. This signal is either derived from USB_SOF signalization, from an LSE oscillator, from an external signal on the CRS_SYNC pin or generated by user software. For faster lock-in during startup, automatic‑trimming and manual‑trimming action can be combined.

Jetzt ist natürlich die Frage ob das bei den 1% schon eingepreist ist und nur die Fußnote dafür abhanden gekommen ist ...

(Firma: 1984now) #8068718
Lesenswert?

Bradward B. schrieb:

Anbei snippet über den gesamten T-Bereich, das ist wohl nicht linear. Die Angabe bezieht sich immer auf eine Versorgungsspannung von 3V3. Die kann aber auch etwas weglaufen ...

Meist ist aber die Abhängigkeit von der Spannung deutlich geringer als die von der Temperatur.

Also ich muss (auch als Nicht-STM32-Fan) sagen, dass ich einigermaßen beeindruckt bin. Da steckt einiges an Ingenieursarbeit drin.

#8068732
Lesenswert?

Hans-Georg L. schrieb:

Jetzt ist natürlich die Frage ob das bei den 1% schon eingepreist ist

Wohl nicht, wenn ich das Referenzhandbuch überschlägig richtig erfasse. Dort ist zu finden, die Schrittweite des Trimmens wäre 0,14 %. Damit wäre die Abweichung ca. Faktor 7 besser als ein freilaufender HSI und die gezeigten Kurven über die Temperatur müßten geradlinig sein, ggf. mit kleinen Zacken. Iss ja ganz nett ;-)

Quarz, wenn's gut werden soll!

#8068744
Lesenswert?

H. H. schrieb:

Cartman E. schrieb:

Wenn Mann sich nicht besonders plöt an.

So wie du Depp.

https://www.digikey.de/en/products/detail/abracon-llc/AB308-8.000MHZ/5054618

Frequency Stability ±50ppm Frequency Tolerance ±30ppm

Das wollte vielleicht mal ein richtiger Quarz werden.

Ist die zweite Flasche schon leer?

Niklas G. schrieb:

Cartman E. schrieb:

Diesen Sattelpunkt kennen Uhrenquarze nicht einmal. PPM-Angaben werden also überbewertet.

Gibt es ein Beispieldatenblatt wo man diesen Sattelpunkt sehen kann?

Bei Geyer Electronic kannst du dich schon selbst umsehen. https://www.geyer-electronic.de

Fachliteratur zu Thema Quarz und Quarzschnitt gibt es auch...

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