STM32H7: PH1-OSC_OUT als Clock für Ethernet verwenden?

OP #7907295
Lesenswert?
• ▲
▼

Hi,

wenn ich mir den Schaltplan des Eval-Boards für den STM32H7 von ST ansehe, dann ist dort ein 25-MHz-Oszillator verbaut, der einmal mit dem Ethernet-Chip des Boards verbunden ist und einmal mit dem PH0-OSC_IN-Pin des STM selber.

Um den STM zu takten, benötige ich diesen exernen Clock nicht, der lässt sich so konfigurieren, dass alle Clocks intern erzeugt werden.

Das führt mich zu meiner Frage: kann ich dann auf einer eigenen Hardware nicht auch den PH1-OSC_OUT verwenden, um den Ethernet-Chip damit zu füttern? Sprich könnte der Quarz nicht komplett wegfallen, wenn ich PH1-OSC_OUT mit CLKIN des LAN8742A verbinde und PH1-OSC_OUT so konfiguriere, dass dort 25 MHz geliefert werden?

Oder ist dieser Clock zu ungenau?

Danke!

#7907299
Lesenswert?
• ▲
▼
1
To comply with the IEEE 802.3 standard, each Ethernet node must have
2
a reference clock with accuracy of ±100 parts per million (ppm).

Texas Instruments SNLA290 "Selection and specification of crystals for Texas Instruments ethernet physical layer transceivers"

Also die STM32 HSI schaffen das nicht. So ein kompletter externer Quarzoszillator ist schon praktisch und pflegeleicht. In diesem speziellen Fall könnte man den nur für Ethernet verwenden und den STM32 intern takten. Eine 25-MHz-Leiterbahn weniger...

Unabhängig davon: alle STM32 können diverse Taktsignal über den MCO-Pin ausgeben; man muss nicht den OSC_OUT missbrauchen.

OP #7907313
Lesenswert?
• ▲
▼

Bauform B. schrieb:

Also die STM32 HSI schaffen das nicht. So ein kompletter externer Quarzoszillator ist schon praktisch und pflegeleicht. In diesem speziellen Fall könnte man den nur für Ethernet verwenden und den STM32 intern takten. Eine 25-MHz-Leiterbahn weniger...

Klingt gut.

Was wäre denn ein passender Quarz? Die Beschreibung des LAN-Chips redet von einer 100 uW und einer 300 uW-Variante, die verwendet werden kann, ohne klar zu spezifizieren, wann welche der beiden Varianten zu wählen ist...

#7907361
Lesenswert?
• ▲
▼

Chris schrieb:

wenn ich mir den Schaltplan des Eval-Boards für den STM32H7 von ST ansehe, dann ist dort ein 25-MHz-Oszillator verbaut

Neben der Erkenntnis dass man beim Thema Referenztakt für den PHY durchaus so päpstlich sein sollte wie der Papst, stellt sich für mich noch die Frage ob dir schon bekannt ist dass sich schon manche Leute an der LwIP-Implementierung für den STM32H7 schon die Zähne ausgebissen haben.

Aus meiner Erfahrung tut man sich beim STM32F407 und STM32F429 wesentlich leichter als beim STM32H7. Diese Controller funktionieren auf Anhieb. Wobei es scheinbar schon verschiedenene Chip-Versionen vom STM32H743 gibt die sich unterschiedlich kapriziös bezüglich Ethernet verhalten.

Finde leider gerade den Thread nicht der hier auf uC.net die Probleme mit dem STM32H743 und LwIP behandelt. Vielleicht kann einer der Mitleser noch den Thread hier verlinken.

#7907378
Lesenswert?
• ▲
▼

Chris schrieb:

CubeMX liefert eine fertige LwIP-Implementierung für den STM32H7. also wo ist das Problem?

Dass die Implementierung nicht (reibungslos) funktioniert. Wenn du lieber erst mal das (nicht funktionierende) Rad neu erfinden willst dann, dann mach das. Natürlich bietet CubeMX eine Default-Implementierung an. Meinst du ich wäre so blau-äugig das nicht zu wissen bzw. nicht vorauszusetzen?

YMMV. Aber:

Wastl schrieb:

Finde leider gerade den Thread nicht der hier auf uC.net die Probleme mit dem STM32H743 und LwIP behandelt. Vielleicht kann einer der Mitleser noch den Thread hier verlinken.

OP #7907433
Lesenswert?
• ▲
▼

Wastl schrieb:

Beitrag "STM32 NUCLEO H743ZI - Ethernet / WebServer-Probleme" Beitrag "Re: STM32 NUCLEO H743ZI - Ethernet / WebServer-Probleme"

Und was hat das jetzt alles genau mit mir zu tun? Die haben lwIP-Probleme mit einer lwIP-Implementierung aus irgend einer dubiosen Quelle. CubeMX-Probleme gibt es da nur beim COMPILIEREN - und die habe ich ja ganz offensichtlich nicht, da ich passenden Code problemlos erzeugen kann.

#7907531
Lesenswert?
• ▲
▼

Frank K. schrieb:

Chris schrieb:

Oder ist dieser Clock zu ungenau?

Der von einem MCO oder einem internen RC-Oszillator gelieferte Takt ist zu ungenau. Beim MCO gilt das insbesondere, wenn nicht ganzzahlige Teiler oder eine PLL verwendet wird. Das haben hier schon andere Leute versucht, funktioniert nicht.

fchk

Wen du den H7 mit einem externen 25Mhz Quarz betreibst und den MCO auf den HSE Oszillator schaltest ist der Ausgang nicht ungenauer wie der Quarz. Bei den Nucleo Boards kann es Probleme geben, das liegt aber nicht an der PLL oder den MCO Ausgängen, sondern am STLINK der den externen Takt für die MCU erzeugt.

OP #7907639
Lesenswert?
• ▲
▼

Hans-Georg L. schrieb:

Wen du den H7 mit einem externen 25Mhz Quarz betreibst und den MCO auf den HSE Oszillator schaltest ist der Ausgang nicht ungenauer wie der Quarz.

Was aber nicht so viel bringt, weil man sich auf diese Weise den Quarz eben nicht spart!?

Allerdings könnte das ein Hack sein, um eine Leitung auf dem Board zu sparen, so fern der MC0-Ausgang näher am LAN-Chip liegt als der Quarz.

#7907648
Lesenswert?
• ▲
▼

Hans-Georg L. schrieb:

Frank K. schrieb:

Chris schrieb:

Oder ist dieser Clock zu ungenau?

Der von einem MCO oder einem internen RC-Oszillator gelieferte Takt ist zu ungenau. Beim MCO gilt das insbesondere, wenn nicht ganzzahlige Teiler oder eine PLL verwendet wird. Das haben hier schon andere Leute versucht, funktioniert nicht.

fchk

Wen du den H7 mit einem externen 25Mhz Quarz betreibst und den MCO auf den HSE Oszillator schaltest ist der Ausgang nicht ungenauer wie der Quarz. Bei den Nucleo Boards kann es Probleme geben, das liegt aber nicht an der PLL oder den MCO Ausgängen, sondern am STLINK der den externen Takt für die MCU erzeugt.

Das ist eine der wenigen Konfigurationen, die funktioniert. Gegenüber einem externen Quarzoszillator hast Du damit aber nichts gewonnen.

fchk

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.