Forum: FPGA, VHDL & Co. Zusammenhang Phy, MAC und MII/GMII


von A. M. (am85)


Lesenswert?

Ich bräuchte da mal ein bisschen Hilfe bei einem Verständnisproblem. Und 
zwar geht es darum, dass ich mir nicht ganz sicher bin, wie MAC, PHY und 
MII bzw. GMII untereinander verbunden sind. Nach meinem bisherigen 
Verständnis läuf das so ab

Datenbus <-> MAC <-> Phy <-> Kabel

wobei MAC und Phy über MII, GMII oder ähnliches kommunizieren. Ist das 
so richtig oder wie sehen die Zusammenhänge wirklich aus?

Vielen Dank schonmal für alle hilfreichen Antworten.

von oszi40 (Gast)


Lesenswert?

Vom PCI-Bus kommt ein Datenpaket zur Netzwerkkarte. Die einmalige MAC 
ist fest auf der Netzwerkkarte im EPROM/Controller eingebrannt. Die auf 
der Netzwerkkarte aufbereiteten Datenpakete gehen über den PHY zum 
Stecker > Kabel > LAN > Switch > andere Geräte

Schau einfach bei den gelben RJ45-Steckern die Grundlagen an
http://www.netzmafia.de/skripten/netze/netz5.html

Dann lies mal dort MII/GMII http://en.wikipedia.org/wiki/Ethernet

von Christian R. (supachris)


Lesenswert?

Hast du richtig verstanden. RGMII mit weniger Leitungen gibts 
beispielsweise auch noch.

von A. M. (am85)


Lesenswert?

Danke für deine Antwort, aber so recht weiterbringen tut sie mich nicht. 
Mit MAC meine ich nicht die aus der PC Welt "bekannte" MAC Adresse 
sondern direkt den Media Access Controller. Konkret geht es umd die 
Interaktion auf einem Virtex 4 FPGA System. Der FPGA besitzt einen 
Tri-Mode Ethernet MAC und zwei Phy's. Untertützt wird MII und RGMII. Nun 
möchte ich wissen, wie diese untereinander verkettet sind, also in 
welcher Reihenfolge. Ob so, wie in meinem ersten Beitrag gezeigt oder 
anders?

von A. M. (am85)


Lesenswert?

Christian R. schrieb:
> Hast du richtig verstanden. RGMII mit weniger Leitungen gibts
> beispielsweise auch noch.

Prima, danke für die Antwort. Ja, mit RGMII hab ich es hier auch zu tun. 
RGMII spart gegenüber von GMII scheinbar die hälfte der Leitungen ein.

von Christian R. (supachris)


Lesenswert?

Schon richtig. Von außen gesehen kommt zuerst die Buchse, am besten 
gleich mit Übertrager, dann der Phy (Ist auf dem ML405 zum beispiel ein 
Marvell), dann gehts per MII oder RGMII in den Virtex. Im Virtex kommt 
dann der MAC, entweder als Hard-IP wie im Virtex 4 FX oder als 
Soft-Core. Der Hard-MAC hat dann einen PLB-Slave Anschluss für die 
Parametrierung und sinnvollerweise nutzt man das LocalLink DMA Interface 
für den Datentransfer. Da braucht man dann noch den MPMC. Somit kann der 
PPC dann entlastet werden. Mit dem Scatter-Gather-DMA des MPMC lassen 
sich die Pakete gleich vom DMA zusammen basteln. Wenn man genug 
Ressourcen im Virtex frei hat, sollte man auf jeden Fall die RX und TX 
Fifos groß genug für Jumbo Frames machen und das CheckSum Offloading 
aktivieren. Dann gehts richtig fix. Bei Tests konnten wir per UDP über 
den DMA aus dem SDRAM heraus Daten mit knapp über 100MB/s zum PC 
übertragen.

von floGzmo (Gast)


Lesenswert?

zwischen PHY und Kabel sind noch die Magnetics (bei Kupfer) also die 
Übertrager. Die Schnittstelle nennt sich auch MDI (Media Dependent 
Interface). Zwischen PHY und MAC gibt es je nach Ethernetstandard also 
je nach Geschwindigkeit diverse Schnittstellen, die da wären: MII (Media 
independent interface, nur 10/100 MBit), GMII (Gigabit MII, kann 1000 
oder 10/100/1000), RGMII (reduced GMII, nutzt anstatt 4 Adernpaare nur 
2, dafür aber double data rate), SGMII (Serial GMII, wird auch oft als 
SERDES bezeichnet), TBI (ten bit interface, kenn ich leider nicht 
genauer), RTBI, Serial Interface. Ansonsten lassen sich einige 
Informationen aus bekannten Seiten wie wikipedia, netzmafia, 
elektroniker kompendium ziehen. Und für die Ethernet Standards (Aufgaben 
von MAC und PHY (100BASE-TX, 1000BASE-t...)) natürlich unter IEEE802.3 
(bzw 802.x) nachlesen. Oder einfach mal paar Datenblätter diverser PHYs 
besorgen und die Übersichtszeichnungen und Zeichnungen für 
Einsatzmöglichkeiten studieren.

von A. M. (am85)


Lesenswert?

Danke für eure Antworten. Das deckt sich dann ja alles mit meinem 
Verständnis und meinem Vorgehen. Hintergrund der ganzen Geschichte ist, 
dass ich gerade für den Bericht für mein Praxissemester zusammenschreibe 
und ich dabei jetzt ja etwas ausführlicher beschreiben muss, was ich bei 
der Anwendung als selbstverständlich angenommen habe.

Beim Beispiel des xps_ll_temac Soft-Cores hab ich aber noch eine Frage. 
Sehe ich es richtig, dass dieser Core das Zwischenglied zwischen Hard 
TEMAC im FPGA und dem PLB ist? So dass dieser Soft-Core, eben halt in 
der Zusammenarbeit mit dem Hard TEMAC, das Businterface sowie den 
Zugriff auf die nötigen Steuerungsregister bereitstellt?

von Christian R. (supachris)


Lesenswert?

Fast richtig. Der xps_ll_temac kann als Hard-IP-Core realisiert werden, 
dann ist er nur ein Wrapper um den TEMAC. Oder als kompletter 
Soft-IP-Core, dann übernimmt er die komplette MAC Funktionalität. Er 
stellt das PLB Interface und das LocalLink Interface zur Verfügung.

von A. M. (am85)


Lesenswert?

Ja genau, dann hab ichs ja richtig verstanden, danke :-) Dass mir der 
xps_ll_temac den ganzen TEMAC miemt wusste ich auch schon, nur 
interessiert der mich halt nicht, weil ich ja den schönen Hard TEMAC im 
Virtex 4 hab ;-)

Super, danke für eure Hilfe :-)

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.