Hallo, ich verwende in einem Projekt den STM32WL55. Dieser bekommt seinen Haupttakt (HSE) von einem externen TCXO auf 32 MHz, weil bessere Übereinstimmung von Sender- und Empfängerfrequenz das Link-Budget verbessert. Momentan ist das noch ein NUCLEO-WL55JC Board. Der TCXO verbraucht aber ziemlich viel Strom (>1mA). Daher schaltet man diesen typischerweise ab, solange man das Funksystem nicht braucht, und betreibt den Controller dann z.B. über den internen RC-Oszillator "MSI". Für die meisten Controller-Aufgaben ist das auch kein Problem, aber: Es wird auch ein UART für ein GPS-Modul benutzt. Mit dem MSI alleine ist die Frequenz anscheinend zu ungenau für den UART, insbesondere dann, wenn intensiv die Power-Saving Modes genutzt werden - ich vermute fast, dass das schnelle Aufwärmen und Abkühlen des Dies den RC-Oszillator beeinflusst...? Man kann den MSI aber über den LSE-Takt kalibrieren indem man den MSI in den PLL-Mode versetzt (MSIPLLEN bit). Der LSE läuft bei mir sowieso permanent mit einem 32 kHz-Quarz für die RTC und verbraucht natürlich viel weniger Strom als der TCXO. Mit MSIPLLEN=1 funktioniert der UART unter Laborbedingungen. Die Frage ist jetzt: Ist das Problem damit sicher erledigt? Wie kann ich bestimmen, ob der MSI-Takt im PLL-Mode genau genug ist für den UART, insbesondere über den ganzen Temperaturbereich? Wenn das alles unproblematisch ist - warum benutzt man dann in "normalen" Anwendungen (ohne Funk) überhaupt einen hochfrequenten Quarz (z.B. 8MHz) wenn man auch einfach einen sparsamen 32kHz-Quarz + PLL nehmen kann?
Niklas G. schrieb: > Wie kann ich > bestimmen, ob der MSI-Takt im PLL-Mode genau genug ist für den UART, > insbesondere über den ganzen Temperaturbereich? Indem du deine 32 kHz-Quarzoszillator Anordnung überprüfst ob sie die Grenze der Abweichung in ppm für die UART-Baudrate erfüllt. Niklas G. schrieb: > warum benutzt man dann in "normalen" Anwendungen > (ohne Funk) überhaupt einen hochfrequenten Quarz (z.B. 8MHz) wenn man > auch einfach einen sparsamen 32kHz-Quarz + PLL nehmen kann? Weil die immense Hochvervielfachung auf den Ziel-Takt einen kräftigen Jitter produziert den man oft nicht haben will. Bestes Beispiel ist das was hier schon Manche erfahren haben: Ein Ethernet-Referenz-Takt für einen PHY der wild vor sich hin-jittert und keine zuverlässige Übertragung zulässt.
Wastl schrieb: > ob sie > die Grenze der Abweichung in ppm für die UART-Baudrate erfüllt Okay, die PPMs von 32kHz-Quartzen sind ja meistens ziemlich gut. Wastl schrieb: > Weil die immense Hochvervielfachung auf den Ziel-Takt einen > kräftigen Jitter produziert den man oft nicht haben will. Okay, aber ist das ein Problem für den UART? Wie berechnet man das?
Niklas G. schrieb: > Okay, die PPMs von 32kHz-Quartzen sind ja meistens ziemlich gut. Deswegen sprach ich ja nicht vom Quarz sondern von? Wastl schrieb: > deine 32 kHz-Quarzoszillator *Anordnung* ... man kann auch "Gesamtschaltung" dazu sagen. Niklas G. schrieb: > Okay, die PPMs von 32kHz-Quartzen sind ja meistens ziemlich gut. Ob die von Quartzen so gut sind wie die von Quarzen weiss ich nicht. Ob "meistens ziemlich gut" ausreicht kann ich hier von der Ferne aus auch nicht beurteilen. Niklas G. schrieb: > Okay, aber ist das ein Problem für den UART? Für den UART ist das kein Problem, der arbeitet ob du Schrott empfängst oder gültige Daten. Der sendet auch bei beliebiger Baudrate die der Empfänger nicht brauchen kann. Niklas G. schrieb: > Wie berechnet man das? Weiss ich nicht. Trial and error, probieren geht über studieren.
Wastl schrieb: > ... man kann auch "Gesamtschaltung" dazu sagen. UARTs kommen normalerweise so mit 2-3% Taktabweichung klar. Der Quarz auf dem NUCLEO-WL55JC hat 20 PPM, wie gut der Rest der Schaltung ist kann ich nicht beurteilen. Angenommen das noch zu entwickelnde Custom PCB wird von einem fähigen Hardware-Entwickler gemacht sodass die Uhrenquarz-Oszillator-Schaltung besser als die 2% = 20000 PPM ist. Wastl schrieb: > Für den UART ist das kein Problem, der arbeitet ob du Schrott > empfängst oder gültige Daten. Und ist es ein Problem für das korrekte Empfangen der Daten mit dem UART? Wastl schrieb: > Weiss ich nicht. Warum antwortest du dann...
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.