Ethernet MAC von Opencore in VHDL-Projekt einbinden

Gast #901686
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.
#902753
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
Gast #1134567
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
(Firma: www.dossmatik.de) #1274930
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.
Gast #1274963
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-kurs-(9).64638.lynkx

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