STM32F303 USB ohne HSE Quarz

Gast #5807834
Lesenswert?

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 #5807958
Lesenswert?

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 #5807970
Lesenswert?

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 #5807975
Lesenswert?

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 #5807989
Lesenswert?

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 #5808016
Lesenswert?

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.
#5808034
Lesenswert?

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 #5808037
Lesenswert?

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 #5808042
Lesenswert?

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 #5808061
Lesenswert?

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 #5808063
Lesenswert?

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 #5808198
Lesenswert?

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 #5808234
Lesenswert?

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

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