Forum: Mikrocontroller und Digitale Elektronik [STM32] 32kHz für RTC aus PLL vom HSE generieren lassen


von Mampf F. (mampf) Benutzerseite


Lesenswert?

Guten Nachmittag,

ich würde gerne mal wieder ein Ührchen basteln, wofür sich ja die RTC 
quasi anbietet.

Leider hab ich meine Erfahrungen mit den RTCs in hmm L1, L0, F1 und F3 
gemacht und die waren nicht so wahnsinnig gut.

Ich fand es immer schwierig, die RTC auf den richtigen Takt zu bekommen.

Dabei hab ich den offiziellen Guides (Chrystal Selection Guide) gefolgt, 
hab Kapazitäten ausgerechnet, hab offziell empfohlene Quarze gekauft usw 
bis ich dann frustriert angefangen habe, Kondensatoren durchzuprobieren 
und die Abweichung zu messen, bis ich etwas gefunden habe, dass kaum 
Abweichung hat. Ich bin aber nicht davon überzeugt, dass das Ergebnis 
"reproduzierbar" ist mit den ermittelten Werten, wenn ich ein neues 
Projekte starte. Glaub ich war da bei 6,5pF oder so ... Einmal kucken 
hat schon mehr Kapazität.

Ich frage mich aber ... Beim STM32 kann man den LSE auch im "BYPASS" 
Modus laufen lassen - statt eines 32kHz Quarzes überlege ich mir, ob man 
die 32768Hz von einem Timer generieren lässt, der mit dem Systemtakt 
(32MHz) läuft, der von der PLL erzeugt wird.

HSE-Eingangstakt wären 8MHz von einem Quarzoszillator.

Hört sich irgendwie schräg an, weshalb ich mal eure Meinungen dazu hören 
wollte 🙈

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Mampf F. schrieb:

> statt eines 32kHz Quarzes überlege ich mir, ob man
> die 32768Hz von einem Timer generieren lässt, der mit dem Systemtakt
> (32MHz) läuft, der von der PLL erzeugt wird.
[...]
> Hört sich irgendwie schräg an, weshalb ich mal eure Meinungen dazu hören
> wollte

Ja, ist schräg.

1) RTC soll auch laufen, wenn alles andere "steht".
2) Zum genauen Abgleich wurde vor geraumer Zeit der Trimm-Kondensator 
erfunden. So ungefähr vor 100 Jahren.
3) Das Prinzip funktioniert trotz des Alters auch heute noch.
4) Bisher wurde nichts besseres erfunden, um bei geringem 
Energieverbrauch eine möglichst genaue Zeitbasis zu haben. Deswegen wird 
es auch überall so benutzt.

von Ali K. (teddy50)


Lesenswert?

Darf ich fragen wie du die Abweichung gemessen hast?
Rein aus Neugier, da ich noch nicht so erfahren bin.

von Gustl B. (gustl_b)


Lesenswert?

Mampf F. schrieb:
> HSE-Eingangstakt wären 8MHz von einem Quarzoszillator.

Der wesentlich ungenauer läuft.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Ali K. schrieb:
> Darf ich fragen wie du die Abweichung gemessen hast?
> Rein aus Neugier, da ich noch nicht so erfahren bin.

Schon fast peinlich pump 🙈

Bei meinen Sachen hab ich meistens funktionierendes USB - hab die 
Uhrzeit über USB im Abstand von 10 Minuten oder ner Stunde (oder so) 
geholt und dann gekuckt, wie weit es von der PC-Uhr abweicht (der 
vertraue ich mehr^^) und dann Kondensatoren ausgetauscht, bis es in 
etwas gepasst hat. 😅

Also kein supertolles Messequipment dafür verwendet oder so.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Gustl B. schrieb:
> Der wesentlich ungenauer läuft.

Guter Einwand - sind 8MHz Oszillatoren nicht genauer als ein 32kHz 
Quarz?

von Gustl B. (gustl_b)


Lesenswert?

