Ich habe eine Schaltung, wo ich einen OCXO verbaut habe. Ein kleiner
STM32 soll auch noch mit rein.
Nun möchte ich den Takt des Microcontrollers an den OCXO anbinden. Der
OCXO liefert +7dBm an 50 Ohm und der Mikrocontroller ist ein
STM32F303K6. Ich frage mich, ob ich als externes Oszillatorsignal den
Sinus des OCXO dem STM füttern darf?
Abhaengig von der Anwendung koennte man sich ueberlegen, ob das OCXO
Signal gepuffert werden sollte. Weil die Last der Quarzeinganges nicht
zwingend linear ist.
Basti B. schrieb:> Ich frage mich, ob ich als externes Oszillatorsignal den> Sinus des OCXO dem STM füttern darf?
Da werden Dir viele Leute erklären, warum Du das auf keinen Fall machen
darfst.
Speise das OCXO-Signal über 1 nF an OSC-IN ein und aktiviere den HSE.
Fertig.
Mein OCXO hat 7 dBm an 50 Ohm, mit Sinus.
Vom OCXO geht das Signal zuerst auf einen Abschlusswiderstand, und
danach auf einen Verstärker.
Beim Verstärker könnte ich das Signal für den Microcontroller abgreifen.
Ich frage mich, ob es zulässig ist. 7 dBm an 60 Ohm sind 1.4Vss. Es ist
also knapp. Was denkt ihr?
Dass man über einen Kondensator gehen sollte, ist klar.
> Weiß jetzt nicht wie die Zahlen die Signalformen beschreiben aber okay.
Die Zahlen sagen aus, dass das Taktsignal innerhalb von 20ns von Low
nach High und zurück wechseln muss. Und es muss mindestens 15ns High und
Low sein. High ist mindestens 0,7 mal Versorgungsspannung und Low ist
maximal 0,3 mal Versorgungsspannung.
Ich bin mathematisch nicht so fit, daher würde ich mir das OXCO Signal
einfach mal auf Papier aufmalen und mit einem Lineal ablesen, ob es die
gerade genannten Bedingungen erfüllt.
Basti B. schrieb:> 7 dBm an 60 Ohm sind 1.4Vss. Es ist also knapp. Was denkt ihr?
"The external clock signal has to respect the I/O characteristics in
Section 6.3.14"
3.3V * (0.7-0.3) = 1.32V
Einen Offset (Figure 6 AN2867) von +-40mV um VDD/2 kann ich mir gut
vorstellen. Dann ist die Funktion nicht mehr garantiert. In den meisten
Fällen wird es funktionieren. Pech ist einfach, wenn es im Feld wegen
fehlendem Störabstand zu Taktaussetzern kommen sollte. Dann geht das Hin
und Her los. Keine Ahnung wie hoch die Wahrscheinlichkeit dafür ist.
Der Ansatz der Vergleiche ist leider nicht passend.
Es gibt einen "Externen Clock Mode", und einen "Oszillator Mode". Bei
Sinus am Eingang wuerde man im Oszillatormode laufen lassen. Auf OSC-In
einpeisen, Osc_Out leerlassen. Und 0dBm reichen sicher.
Zur Sicherheit einfach mal nachmessen, bei einem Aufbau, der im
Oszillatormode laeuft. Am Osc_Out messen.
Der "Externe Clock Mode" verlangt LVCMOS, und ist mit den Pegeln
beschrieben.
Basti B. schrieb:> Ich habe eine Schaltung, wo ich einen OCXO verbaut habe. Ein kleiner> STM32 soll auch noch mit rein.> Nun möchte ich den Takt des Microcontrollers an den OCXO anbinden. Der> OCXO liefert +7dBm an 50 Ohm und der Mikrocontroller ist ein> STM32F303K6. Ich frage mich, ob ich als externes Oszillatorsignal den> Sinus des OCXO dem STM füttern darf?
Der STM32 hat Schmitt-Trigger-Eingänge.
Soweit ich das sehe, trifft das auf den OSC_IN (Typ: FT) zu.
Das Feature garantiert dir, dass der STM32 einen schönen Rechteck sieht,
obwohl außen ein sich langsam änderndes Signa (=Sinus) ansteht. Die
Hysterese garantiert, dass nur jeweils zwei Flanken pro Signalperiode
generiert werden.
Das ist wie wenn du außen ein Gatter setzt, welches dir ein TTL-Signal
generiert.
Du musst möglicherweise mit etwa erhöhtem Jitter leben, aber selbst da
bin ihc nicht sicher.
Wenn du also deinen Sinus soweit verstärkst, dass die nötigen Low- und
High-Pegel eingehalten werden (zu finden in Kapitel 6.3.14) spricht
wahrscheinlich nichts dagegen.
Ja, die Frage ist ob der STM einen Rechteck mit 50% Duty Cycle braucht.
Evtl. ergeben sich nicht genau 50% wenn man den Sinus auf den
Schmitt-Trigger los lässt.
Wegen des Jitters - ich würde gern so wenig Jitter wie möglich haben, im
Datenblatt sind für die PLL des STM 300ps maximal spezifiziert. Den Wert
würde ich gerne einhalten.
Ziel des ganzen ist, die PLL zu benutzen, um den Takt vom OCXO zu
vervielfachen und dann mit einem Timer eine hohe Auflösung zu erzielen.
Der Timer soll aber wenig Jittern, da ich damit was messen will.
Basti B. schrieb:> Mein OCXO hat 7 dBm an 50 Ohm, mit Sinus.> Vom OCXO geht das Signal zuerst auf einen Abschlusswiderstand, und> danach auf einen Verstärker.
Und wozu soll das alles gut sein? Zuerst auf 50 Ohm und dann auf nen
Verstärker...?
Also, wenn du das Signal deines OCXO's über ein langes Koaxialkabel
transportieren willst, dann ist es einzusehen, daß du selbiges am Ende
angepaßt abschließt.
Aber wenn du mal bloß ein paar Zentimeter auf deiner Leiterplatte
zurücklegen willst, dann kannst du dir den 50 Ohm Abschluß sparen.
Allenfalls einen eher hochohmigen Spannungsteiler (2x 4k7..22k) zwischen
VCC und GND, falls der Ausgang des OCXO's mit einem C abgeblockt ist und
deine Eingänge, die du damit versorgen willst, sich ihren mittleren
Pegel nicht per Anschlagdioden selber machen.
Für einen µC-Eingang, der für den Anschluß eines externen Quarzes
gedacht ist, sollte jedoch ein 1 .. 2.2nF zwischen OCXO und µC
ausreichen, so wie m.n. dir das schon gesagt hat.
W.S.
Also wenn ich euch richtig verstehe, dann soll ich meinen STM32 so
konfigurieren, als ob ich einen externen Quarz benutzen möchte, sodass
der Verstärker für den Oszillator aktiv ist, ja? und dann statt des
externen Quarzes einfach das Signal vom OCXO über einen Kondensator
einkoppeln?