STM32F303 USB ohne HSE Quarz

Gast #5807834
Ich habe da gerade eine ganz ketzerische Idee: Kann man den USB Port 
ohne HSE Quarz benutzen?

Ich stelle mir vor, den HSI Oszillator zu benutzen und automatisch zu 
trimmen, indem ich seine Frequenz mit dem LSE Oszillator (den ich zu 
bestücken gedenke) vergleiche.

Kann das klappen, oder ist es eine Schnaps-Idee?
Gast
Stefanus F. schrieb:
> oder ist es eine Schnaps-Idee?

Naja, wenn es dem Esel zu bunt wird geht er aufs Eis tanzen.

Irgendwie bringst du deine langweiligen Tage schon 'rum,
mit "sinnvollen" Sachen programmieren und dein Helfersyndrom
hier auf uC.net ausleben.
Gast
Du kannst den HSI benutzen und das kann auch oft gut gehen. Bedenke 
aber, dass du diesen ggf. per Software trimmen musst und dieser danach 
immernoch nicht temperaturstabil ist.

Für Basteleien geht das, keine Frage. Für Industrieprodukte ist die 
Ausfallgefahr zu groß.
Gast
Danke Bimbo. Ja, es geht um ein Bastelprojekt.

Ich stelle mir vor, den Systemzähler mit der RTC zu vergleichen und dann 
den HSI Oszillator dementsprechend automatisch zu trimmen.

Dann werde ich mal versuchen, einen STM32F303V auf ein Breakout Board zu 
löten und nur mit LSE Quarz zu bestücken. Ein Quarz weniger ist für mich 
angenehm weil das auf dem universellen Breakout Board eine fiese 
Fummelei ist.
Gast
NXP hat neue MCUs die USB ohne Quartz können sollen. Ich hatte das mal 
überflogen, die synchronisieren sich da erstmal irgendwie auf den USB 
Takt. Von daher könnte der Ansatz mit dem HSI Abgleich auch 
funktionieren.
Gast
Der F042 und ich glaube auch der F072 sind sogar dafür gedacht.

Meine Messungen am F103 haben gezeigt, dass die Frequenz am PLL von HSI 
selbst von Messung zu Messung nicht sonderlich konstant ist.

Also reines Glücksspiel.
Gast
Ich habe noch ein bisschen recherchiert.

Für USB brauche ich wohl eine Taktquelle mit 0,25% Genauigkeit. Die kann 
ich mit dem HSI Oszillator wohl selbst mit Abgleich nicht sicher 
erreichen. Auch  gewöhnliche Keramik Schwinger sind wohl nur mit Glück 
genau genug.

Andererseits habe ich an mehreren Stellen gelesen, dass es mit HSI sogar 
ohne Abgleich funktionieren würde. Jetzt bin ich total unsicher. Ich 
würde mir gerne unnötige Lötarbeit sparen. Andererseits habe ich aber 
auch keinen Bock auf sporadische Fehlfunktionen bloss weil ich an dieser 
Stelle zu Faul war.
Gast
Stefanus F. schrieb:
> Das steht noch nicht fest, warum fragst du?

Weil ohne Vbat-Backup-Batterie ist der LSE relativ nutzlos, da kannst du 
auch alles per HSE machen und den Prozessor in den tiefsten Standby 
schicken, es sei denn du brauchst die höhere Genauigkeit von 
Uhrenquarzen.
pegel schrieb:
> Der F042 und ich glaube auch der F072 sind sogar dafür gedacht.

ja, die F0-Serie wird mit "crystal-less USB" beworben. Neben den beiden 
genannten sollte F052 auch gehen. Es gibt aber noch einige mehr, unter 
anderem L0x2/L0x3 und L4x2/L4x3, sowie die uralten F105 und F107. Eine 
schöne Übersicht findet man in AN4879 "USB Implementation on STM32 
products".
Gast
Dr. Sommer schrieb:
> da kannst du auch alles per HSE machen

Ist der HSE (mit 8MHz Quarz) nicht wesentlich ungenauer als der 32kHz 
Oszillator? Das habe ich zumindest von älteren 8bit Mikrocontrollern 
noch im Kopf.

