UDP und Ethernet in VHDL

Gast #1641659
Lesenswert?

Hallo zusammen,

ich habe vor etwas mit UDP und Ethernet auf einem FPGA zu "spielen"...

Dazu will ich zunächst genau das gleiche machen wie die hier: 
http://www.fpga4fun.com/10BASE-T.html

Meine Frage dazu: Hat das schon mal jemand in VHDL "übersetzt" oder muss 
ich da selbst ran?

Danke schon einmal.
Viele Grüße
  Max
Gast #1645115
Lesenswert?

Hallo Max,

ich hab ein funktionfaehiges design im netz gefunden, das fuer dich 
evtl. nuetzlich sein kann.
Ich weiss nicht genau was du vor hast, aber ich nehme an, du willst auf 
jeden fall UDP packeten vom FPGA zu PC und andersrum versenden koennen.
Das interessante bei diesem beispiel ist, dass du daufuer kein ethernet 
MAC core von xilinx brauchst, das design implementiert schon die 
MAC-funktionalitaet.
Schau dir das an und melde dich wieder, wenn du fragen hast.
Es wird mich freuen, die erfahrungen auf diesem gebiet zu tauschen.

Timscho
Angehängte Dateien:
Gast #1645330
Lesenswert?

Hallo Timscho,

danke! Das ganze schaut schon relativ interessant aus. Hast du dazu auch 
zufällig auch den UDP-Empfänger?

Wenn ich diesen Core einsetze werde ich davon auf jeden Fall berichten 
und Feedback geben.

Gruß
 Max
Gast #1646041
Lesenswert?

Ja, den Empfaenger gibt es auch. Den habe ich nicht implementiert, aber 
ich nehme an, man braucht die gleichen Aenderungen im code wie beim 
Sender durchzufuehren (MAC Adressen, destination und source IP) damit es 
laeuft.
Ich habe vergessen zu erwaehnen, dass das Design fuer Spartan 3e 
entworfen ist. Was fuer ein board benutzst du eigentlich?
Angehängte Dateien:
Gast #1646107
Lesenswert?

Danke für den Receiver!

Derzeit arbeite ich noch mit dem Verilog-Code von fpga4fun.com, den ich 
etwas an meine Bedürfnisse angepasst habe um meine gewünschten Daten als 
Payload verschicken zu können. Der Empfangszweig geht leider noch nicht 
ganz so, wie ich mir das vorstelle... (aber das liegt wohl primär an dem 
Differenzverstärker)

Ich arbeite hier mit einem Spartan3E-1200
Gast #1646124
Lesenswert?

Nicht zu danken.
Ich habe mich mit dem code von fpga4fun nicht auseinandergesetzt, da ich 
mich mit Verilog schlecht auskenne. Opencores stellt auch einen in 
Verilog geschriebenen UDP-Sender/Empfaenger zur Verfuegung.

Ich muss sagen, ich hatte keine Probleme, das Design, das ich dir 
geschickt habe zum Laufen zu bringen.

Gruss

Timscho
Gast #1648056
Lesenswert?

Ich versuche das ganze ohne PHY zu machen. Das einzige was ich an 
zusätzlicher Hardware verwende ist ein MagJack und ein RS485 Receiver 
für den Empfang des differenziellen Signals :)

Werde Dich updaten, sobald ich weiteres weiß!
Gast #1648123
Lesenswert?

Das macht die Sache um einiges komplizierter als so wie ich es machen 
musste. Sollte aber trotzdem machbar sein. Ich vermute, man kann 
brauchbare Informationen aus dem datasheet eines PHY chips entnehmen.

Viel Erfolg!
Gast #1648954
Lesenswert?

Das freut mich fuer dich :)
udpReceiver habe ich nicht benutzt, da ich in meinem design die Daten 
ueber die serielle Schnittstelle empfange und da habe ich ein anderes 
Modul eingesetzt.
Synchronisierst du jetzt die beiden (sender/receiver) Module aneinander 
damit du den kontinuierlichen Datenfluss vom PC ueber receiver/sender 
und wieder zum PC bekommst oder meinst du was anderes?

Timscho
Gast #1836147
Lesenswert?

Hallo Timscho ,
ich hoffe Du siehst nochmal hier rein!  Hab versucht den Sender in 
Betrieb zu nehmen, in der Simulation läuft auch alles wunderbar, 
allerdings bricht der PHY den link ab, sobald der sender aktiv wird. Ich 
nutze ebenfalls das Spartan 3E Board... Hast Du mir einen Tip, muss man 
am PHY noch etwas konfigurieren?
Grüße, Alex
Gast #1836441
Lesenswert?

Habs gefunden, der Core muss mit 10Mbit/s betrieben werden, entsprechend 
müssen die MODE Pins des PHYs beschalten werden (drei Widerstände gegen 
GND).
Ich werde mich mal daran machen, das Design auf 100MBits zu erweitern, 
habe in Modelsim momentan nur gesehen, dass bei 100MBits gar nichts mehr 
geht.
Grüße, Alex

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren