mikrocontroller.net

Forum: FPGA, VHDL & Co. Gbit Ethernet


Autor: Bob A. (strippenzieher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich möchte ein FPGA mit einer Gbit-Ethernet Schnittstelle ausstatten.

Ist das tatsächlich so "einfach" wie es wirkt?

- Cyclone V FPGA mit Triple Speed Ethernet IP
- PHY DP83867
- Übertrager
- RJ45
oder RJ45 mit integriertem Übertrager

Ich würde GMII bevorzugen, da RGMII auf mich nochmal anspruchsvoller 
wirkt.

Was gibt es da noch layouttechnisch zu berücksichtigen?

Vielen Dank für alle Anregungen!

: Bearbeitet durch User
Autor: Ump (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bob A. schrieb:
> Guten Morgen,
>
> ich möchte ein FPGA mit einer Gbit-Ethernet Schnittstelle ausstatten.
>
> Ist das tatsächlich so "einfach" wie es wirkt?

Wenn du fragen musst, lautet die Antwort klar ganz sicher nicht. Das ist 
Highspeed-Layout, wie LVDS, USB2 und HDMI, und zwar auch die GMII.

>
> - Cyclone V FPGA mit Triple Speed Ethernet IP
> - PHY DP83867
> - Übertrager
> - RJ45
> oder RJ45 mit integriertem Übertrager
>
> Ich würde GMII bevorzugen, da RGMII auf mich nochmal anspruchsvoller
> wirkt.
>
> Was gibt es da noch layouttechnisch zu berücksichtigen?
>
> Vielen Dank für alle Anregungen!

Yupp, sei froh dass du GMII benutzen kannst, RGMII ist Mist. Da darfst 
du dann ein Clock-Delay auf der Platine realisieren, wenn es  blöd 
läuft.

Die Leitungen zwischen FPGA und PHY müssen gematcht (naja, in Etwa 
zumindest) und Impedanzkontrolliert sein, insbesondere wenn sie länger 
sind. Falls dein FPGA keine Ports mit einstellbarer Impedanz hat, musst 
du externe Serienwiderstände verwenden. Siehe auch:
https://cdn.microsemi.com/documents/32d3e7ba-856d-...

Die Impedanzkontrolle ist kein Witz, insbesondere wenn du EMV testen 
musst.

Die IO-Spannung muss auch zusammenpassen. Nicht jeder PHY und jedes FPGA 
könenn 3V3 IO-Spannung, üblich ist auch 1V8 und 2V5. Möglicherweise 
wirst du eine bestimmte IO-Bank benutzen müssen. Die Ports müssen auch 
schnell genug sein.


Für die Ethernet-Leitugen DITO. Hier gilt auch noch, dass das 
differential Pairs sind. Da am Besten ebenfalls eine Layout-Guideline 
suchen. Beispiel:
http://www.ti.com/lit/an/snla079d/snla079d.pdf


Nein, es ist nicht so einfach wie es klingt. Wer es einfach will, nimmt 
100MBit. Aber ich gehe mal stark davon aus, dass du dir das schon 
überlegt hast ;-)

Autor: Bob A. (strippenzieher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und Danke für die Einschätzung.

Dass das Layouten nicht ganz trivial ist, dessen bin ich mir bewusst.
Vielen Dank für die beiden Dokumente.

Mir ging es auch darum ob der Altera-GbitEthernet Stack wirklich alles 
ist was man braucht. Die stellen den ja kostenfrei zur Verfügung...

Autor: Ump (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich tippe darauf, dass das nicht einfach ist. Der PHY hat ja eine ganze 
Latte an Registern, und eine Management-Interface (MDIO/MDC). Das muss 
ja auch irgenwie bedient werden.

Ob der PHY mit den Defaultwerten, mit denen er hochkommt, normal 
verwendbar ist, weiß ich nicht. Ich tippe auf nein, aber ich kenne mich 
mit der Softwareseite aber nur schlecht aus.

Naja, dein PHY ist recht gängig, da findest du sicher was dazu.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ump schrieb:
> Ob der PHY mit den Defaultwerten, mit denen er hochkommt, normal
> verwendbar ist, weiß ich nicht.
Normalerweise passt das schon, aber es kann nicht schaden die 
PHY-Register lesen und schreiben zu können.

Bob A. schrieb:
> Ist das tatsächlich so "einfach" wie es wirkt?
Das ist nur die eine Seite der Medallie.
Im FPGA brauchst Du dann üblicherweise auch noch eine Logik, die mit den 
Paketen umgehen kann.

Duke

Autor: Bob A. (strippenzieher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Logik die mit UDP-Paketen umgehen kann gibt es. Bisher wurde die 
Gbit-Ethernet Kommunikation über ein zusätzliches FPGA-Modul erledigt.

Das Modul soll durch eine "eigene" PHY und Übertrager ersetzt werden. 
Preisgünstiger und man hat mehr Kontrolle.

Hat schon jemand die Altera Gbit Ethernet IP verwendet?

Autor: Mr. C (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ump schrieb:
> Ich tippe darauf, dass das nicht einfach ist. Der PHY hat ja eine ganze
> Latte an Registern, und eine Management-Interface (MDIO/MDC). Das muss
> ja auch irgenwie bedient werden.
>
> Ob der PHY mit den Defaultwerten, mit denen er hochkommt, normal
> verwendbar ist, weiß ich nicht. Ich tippe auf nein, aber ich kenne mich
> mit der Softwareseite aber nur schlecht aus.

Bei Marvel kriegt man das nur unter NDA und das ist nicht trivial. Habe 
mich da auch schon mit abrackern dürfen.

Autor: Donni D. (donnidonis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auf dem DE2-115 Board Gbit Ethernet realisiert. Da kann man 
sich erstmal nur auf den FPGA konzentrieren, weil das Lyout ja vom 
Hersteller kommt. Gibt da nen Tutorial: Using Triple Speed Ethernet on 
DE2-115 oder so

Autor: Bob A. (strippenzieher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Donni,

leider finde ich das von dir genannte Dokument nicht. Google spuckt zwar
Links aus, die scheinen aber alle tot zu sein :(

Eins versteh ich noch nicht:
Bei viele Designs die ich bisher gesehen habe sind zwei Pärchen zwischen 
Übertrager und RJ45 vertauscht. In den Datenblättern der PHYs sind die 
aber immer 1:1 durchverdrahtet.

Woher weiß ich denn wie ich da was anschließen soll/muss/kann?

Und wie verhält es sich bei einer RJ45-Buchse mit integrierten 
Übertragern wie z.Bsp der 7499111000A von Würth?
Datenblatt: https://katalog.we-online.de/pbs/datasheet/7499111000A.pdf

Autor: Meinste das? (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert

Autor: Donni D. (donnidonis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ftp://ftp.altera.com/up/pub/Altera_Material/12.0/Tutorials/DE2-115/using 
_triple_speed_ethernet.pdf

Das ist das Ding. Kann sein das es das auch noch neuer gibt. Je nach 
Browser wird der Link nicht richtig geöffnet, Firefox und Safari können 
es aber.

Autor: Schlaubischlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hat sich ein 0x20 reingemogelt!

ftp://ftp.altera.com/up/pub/Altera_Material/12.0/Tutorials/DE2-115/using_triple_speed_ethernet.pdf
ftp://ftp.altera.com/up/pub/Altera_Material/12.0/Tutorials/Using_Triple_Speed_Ethernet_design_files.zip


Autor: Martin S. (strubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mr. C schrieb:
> Bei Marvel kriegt man das nur unter NDA und das ist nicht trivial. Habe
> mich da auch schon mit abrackern dürfen.

Moin,

in den Linux-Kernelsourcen findet man übrigens etwas an Code zu div. 
Chips, deren Datenblätter mühsam zu finden sind. Zumindest reicht das 
für die Konfiguration..

Ump schrieb:
> Yupp, sei froh dass du GMII benutzen kannst, RGMII ist Mist. Da darfst
> du dann ein Clock-Delay auf der Platine realisieren, wenn es  blöd
> läuft.

So wild ist das nicht, solang die Paare sauber differentiell geroutet 
sind. Den Rest kann man im FPGA verzögern, wie bei HDMI sogar im 
Standard vorgesehen ("Lane deskewing"). RGMII macht schon Sinn, wenn die 
Platine eng ist - da wird der 'Vorteil' von GMII auch mal zum 
entsprechenden Nachteil.
Der eher unangenehme Teil ist der DDR-Kram, den man meist je Architektur 
mit Hersteller-Primitiven hintunen muss.

Autor: Ma W. (elektrowagi78) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:
> Der eher unangenehme Teil ist der DDR-Kram, den man meist je Architektur
> mit Hersteller-Primitiven hintunen muss.

was meinst du hier mit "hintunen"?

Autor: Martin S. (strubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus W. schrieb:

> was meinst du hier mit "hintunen"?

Dass man es nicht einfach architekturunabhängig hinschreiben kann, 
sondern explizit DDR-Primitiven zusammenkabeln und an den Constraints 
'feineinstellen' muss, damit die Timings zu schaffen sind.

Autor: Bob A. (strippenzieher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum auch immer klappts weder mit Iexplorer noch mit Firefox...
hab mir filezilla runtergeladen und damit konnte ich die Dateien 
runterladen, sogar eine neuere Version im Ordner

ftp://ftp.altera.com/up/pub/Altera_Material/16.1/Tutorials/DE2-115

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.

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