Sieht tatsächlich so aus als könnte man die genauer kaufen. Ich dachte 
diese Uhrenquarze wären besonders gut, wieder was gelernt.

von Bauform B. (bauformb)


Lesenswert?

Mampf F. schrieb:
> Beim STM32 kann man den LSE auch im "BYPASS" Modus laufen lassen -
> statt eines 32kHz Quarzes überlege ich mir, ob man die 32768Hz von
> einem Timer generieren lässt, der mit dem Systemtakt (32MHz) läuft,
> der von der PLL erzeugt wird.

Das geht viel direkter, ohne Umweg über die PLL und externe Pins. Im RCC 
kann man die Taktquelle für die RTC umschalten auf z.B. HSE/16. Dann 
muss man nur noch den Prescaler in der RTC passend einstellen.

Es geht auch noch direkter: man benutzt die RTC garnicht, sondern 
betreibt eine Software-Uhr am SYSTICK.

Wenn es externe 32kHz sein sollen, könnte man einen 
32kHz-Oszillator-Baustein verwenden, z.B. OV-7604-C7. Der hat auch nur 
einen normalen Uhrenquarz, aber er hält die versprochenen ±20ppm ohne 
Fummelei ein, reproduzierbar und bei jedem Wetter.

Ob S. schrieb:
>> Hört sich irgendwie schräg an
> Ja, ist schräg.
> 1) RTC soll auch laufen, wenn alles andere "steht".

So "schräg" finde ich das garnicht. Alles andere steht nämlich nur bei 
Netzausfall. Ein typischer Netzausfall dauert eine halbe Sekunde oder 
vielleicht eine halbe Stunde. Die Zeit müsste man mit einem STM32L und 
einem Supercap überbrücken können, selbst mit 8MHz Quarzoszillator.

Man kann aber den 1Hz-Interrupt für die Uhr per LPTIM erzeugen und den 
aus dem HSI takten. Als Referenz dient normalerweise der HSE, aber bei 
Netzausfall läuft der HSI frei. So braucht ein STM32L nicht mehr Strom 
als ein schlechter RTC-Baustein.

Mampf F. schrieb:
> sind 8MHz Oszillatoren nicht genauer als ein 32kHz Quarz?

Sie nicht nicht so temperaturabhängig. Uhrenquarze schwingen bei -40 und 
+85°C um 150ppm langsamer als bei 25°C, gute AT-Quarze bleiben über den 
gesamten Bereich unter 15ppm Fehler. Dazu kommt jeweils der Fehler bei 
25°C, da erlauben sich die meisten Uhrenquarze ±20ppm. Das ist der 
Fehler, den du mit den Kondensatoren korrigieren kannst.

Digikey hat 273 verschiedene 8MHz SMD-Quarze, davon sind 171 schlechter, 
71 gleich gut und 31 besser. 2 besondere Exemplare sind zwar auf ±10ppm 
abgeglichen aber genauso temperaturabhängig wie ein Uhrenquarz :)

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Bauform B. schrieb:
> Es geht auch noch direkter: man benutzt die RTC garnicht, sondern
> betreibt eine Software-Uhr am SYSTICK.

Du hast natürlich recht!

Wenn ich keinen Batterie-Betrieb brauche, brauche ich auch keine echte 
RTC mit einem Quarz 🙈

Tbh, die RTC sind eh weird und eigentlich zu kompliziert für das, was 
sie machen sollen ...^^

Der F103 war echt schräg mit RTC ... Der hatte keinen richtigen Kalender 
sondern nur einen Sekunden-Counter und man musste selbst aus den 
Sekunden was sinnvolles machen.

Bauform B. schrieb:
> z.B. OV-7604-C7. Der hat auch nur
> einen normalen Uhrenquarz, aber er hält die versprochenen ±20ppm ohne
> Fummelei ein, reproduzierbar und bei jedem Wetter.

Oh nice, den schau ich mir an, danke!

: Bearbeitet durch User
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.