Forum: Mikrocontroller und Digitale Elektronik STM32F107 Ethernet RMII


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Leopold N. (leo_n)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche den STM32F107 mit Ethernet in Betrieb zu nehmen.
Die SMI Schnittstellen (MDIO, MDC) funktioniert bereits und der Link 
Status wird vom PHY auch mit Full-Duplex und 100MBit angegeben.
Jetzt hängt die Platine also im lokalen Netzwerk, wo ja immer mal wieder 
Pakete (ARP und so weiter) rumgesendet werden, jedoch kommt am MAC 
nichts an.
Die Ethernet DMA ist mit den Deskriptoren initialisiert und hängt laut 
Status Register im Status 3 "Running: Waiting for receive packet", es 
kommt jedoch kein Packet rein. Der Logic Analyzer zeigt am RMII 
Interface aber ganz klar erkennbar eingehende Ethernet Frames (siehe 
Anhang - für die Leute mit der Saleae Logic Software auch noch das 
Capture File).
Hat jemand eine Idee, was da noch fehlen könnte? - ist vermutlich nur 
ein einzelnes Bit irgendwo, was noch gesetzt werden muss. Aber ich komm 
grad nicht drauf.
Habe auch mal den Quellcode mit angehangen - vielleicht hat ja jemand 
eine Idee.

Danke im Voraus

: Bearbeitet durch User
von Leopold N. (leo_n)


Lesenswert?

War ja klar, dass ich das Bit finde, kaum dass der Beitrag hier 
veröffentlicht ist.

Für alle Nachfolger: Man muss natürlich nicht nur den Full-Duplex Mode 
(Bit 11 im ETH_MAC_CR) angeben, sondern auch den Ethernet Speed mit 
100MBit (Bit 14 im ETH_MAC_CR)...

von Wastl (hartundweichware)


Lesenswert?

Leopold N. schrieb:
> Für alle Nachfolger: ........

Es ist ja sehr löblich dass du dir das alles auf unterster
Ebene selbst erarbeitest. Mein Respekt dafür. Wenn man das
in CubeMX konfiguriert bekommt man das allerdings alles
automatisch "geschenkt". Da lasse ich mich gerne beschenken
wenn ich noch einiges Anderes zu tun habe. Aber oft ist ja
auch der Weg das Ziel .....

von Leopold N. (leo_n)


Lesenswert?

Ja das stimmt.
Ich mach das allerdings für den Lerneffekt.
Ist wie mit dem theoretisch Lernen vs. praktisch Selbstmachen - der 
Lerneffekt ist Faktor 10 größer, wenn man mal selbst Hand angelegt hat 
und die Bits rumschubst.
Ich gebe aber zu, dass ich auch schon im CubeMx-generierten Code 
rumgestöbert hab auf der Suche nach dem einen Bit, dass ich nicht 
gesetzt habe :)

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.