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.
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
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
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
Hm. Hatte bisher keine Probleme in der Richtung. Ist bekannt womit dieser Fehler zusammenhängt ? Gruß, Andreas
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
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.
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
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.