Forum: Mikrocontroller und Digitale Elektronik Frage zu RMII Ethernet Switch


von Marcel T. (petit_miner)


Angehängte Dateien:

Lesenswert?

Hallo,
ich versuche momentan den 3 Port Switch KSZ8873RLL in Kombination mit 
einem STM32H7 Inbetrieb zu nehmen. Die Software für die Ethernet 
Kommunikation wurde auf dem STM32H7 Nucleo mit einem LAN8742A bereits 
erfolgreich getestet. Nun steht die Inbetriebnahme mit dem KSZ8873RLL 
an. Ein Link von meinem Laptop zum Switch IC kommt zustande, den ganzen 
ARP Traffic etc. sehe ich auch auf den RXD Pins des RMII.
Auf den TXD Pins des RMII sind auch Signale zusehen, diese sind aber 
wesentlich niederfrequenter als die von den RXD Leitungen?
Der Mikrocontroller ist über seine statische IP Adresse nicht 
erreichbar, bzw sendet er nicht ein ARP Paket um sich dem Netzwerk 
bekanntzumachen.

Könnte es daran liegen das die beiden PHYs intern Unterschiede besitzen?
Oder muss der Code auf dem STM32 für den neuen PHY/Switch angepasst 
werden?

von Wastl (hartundweichware)


Lesenswert?

Ich würde mal aus reinem gesunden Menschenverstand heraus behaupten
dass du einen "gemanagten Switch" auch tatsächlich "managen" musst
bevor er so funktioniert wie du es für erforderlich hältst.

Einfach einen LAN8742A durch einen KSZ8873RLL ersetzen und korrekt
anschliessen wird wohl nicht reichen. Da du dazu keine Angaben
gemacht hast muss man erst mal davon ausgehen dass du nichts
dafür getan hast.

von No Y. (noy)


Lesenswert?

Link aufgebaut sagt nur das dein PC  Laptop  sonst was zumindest bis 
zum KSZ eine Verbindung hat.. Mehr nicht..

Alles was danach kommt (Ping / iperf usw.) geht erst über die RMII..
Und damit das läuft muss über MDIO oder sonst wie erstmal die KSZ 
entsprechend eingestellt werden..
Das was du auf den RX Pins der RMII siehst ist das, was die KSZ versucht 
deinem STM zu sagen.. Ob der versteht was die KSZ da sagt weiß ich 
nicht..
Auf RMII TX siehst du nur etwas wenn der STM was der KSZ schickt.. sonst 
ist da erstmal normalerweise "tote hose"

von Wastl (hartundweichware)


Lesenswert?

Wohl nicht umsonst hat der KSZ8873 zwei Management-Schnittstellen:
I2C und SPI. Und darüber wird man ihm erst mal sagen müssen was
er zu tun hat. Ob er das nach dem Einschalten schon weiss oder er
das über eine Schnittstelle erst einmal gesagt bekommen muss wird
man durch Lesen des Datenblatts herausfinden können.

von Frank K. (fchk)


Lesenswert?

Marcel T. schrieb:

> Oder muss der Code auf dem STM32 für den neuen PHY/Switch angepasst
> werden?

Der Code wird angepasst werden müssen.

Jeder PHY (und Dein Switch wird hier als PHY betrieben!) hat 32 16-Bit 
Register, die über MDC und MDIO angesteuert werden. Die ersten 16 
Register sind standardisiert, die anderen 16 nicht. Über diese Register 
weiß der STM32, ob der Ethernet-Port up ist, ob er mit 10 oder 100 
MBit/s fahren soll, ob er voll- oder halbduplex betrieben werden soll 
etc etc. Vieles findest sich in den zweiten 16 Registern, die 
herstellerspezifisch sind. Der LAN8742A kommt ursprünglich von SMSC, der 
KSZ8873 von Micrel. Beide Firmen wurden von Microchip übernommen, aber 
die technischen Unterschiede bleiben bestehen. Ein LAN9354 (auch von 
SMSC und äquivalent zum KSZ8873) wäre bei der Portierung wahrscheinlich 
einfacher gewesen.

Und dann kommen ja noch die hunderte Register der Switch-Engine. Die 
werden auch über MDC/MDIO adressiert, aber über andere PHY-Adressen.

Gehe mal davon aus, dass Du da noch viel Spaß bei der Anpassung haben 
wirst. Ein Logicanalyzer, der den MDC/MDIO Bus interpretieren kann, wird 
recht nützlich sein.

fchk

von Marcel T. (petit_miner)


Lesenswert?

Wir haben es mit überraschend wenig Arbeitsaufwand ans Laufen bekommen.
Der Trick war die komplette MDIO Kommunikation im STM32 Code zu 
deaktivieren und dabei lwip einfach einen 100MBit Vollduplex Link 
vorzugaukeln. Der Switch kann gemanaget werden, ist aber für den 
normalen Switchbetrieb nicht unbedingt nötig.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hat fuer mich so ein bisschen was von: Schwarzes Klebeband auf die 
Motorkontrollleuchte im Auto bappen ;-)

Gruss
WK

von Rolf (rolf22)


Lesenswert?

Wastl schrieb:
> Ich würde mal aus reinem gesunden Menschenverstand heraus behaupten
> dass du einen "gemanagten Switch" auch tatsächlich "managen" musst
> bevor er so funktioniert wie du es für erforderlich hältst.

Jein. Ich würde vermuten, dass er sich ohne irgendwelche 
Management-Konfiguration zunächst mal so verhält wie ein 
nicht-managbarer 8-Euro-Switch vom Grabbeltisch.

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.