www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Ethernet MAC von Opencore in VHDL-Projekt einbinden


Autor: TomBecker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

ich möchte für ein VHDL-Projekt eine Ethernet-Schnittstelle für eine 
PC-Steueroberfläche nutzen. Dazu habe ich mir den Ethernet MAC "ethmac" 
von Opencore geladen. Mir ist noch nicht ganz klar, wie ich diesen Core 
in ein Projekt einbinden kann. Die Fragen dabei sind vor allem, wie ich 
diesen WISHBONE-Bus für das Senden und Empfangen korrekt nutze.

Über den Wishbone-Bus kommuniziere ich mit dem Core, um meine Daten zu 
transferieren. Nachdem ich die Daten in einen Speicher geladen und die 
Register mit den Pointern auf den Speicher korrekt gesetzt habe beginnt 
die Übertragung. Die Datenblätter lassen sich aber gar nicht zum 
Datenspeicher aus. Ist in dem Core bereits ein Speicher vorhanden, in 
den ich meine zu sendenden Daten schreiben kann oder muss ich einen 
externen Speicher mit dem Bus verbinden? In den Datenblättern habe ich 
lediglich die Adressen für die Register und die "Buffer Descriptoren" 
gefunden. Falls ich einen externen Speicher nutzen muss, wie 
unterscheidet der Core, ob die Speicheradresse, die ich auf den Bus 
lege, für den Master/Slave(Register, Tx/RxBuffer) oder für den externen 
Speicher(Daten) ist? Falls ich keinen externen Speicher nutzen muss - 
welche Adressen hat der Speicher für die Sende-/Empfangsdaten?

Wie steuere ich den Core korrekt für einen Sende-/Empfangsvorgang über 
den Wishbone-Bus an?

Wäre toll, wenn mir jemand mit seinen Erfahrungen aushelfen könnte.

Vielleicht hat jemand einmal mit diesem Core gearbeitet und kann mir ein 
exemplarisches Programmbeispiel zur Verfügung stellen, aus dem ich 
ersehen könnte, wie die Kommunikation prinzipiell funktioniert.

Vielen Dank im Voraus.

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Wishbone-Bus kannst Du natürlich auch "per Hand" ansteuern (z.B. via 
FSM). Aber eigentlich ist der dazu gedacht Wishbone-Devices mit einem 
Wishbone-fähigen Core zu verbinden. So eine Art ISA-Bus (Vorgänger von 
PCI-Bus) im FPGA.
Dann brauchst Du "nur noch" die entsprechende Software auf Deinem Core 
laufen zu lassen.

Rick

Autor: Andreas S. (andreas911)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe so einen Mac-Core auf einem Altera Board unter µc-Linux zum 
laufen bekommen. Allerdings habe ich den Mac von Maco benutzt, da dieser 
auf den Avalon-Bus abgestimmt ist. Falls ein Board mit dem Avalon-Bus 
genutzt wird, würde ich auf jeden Fall diesen Core empfehlen.

Die Register gibt es einmal im MAC selbst und dann noch einmal im 
verwendeten PHY. Bei mir wird dann der MAC mit dem PHY über das MII 
verbunden.

Über das MII sind dann die Regs vom Phy erreichbar.

Als Buffer dient bei mir der SDRAM, welcher mit dem Slave Eingang des 
Core's verbunden wird.

Mal am Rande.
Was für ein Board und was für ein PHY wird denn benutzt ?


Gruß,

Andreas

Autor: Roger Steiner (edge)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Opencores 10/100 MAC ist mit Vorsicht zu geniessen, speziell die 
Maco Avalon Variante. Bei 100Mbps in verbindung mit SDRAM kommt es hin 
und wieder vor dass er ingress Frames nicht korrekt ins RAM schreibt.

PHY management geht ueber MDIO.

Cheers, Roger

Autor: Andreas S. (andreas911)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm. Hatte bisher keine Probleme in der Richtung. Ist bekannt womit 
dieser Fehler zusammenhängt ?


Gruß,

Andreas

Autor: Roger Steiner (edge)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf Opencores in der bug liste. Zum Maco Avalon wrapper gibts bei 
http://www.niosforum.com diverse posts von Leuten mit Problemen.
Unter anderem hat Jemand in der Post-your-IP section den core mit einem 
native Avalon interface released.

Cheers, Roger

Autor: Jakob Jones (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte verzeihen Sie diesen Post. Ich habe Google bei der Übersetzung von 
Englisch auf Deutsch. Ich schrieb das Schlüsselbein Teil des OpenCores 
MAC und ersetzt es mit einem nativen Avalon Interface. Sie erreichen ihn 
über die NIOS-Forum in 
http://forum.niosforum.com/forum/index.php?showtopic=8287.

Autor: Frouni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich möchte auch eine Ethernet-Schnittstelle (nur MDIO/MDC) realisieren.
Das ganze soll über einen Wishbonebus angesteuert werden.

Ich habe in dieser Sache nicht gerade viel Informationen bei google 
gefunden.
Die Seite Opencores läuft momentan nicht bei mir....

Hat jemand so etwas schon mal zum laufen gebracht?
Könnte er ein Beispiel ins Forum stellen?

Wäre super!!

Gruss frouni

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

Bewertung
0 lesenswert
nicht lesenswert
Frouni schrieb:
> Hallo zusammen,
>
> Ich möchte auch eine Ethernet-Schnittstelle (nur MDIO/MDC) realisieren.
> Das ganze soll über einen Wishbonebus angesteuert werden.

Das ist doch nur der Bus für die Register in der Phy, Die Daten werden 
über die Leitungen TX und RX übertragen. Das reicht nicht für eine LAN 
Schnittstelle.

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab mal für Elektor aus dem Opencores Ethernet MAC + T51 Core einen 
Webserver gebastelt. Dieses Projekt (Teil 9, EX24) ist auf das absolute 
Minimum abgespeckt und daher, so denke ich, relativ gut für den Einstieg 
ins Thema Ethernet geeigent. Der Source kann bei Elektor runtergeladen 
werden
http://www.elektor.de/jahrgang/2007/februar/fpga-k...

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.