www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL und Netzwerkanbindung


Autor: Martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich besitze ein FPGA-Board mit dem Virtex4-XC4VFX12-FPGA und
habe schon ein paar VHDL-Designs erstellt. Nun möchte ich über das
Netzwerk Daten schicken, ein Empfang ist nicht notwendig. Es geht nur
darum, Daten möglichst schnell senden zu können.

Dieses Board beinhaltet den BCM5461. Es handelt sich um einen
Giga-Bit-Lan-Baustein, der aber reiner Tranceiver ist.
Ich habe mir sagen lassen, um sich viel Arbeit zu sparen benötigt man
eine MAC-Einheit, die angeblich für den ganzen Paketkram verantwortlich
ist.
Der FPGA beinhaltet hardwaremäßig diese Mac-Einheit und ich habe mir
diese freischalten lassen.
Ich kann sie aber nur für ein paar Monate verwenden, aber das sollte
für erste Versuche reichen.
Leider habe ich nicht die geringste Ahnung, wie ich diese ansteuern
soll. Ich kann die Mac-Einheit zwar in mein VHDL-Design implementieren,
aber ich weiß nicht wie ich die Pins tooglen muss, um da Daten
reinzubekommen.
Aber das sollte ein geringeres Problem sein. Das Hauptproblem ist, dass
man entweder das TCP-IP oder UDP-Protokoll implementiert.
Um das TCP-IP zu implementieren könnten Jahre verehen, habe ich mir
sagen lassen. Das UDP soll recht einfach sein.

Hat jemand so etwas schon einmal gemacht?
Wozu ist die Mac-Einheit jetzt genau gut und wie kann man sie
ansteuern? Es gibt zwar ein Datenblatt, aber ich werde nicht recht
schlau daraus.
Könnt ihr mir bitte weiterhelfen?

Danke.

Tschüss, Martin

Autor: Alban (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die MAC Einheit wie du sie nennst dürfte der Ethernetcontroller sein.
Der nimmt Daten an und macht daraus die Ethernetpacket, die er dann an
den PHY weitergibt.

Schau mal unter:

http://www.fpga4fun.com/

Da wird das ganz gut beschrieben und ich glaube wenn ich mich richtig
entsinne, ist da auch etwas Logik um UDP Packete zu versenden.

Auf der Seite opencores.org gibt es einen freien Ethernetcontroller,
der geht aber nur bis 100Mbit/s. Aber vielleicht reicht dir das ja.

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin,

generell würde ich sagen, dass "nur Daten senden" eine
schlechte Idee ist. Wenn Du etwas Erfahrung in Daten-
übertragung hast, dann weisst Du, dass eine Rückmeldung
vom Empfänger immer wichtig ist.
Woher soll der Sender sonst wissen, ob die Daten korrekt
angekommen sind oder ob er sie nochmal schicken soll ?

Die MAC-Einheit ist vereinfacht gesagt die unterste Stufe
beim Ethernet-Protokoll. Besorg Dir mal Literatur zum
Ethernet, sonst wirst Du da nicht weiterkommen.
Habe hier das ETHERNET Buch von O'Reilly, das hat mir geholfen.

Es gibt ja ein Beispiel-Design mit diesem Loop-Back Pfad
von RX zu TX. Schau Dir das mal an und versuch das Protokoll
zum Senden daraus zu entnehmen. Sollte eigentlich kein
Problem sein. Zuerst würde ich versuchen, mal ein blankes
Ethernet-Paket zu schicken. Also Header, Daten, CRC,
das sind max. 1500 Bytes.
Auf'm PC den Traffic anschauen mit einem Ethernet-Sniffer,
z.B. Ethereal.

Vorher sind evt. noch einige Konfigurationen / Abfragen
vom MAC bzw. PHY nötig. Es sollten doch genügend Datenblätter
und App-Notes existieren.
Wirst Dich durch die Dokus ackern müssen - schätze ich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.