Hallo Leute, ich suche eine IP Core für einen Ethernet MAC. Ich bin auch bereit dafür zu zahlen. Er müsste folgende Eigenschaften haben: - 100Mb/s fähig - Verfügbar für Xilinx Kintex - Receiver Port sollte Timestampfähig sein Kennt vielleicht jemand einen Anbieter der diese Punkte erfüllt? Oder kann mir jemand Hersteller empfehlen wo ich suchen kann? Danke Sam
Hallo, suche mal bei Comblocks. Die haben TCP, UDP und MAC-cores Hier ist das Datenblatt für die MAC http://comblock.com/download/com5401soft.pdf Tom
Hallo Tom, danke der sieht eigentlich ganz gut aus. Aber leider sehe ich nicht das er die ankommenden Frames zeitstempelt. Das wäre sehr wichtig für mich. Weiss jemand ob es solche IPs gibt? Oder wie könnte man das am besten mit dem geringsten delay realisieren? Direkt nach dem Phy? mfg Sam
In dem Ethernetframe ist doch so auch kein Platz für ein Zeitstempel so wie ich das sehe. Du würdest damit ein proprietäres Paket erzeugen. Ob es dafür Mac -Cores gibt, bezweifle ich. Musst du wahrscheinlich wirklich selber implementieren, wenn du den Source hast. Und die Software für das verarbeiten der Pakete kann auch nicht Standard sein. Als MAC ginge evtl. auch von ARC Inc. der VMAC. Sollte der hier sein. http://www.embeddedtechnology.com/doc/vmac-10100-mbps-ethernet-media-access-control-0001
Wenn es ein einfacher Ehternet sein sollte ist es nicht so kompliziert. Habe ich hier auch mal publiziert. Beitrag "Ethernet GMII" > In dem Ethernetframe ist doch so auch kein Platz für ein Zeitstempel so > wie ich das sehe. Du würdest damit ein proprietäres Paket erzeugen. Ob Ich vermute du brauchst enen PTP (precision time protocol) Zeitstempel. Da wird die Zeit genau eingesetzt wenn das Paket an den Phy übertragen wird. Was soll der Ethernet für eine Schnittstelle in Richtung FPGA haben?
Schau doch mal bei opencores.org vorbei. Vielleicht findest du da was passendes.
Hi, naja, opencores. Die MIIs kann man sich da noch rausklauben. Den UDP-Stack (worauf es mit den Zeitstempeln wohl auf RTP rauslaufen wird) macht man sich besser selber. Es gibt einige Anbieter, die die UDP-Engine hart in HDL giessen, aber 100M performance kriegt man auch mit einer per CPU angekickten DMA-Engine gut hin. Braucht weniger Logik und ist nicht furchtbar schwer zu implementieren. CRC32 sollte man allerdings in HW machen. Von Fraunhofer gibt es sogar einen TCP-Hardwarestack. Billig sind die Lösungen allerdings nicht. Meine Entwicklung hat schon an die 20k verschlungen.
Hallo Leute, danke erstmal für eure antworten. Ich möchte in einem FPGA den MAC implementieren, bzw einen fertigen IP hernehmen. Wir brauchen auf jeden fall einen Zeitstempel für die ankommenden Frames. Und zwar für alle Frames, d.h. nicht nur für PTP. So einen IP gibt es anscheinend nicht, daher muss ich das selber machen. Jetzt frage ich mich an welcher Stelle ich das machen soll. Ich denke am genauesten wäre es zwischen Phy und Mac. Die dv leitung gibt ja an wann ein frame angekommen ist. Ich hab mir gedacht ich versuche zu diesem Zeitpunkt einen Zeitstempel anzulegen. Dann müsste ich die Zeitstempel aber immer den richtigen frames zuordnen. Könnte kompliziert werden. Eine Andere Möglichkeit wäre es nach dem MAC. Das würde gut funktionieren wenn ich das Delay vom MAC wüsste. Wenn es immer gleich ist dann kann ich das ja messen. Dann würde das so am leichtesten sein schätze ich. Die Daten gehen dann an einen DMA. Über diesen kann dann die Software auf die Frames zugreifen. Aber ich denke den Zeitstempel muss ich in der logik implementieren weil es da am genauesten ist oder nicht? mfg Sam
Sam schrieb: > Aber ich denke den Zeitstempel muss ich in der > logik implementieren weil es da am genauesten ist oder nicht? Hängt davon ab, wie genau Du den Zeitstempel brauchst. In Hardwarelogik hast Du die Genauigkeit und den Jitter Deines Systemtaktes als Grenze. Außerdem würde ich mir an Deiner Stelle gut überlegen, wo der Zeitstempel untergebracht wird. Einfach zu realisieren wäre ein separates FIFO. Problematisch kann dort die Synchronisation zwischen Zeitstempel und Datenpaket werden. Alternativ bietet sich evtl. die Möglichkeit im Datenpaket schon Platz für den Zeitstempel zu lassen und den beim Empfang einzufügen. Das geht natürlich nur, wenn man die Paketstruktur selbst in der Hand hat und ein nachfolgendes Modul nicht wegen einem falschen CRC die Pakete verwirft. Duke
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.