Forum: Mikrocontroller und Digitale Elektronik STM32 externen Takt verwenden


von kompl (Gast)


Lesenswert?

Hallo,

ich habe auf meiner Platine einen 8 MHz Quarz für die externe 
Taktversorgung meines STM32F0 vorgesehen.

An diesem messe ich mit dem Oszi allerdings keinen Takt und ich verstehe 
nicht aus welchem Grund. Kann es sein, dass der Quarz keinen Takt 
ausgibt, solange bei meinem µC die interne Taktversorgung eingeschalten 
ist?

Aber eigentlich habe ich auch die externe Versorgung eingestellt. Ich 
lasse mein Programm mit dem STMCubeMx erstellen und habe dort in der 
Clock Configuration folgende Einstellungen vorgenommen:
- PLL Source Mux: HSE
- System Clock Mux: HSE

Und ich messe trotzdem kein Signal!

P.s.: Die Programmierung des µC funktioniert trotzdem.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Der F0 ist halt pfiffig. Wenn er keinen Takt bekommt,
erkennbar am entsprechenden 'RDY' schaltet er nicht um.

Er laeuft also weiter mit dem HSI (evtl. MSI).

Am Quarz muss also was fehlen, kaputt oder flasch verbunden sein.

von Franz (Gast)


Lesenswert?

kompl schrieb:
> STM32F0
Welcher Typ ist es denn genau?

> An diesem messe ich mit dem Oszi allerdings keinen Takt
Die Belastung durch den Tastkopf könnte die Taktversorgung aus dem Tritt 
bringen.
Gibt es bei Deinem Derivat einen (oder zwei) MCO-Pins?
Falls ja, aktiviere diesen und messe dort mit dem Oszi nach.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Wenn Mann doof ist, kann Mann mit dem BYP im RCC den
Quarzoszillator natuerlich auch ausschalten.

Lass halt den Cube links liegen und konfiguriere das
RCC mal nach Referenzmanual.

Sich per MCO mal den HSE auf ein Pin zu legen,
wurde ja auch schon genannt.

Eventuell macht Dein Koempeiler auch einen Aufruf von
systeminit() bevor er er zur main() springt.
Und systeminit() konfiguriert etwas ganz anderes als gedacht...

Viel Erfolg!

von kompl (Gast)


Lesenswert?

Franz schrieb:
> Welcher Typ ist es denn genau?

Es ist der STM32F030K6.

Franz schrieb:
> Die Belastung durch den Tastkopf könnte die Taktversorgung aus dem Tritt
> bringen.
> Gibt es bei Deinem Derivat einen (oder zwei) MCO-Pins?
> Falls ja, aktiviere diesen und messe dort mit dem Oszi nach.

Das werde ich mal versuchen, denke aber nicht, dass es daran liegt. Habe 
auf meiner Platine noch einen anderen Quarz (6 MHz) und dort kann ich 
direkt das Signal mit dem Oszi aufnehmen.

Und falls mein Quarz nicht funktioniert, würde ich an dem Pin MCO doch 
trotzdem meine 8 MHz (HSI) messen.

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4813323:
> Der F0 ist halt pfiffig. Wenn er keinen Takt bekommt,
> erkennbar am entsprechenden 'RDY' schaltet er nicht um.
>
> Er laeuft also weiter mit dem HSI (evtl. MSI).
>
> Am Quarz muss also was fehlen, kaputt oder flasch verbunden sein.

Was meinst du mit 'RDY'?
Habe meinen Quarz einfach mit RCC_OSC_IN und RCC_OSC_OUT verbunden. Die 
Polung ist ja beliebig.



Und dann noch eine Frage: Ist es überhaupt notwendig einen externen Takt 
zu verwenden. Es funktioniert ja auch mit dem internen. Welche Vorteile 
bietet mir eine externe Taktversorgung?

von kompl (Gast)


Lesenswert?

kompl schrieb:
> Und falls mein Quarz nicht funktioniert, würde ich an dem Pin MCO doch
> trotzdem meine 8 MHz (HSI) messen.

Habe gerade gesehen, dass ich nicht die verwendete Taktversorgung auf 
den Pin schalte, sondern die gewünschte auswählen kann.

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4813471:
> Wenn Mann doof ist, kann Mann mit dem BYP im RCC den
> Quarzoszillator natuerlich auch ausschalten.

Was meinst du mit dem 'BYP'. Sorry, aber arbeite mich gerade erst noch 
in den STM ein.

von STMler (Gast)


Lesenswert?

kompl schrieb:
> Und falls mein Quarz nicht funktioniert, würde ich an dem Pin MCO doch
> trotzdem meine 8 MHz (HSI) messen.

Nö, weil Du konfigurierst, welche Taktquelle an MCO anliegt. Automatisch 
schaltet da nix.


>> Der F0 ist halt pfiffig. Wenn er keinen Takt bekommt,
>> erkennbar am entsprechenden 'RDY' schaltet er nicht um.
> Was meinst du mit 'RDY'?

Das HSERDY Bit im RCC_CR Register.


> Und dann noch eine Frage: Ist es überhaupt notwendig einen externen Takt
> zu verwenden. Es funktioniert ja auch mit dem internen. Welche Vorteile
> bietet mir eine externe Taktversorgung?

Ist genauer.


> Was meinst du mit dem 'BYP'. Sorry, aber arbeite mich gerade erst noch
> in den STM ein.

Das HSEBYP Bit im RCC_CR Register.

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.