Forum: FPGA, VHDL & Co. Frage zu Ethernet


von ET (Gast)


Lesenswert?

Hallo,

ich würde gerne von einem Virtex5 über 1Gb Ethernet Verbindung Daten zu 
einer fixen IP Adresse (Computer) schicken (UDP/IP würde ausreichen). 
Und auch nur in eine Richtung, das heisst der FPGA muss keine Daten über 
Etherent empfangen können.
Ich möchte dabei auch kein MicroBlaze oder so verwenden.

Ich bin noch recht neu bei FPGAs dabei und werde leider ich aus den 
verschiedenen Quellen von Xilinx nicht ganz schlau, was ich dazu nun 
alles implementieren muss.

Auf jeden Fall brauche ich doch den Ethenet MAC (UG340). Was noch?

Kann mir jemand einen groben Überblick verschaffen was dazu nötig ist 
oder
mir bitte die relevanten Refernzen nennen in denen das einigermassen 
verständlich beschrieben ist.

Vielen Dank!

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Auf jeden Fall brauche ich doch den Ethenet MAC (UG340). Was noch?

Wenn du eine direkte Verbindung PC FPGA hast ohne Router und andere 
Störer/Vermittler brauchst du sogar keinen MAC.
Da kannst du sogar plain pakete senden.


Hier haben wir das Thema schon mal praktisch ausprobiert.

Beitrag "Ethernet GMII"

von Schlumpf (Gast)


Lesenswert?

Man kann auch einen MAC-Frame ohne MAC-Controller-IP-Core generieren..
Der tut dann auch in einem geswitchten Netzwerk.
Einfach den MAC-Header incl. Präambel und SFD erzeugen und danach die 
Nutzdaten. Das alles wird dann über G-MII an den PHY geschickt.

von Bronco (Gast)


Lesenswert?

Was helfen könnte:
Den für die CRC-Berechnung kann man sich hier erzeugen lassen:
http://outputlogic.com/?page_id=321

von Schlumpf (Gast)


Lesenswert?


von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Schlumpf schrieb:
> Man kann auch einen MAC-Frame ohne MAC-Controller-IP-Core generieren..
> Der tut dann auch in einem geswitchten Netzwerk.
> Einfach den MAC-Header incl. Präambel und SFD erzeugen und danach die
> Nutzdaten. Das alles wird dann über G-MII an den PHY geschickt.


 genau das macht der code in:
Beitrag "Ethernet GMII"

Den für die CRC-Berechnung kann man sich hier erzeugen lassen:

Auch das befindet sich bereits in
Beitrag "Ethernet GMII"

Da must du ach das Rad nicht neu erfinden.
Der CRC wird mit function_crc in ether_tx.vhd mit generiert.

Bereits alles im Code. Du musst nur das Datagramm mit deinen Daten 
füllen und dann bist du fertig.

von PittyJ (Gast)


Lesenswert?

Da muss noch irgendwo ein PHy dazwischen sein. Jedenfalls kenne ich das 
so.
Und der muss dann wohl noch über MDIO programmiert werden. Aber auch das 
ist machbar.
Aber als Anfänger würde ich für alles zusammen so mit 3 Monaten Aufwand 
rechnen.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

PittyJ schrieb:
> Da muss noch irgendwo ein PHy dazwischen sein. Jedenfalls kenne ich das
> so.
> Und der muss dann wohl noch über MDIO programmiert werden. Aber auch das
> ist machbar.
> Aber als Anfänger würde ich für alles zusammen so mit 3 Monaten Aufwand
> rechnen.


Die Phy muss natürlich physikalisch vorhanden sein.
Diese hat eine standardisierte Schnittstelle

MII 100Mbit
GMII  1Gbit

und dann gibt es noch RMII das R steht für reduced da fehlen ein paar 
Leitungen und macht es dafür etwas schwieriger.

Die PHy sind bereits richtig intialisiert und müssen nicht über MDIO 
intialisiert werden. Die Presettings sind in der Regel auf Autolink.
Das ist ein Handshake der Phy um die richtigen Setings der Verbindung zu 
erhalten.

Das MDIO hat verschieden Statusbits die interessant sind ob die 
Verbindung noch aktiv ist. Die Info ist aber meistens noch an den 
angeschlossenen LEDs an den Phys.

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.