Ich möchte die Uhrzeit wenigstens so genau anzeigen, wie praktisch alle 
anderen Uhren im Haushalt. Heißt: Maximal 1min Abweichung pro Monat.
Gast
Was die F0 und L0 Serie angeht: Danke für eure Hinweise. Die Sache mit 
dem Clock Recovery kenne ich. Es soll aber dieses mal ein STM32F303V 
sein. Habe sie schon bestellt.

Ich habe beschlossen, die Idee mit dem Trimmen des HSI zu verwerfen. 
Jede Trimm-Stufe macht 0,5% aber ich muss auf weniger als 0,25% kommen. 
Die Rechnung geht nicht auf.
Gast
Stefanus F. schrieb:
> Heißt: Maximal 1min Abweichung pro Monat.

Also 23ppm. Bei Farnell z.B. Best-Nr 1842347RL für einen 10ppm-Quarz @ 8 
MHz. Best-Nr. 2854266 ist ein integrierter Quarz-Oszillator @ 25ppm 
(1,08min pro Monat), leichter einzubauen als ein "nackter" Quarz.
Gast
Schorsch X. schrieb:
> Die meisten STM32L4xx (432,476 etc) haben das schon drinne. Da wird ein
> RC Oszillator mit Hilfe der 32.768kHz stabilisiert

Oder es wird auf SOF vom Host synchronisiert. Mit einem 32 kHz Quarz 
wäre es ja nicht mehr Crystal-less ?

Ansonsten sag ich auch: Mems Oszillator dran und gut.
Gast
Dr. Sommer schrieb:
> Also 23ppm. Bei Farnell z.B. Best-Nr 1842347RL für einen 10ppm-Quarz @ 8
> MHz. Best-Nr. 2854266 ist ein integrierter Quarz-Oszillator @ 25ppm
> (1,08min pro Monat), leichter einzubauen als ein "nackter" Quarz.

Vielen Dank für diesen Tipp. Die sind ja sogar preislich attraktiv.
Gast
Stefanus F. schrieb:
> Ist der HSE (mit 8MHz Quarz) nicht wesentlich ungenauer als der 32kHz
> Oszillator? Das habe ich zumindest von älteren 8bit Mikrocontrollern
> noch im Kopf.

Laß das alle lieber bleiben und spendiere deinem µC nen Quarz.

Wenn dir mal danach ist, so richtigen Brechreiz zu kriegen, dann lies 
mal ein Refman von Freescales Kinetis zu diesem Thema. Da gibt es Chips, 
die nen USB-Core drin haben, aber dem Systemtakt, den man per 32kHz 
Quarz an diesen Dingern per FLL erzeugen kann, jittert derart, daß man 
so einen Systemtakt eben NICHT für den USB verwenden kann.

Nun haben diese Dinger auch einen 'passenden' internen RC-Takt - und mit 
dessen Hilfe geht es so lala mit dem USB, aber nur mit den 
Schweinetrick, daß im USB-Device-Core eine Art Halbe-Hilfs-PLL eingebaut 
ist, anhand deren Vergleichswerte mit dem vom Host kommenden Signal man 
den intenen RC-Takt nachstimmen kann. Und das muß alle nase lang 
(vermutlich im 1 ms Rhythmus) passieren.

Der Treppenwitz daran ist, daß diese Chips auch einen Oszillator für 
einen externen Quarz haben - aber erstens kann der nicht direkt 48 MHz 
und zweitens kann man diesen eben NICHT direkt für die FLL benutzen, 
sondern muß ihn intern zuerst auf 32..39 kHz herunterteilen, womit man 
wieder genauso doof dasteht, als wenn man gleich einen Uhrenquarz 
angelötet hätte.

Nein, was Grundsätzliches: Quarze im Gebiet von 4..12 MHz sind weitaus 
stabiler als 32 kHz Uhrenquarze. Letztere haen nur deshalb einen Sinn, 
weil man damit wesentlich langsamere Logik braucht, die dann auch nur 
etwa ein Hundertstel des Stromes braucht. Und das ist wichtig für Uhren, 
die jahrelang aus einer Knopfzelle versorgt werden müssen.

W.S.
Gast
Wie ist das mit den 4,19...MHz Uhren Quarzen?

Ich hatte eine BMW Analog Uhr aus dem Schrott.
Die habe ich eingebaut und zur Zeitumstellung nach Radio Zeitzeichen 
gestellt.

Zur nächsten Zeitumstellung war die Abweichung ca. 4 Sekunden.

Zufall?
Oder ist das eine andere Klasse?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.