Ich habe einen recht hohen seriellen Datenstrom mit 11Mbit (Messwerte). Diese Daten möchte ich über Ethernet übertragen. Kann mir jemand sagen was ich genau dafür benötige und wieviel Arbeitszeit ich investieren muss. Für Xilinx FPGAs gibt es IP-Cores - reichen diese für die Geschwindigkeit? H.Faller
Sicherlich sollte ein 100MBit Ip-Core dafür ausreichen. Man muss schließlich den Overhead der Vorverarbeitung mit berücksichtigen. Über die Arbeitszeit lässt sich nichts genaues sagen. Weit verbreitet ist die Vorstellung das man einen Ip-Core nimmt und es läuft. Doch sieht die Realität oft anders aus. Den Zeitaufwand sollte man nicht unterschätzen.
Über die Xilinx FPGAs kann ich leider nichts sagen. Aber zumindest einen Tipp geben: Überlege dir, was passieren soll, wenn es beim Ethernet oder der Gegenstelle 'mal hakt. Da brauchst du viel Zwischenspeicher oder der Datenverlust ist programmiert.
Ich habe ein wenig mit dem Gb-Ethernet Core auf Xilinx herumgespielt. Wir haben das Loopback Design erweitert bis hin zu IP Pakete auswerten bzw bauen, was in Summe ca eine Woche Arbeit von mir bzw meinem Chef mit Hilfe beim Debugging von unserem Softwerkmeister war. Das war aber nur irgendwie hingeschustert, nicht ordentlich und für alle Fälle geeignet. Man muss sicher einige Wochen rechnen, bis es wirklich fertig ist. Die Geschwindigkeit war hervorragend, ca 950Mbit/s.
FPGA war iirc ein Virtex-4 FX 12. Ich glaube bzgl Speicheranbindung haben wir einfach interne block RAMs verwendet und halt sehr wenig Daten verschickt. Unser Softwerkmeister hat es auch mit Microblaze ein wenig durchgespielt, da war die Geschwindigkeit aber im Vergleich zur reinen HW-Lösung grottenschlecht (deutlich unter 100Mbit/s).
@Matthias: Habt ihr ein Eval-Board von Xilinx oder eines anderen Herstellers verwendet? Wenn ja, würde ich mich freuen, zu erfahren welches? danke und grüße
Habt ihr dort einen TCP/IP Stack implementiert oder werden die Daten mit UMP versendet?
Das Board ist irgendein Memec Design Board, die genaue Seriennummer finde ich jetzt nicht. Bzgl der Arbeit unseres Softwerkers muss ich mich korrigieren, der Prozessor war der PowerPC Core und die effektive Geschwindigkeit war damit bei 20Mbit/s. Von einem UDP/IP-Stack kann man so nicht reden, wir haben eigentlich nur die Adresse überprüft. Die UDP-Pakete die mein Design verschickt hat waren richtig genug damit es durch den UDP/IP-Stack von Linux gekommen ist, das hat uns gereicht.
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.