Hallo, Es soll eine Maschine mit einem PC verbunden und Daten übertragen werden. Die Entferneung zwischen Maschine und PC ist wohl nicht größer als 5m. Die Netto-Datenrate muss mindestens 320MB/s (2560Mbit/s) sein und der Datenfluss darf nicht abreißen. Jetzt ist die Frage wie macht man so etwas am besten? Die ersten Gedanken von meinem Kollegen waren: 1. 10Gb Lan. Hier gibt es schon fertige Lan-Karten und auch IP-Cores. 2. PCIe X4 Hier soll es auch bereits eine Steckmöglichkeit geben, an der man an das Slotbrech ein Kabel anschließt. Entsprechende IP-Cores gibt es auch hier. Jedoch habe ich so ein Slotblech nicht gefunden. Kann mir da jemand einen Tip geben? Wie lang darf hier das Kabel sein? Ich bin auch noch über Möglichkeiten gestolpert: 1. Serial RapidIO. Hier muss man allerdings dann noch eine PCIe->RapidIO Bridge basteln oder gibt es die käuflich wo zu erwerben? Die Geschwindigkeit kann es, aber wie lange darf hier das Kabel sein? Was für Kabel & Stecker verwendet man hier? Man könnte ein HDMI-Kabel oder ein Ethernetkabel verwenden... Gibt es hier ein Standard? 2. Xilinc Aurora: hier ist eigentlich die gleiche Fragestellung wie bei Serial RapidIO. Wie würdet ihr das Problem lösen? Ich bedanke mich für eure Lösungsvorschläge. Grüße Torsten
ich habe zwar keine ahnung von FPGA aber eventuell gibt es ja dafür die Thunderbolt schnittstelle, was zu schluss ja auch nur PCIe ist http://de.wikipedia.org/wiki/Thunderbolt_%28Schnittstelle%29 Dann sind schon mal kabel und stecker geklärt.
Torsten schrieb: > Die Netto-Datenrate muss mindestens 320MB/s (2560Mbit/s) sein > und der Datenfluss darf nicht abreißen. Was bedeutet "nicht abreißen"? Welcher Jitter ist erlaubt? Was passiert im Fehlerfall?
Hallo Peter II Danke für die schnelle Antwort. Ich habe gesehen, dass Thunderbolt extrem neu ist. Da gibt es noch nicht viel Hardware. Aber ich habe auf die schnelle ein Karte gefunden: ASUS ThunderboltEX PCIe-Karte Ist das Hauptsächlich für Apple oder auch PC? Ich habe noch etwas anderes gefunden: XAUI Evtl. kann man auch Sata verwenden...
Hallo Lothar Also es werden Daten vom Gerät zu PC übertragen. Wenn die Datenrate öfter unterschritten wird, dann wird wohl ein Bufferoverflow irgendwann passieren. Wie krittisch das ist, kann ich nicht sagen - aber wahrscheinlich nicht zu kritisch.
Ach so sorry Im Fehlerfall also im Buffer overflow werden wohl Messdaten verlohren gehen. Wie kritisch das ist kann ich leider auch nicht beantworten.
Hab grad nochmal was gefunden über PCIe http://www.bressner.de/categories/computing/pcie-express/?gclid=CNn8koTl8bMCFUHxzAodi3wAaw
Torsten schrieb: > 2. PCIe X4 Hier soll es auch bereits eine Steckmöglichkeit geben, an der > man an das Slotbrech ein Kabel anschließt. Entsprechende IP-Cores gibt > es auch hier. Jedoch habe ich so ein Slotblech nicht gefunden. Kann mir > da jemand einen Tip geben? Wie lang darf hier das Kabel sein? nennt sich Cabled PCIe, maximal 7m. USB 3.0 mit Cypress FX3 ist noch eine Altenative.
InfiniBand klingt auch interessant. An USB 3.0 hätte ich auch mal denken können. Ich glaube da habt ihr mir schon mal sehr geholfen. Ich bedanke mich für eure hilfe und wünsche euch noch einen schönen Abend. Grüße Torsten
Ich bin hier gerade am Machen mit USB-3. Bislang nur von der Rechnerseite. Das Protokoll ist schon so kompliziert, das möchte ich nicht im FPGA machen wollen. Vielleicht gibt es einen USB-3 Client Core, der das kann. Der wird aber bestimmt sehr teuer. Ich habe nach eine USB-3 Host IP-Core geschaut, der ist noch nicht einmal erhältlich.
Hallo Torsten Falls du USB 3 (z.B: den Cypress FX3) verwenden möchtest, brauchst du meiner Erfahrung nach einen genügend grossen Buffer (z.B. ein DDR-RAM) auf der "Maschinen" Seite, um einen Stream unterbruchsfrei übertragen zu können. Gruss Tim
>Die Netto-Datenrate muss mindestens 320MB/s (2560Mbit/s) sein
Was willst Du denn eigentlich übertragen?
Eine ganze Videothek zugleich?
@ PittyJ Der Chip Cypress FX3 übernimmt das ganze Protokoll. USB 3.0 wäre - meiner meinung nach - elegant. Allerdings hatten meine vorgänger sohl schon ihre schwirigkeite mit dem cypress fx2. Da soll wohl irgendwie das timing extrem schwer einzuhalten sein im master-slave mode... hab das aber noch nicht richtig verstanden, was die damit gemeint haben. Ich habe allerdings auch gerade erfahren, dass USB 3.0 keine Option ist. Die wollen das nicht weil zu neu - und Kinderkrankheiten? @Tim: Danke für den Hinweis. Großer Buffer ist gut. @Matthias. ggg Videothek ist gut ;-) Ich kann es dir gar nicht genau sagen, was die Maschine für Daten aufnimmt. Ich soll mich nur wegen der Schnittstelle informieren. Alles andere hat man nicht für nötig gehalten mir zu erzählen. So ich gehe jetzt in den Feierabend. Euch auch ein schönen Feierabend! Viele Grüße und danke für eure Hilfe nochmal!
Was auch eine Möglichkeit wäre: Mehrere 1GBit-Ethernet benutzen. Allerdings hast Du mit Ethernet das Problem, welche Protokolle Du einsetzen kannst (TCP/IP oder UDP). Meines Wissens gibt es im FPGA keine IP-Cores für TCP/IP, sondern der TCP/IP-Stack läuft als Software auf einem CPU-Core. 1GBit mit UDP hab ich schon im FPGA realisiert, allerdings hat UDP seine Einschränkungen.
Bronco schrieb: > Meines Wissens gibt es im FPGA keine IP-Cores für TCP/IP, sondern der > TCP/IP-Stack läuft als Software auf einem CPU-Core. Das geht auch bei schnellen FPGAs nicht so ganz einfach, weil Du bei den 2,5GB wenigstens 3 lines brauchst und damit auch 3 PHYs+MACs. Im Virtex gibt es hard MACs, aber ich weiss nicht, wieviele. Wenn du TCP/IP fahren willst brauchst Du eine Bruttorate von 20%+ und damit dürftest du den 4. PHY+MAc ankratzen, zumal Du für das handling schon mal einen kompletten PowerPC im Virtex reservieren kannst. 4 parallele FGPGs wären wenigstens nötig. Da gibt es bessere Lösungen. Wenn es wirklich Videodaten sind, kannst Du ja eine Videoschnittstelle einbauen. Camera Link über SERDES schafft pro Kabel 320MBp.s. Über 2 Kabel (full mode) hättest Du brutto 640MB/s. http://de.wikipedia.org/wiki/CameraLink Oder doch 10GBit-Lan?
Ich an deiner Stelle würde 10Gb Ethernet verwenden. Die PHYs sind mit relativ geringem Aufwand auch in geringeren Stückzahlen erhältlich. Dann könnte man auch auf eine optische Übertragung setzen was weniger störempfindlich sein sollte. Aber das kommt auch auf den Einsatzort darauf an. Such mal nach SFP+ Modulen. Ein weiterer Vorteil ist dass es die Gegenseite schon fertig zu kaufen gibt, anstopseln und "fertig". Zu überlegen wäre jedoch ob der PC die Daten fortlaufend mit dieser Datenrate (weiter)verarbeiten kann.
USB 3.0 ist doch mittlerweile nicht mehr neu, das ist etabliert und funktioniert mit dem FX3 problemlos. Allerdings sind 320MB/s schon etwas das, was der FX3 schafft. Aber die Ansteuerung ist wirklich simpel, besser als beim FX2. Ich arbeite schon eine Weile mit dem. Cabled PCIe wäre eine Option, ist allerdings im FPGA um Welten aufwendiger als der popelige Parallelbus zum FX3. Alles andere wird noch viel komplexer (Infiniband, 10GbE...). Für PCIe x4 wäre eventuell der Gennun Controller noch was, da hast du einen DAM IP Core dabei. Allerdings ist PCIe für Streaming denkbar ungeeignet, da das auf Memory Mapped aufbaut. Und die hohe Geschwindigkeit erreicht man nur, wenn man dem Scatter Gather DMA den wahlfreien Zugriff auf den Speicher erlaubt. Im FIFO Modus sinkt die Bandbreite rapide. Ich würde USB 3.0 nehmen, der FX3 kostet etwa 30€ und macht alles fix und fertig. Die Firmware gibts von Cypress dazu und die läuft out of the box.
Christian R. schrieb: > Allerdings ist PCIe für Streaming denkbar ungeeignet, da das auf Memory > Mapped aufbaut. Und die hohe Geschwindigkeit erreicht man nur, wenn man > dem Scatter Gather DMA den wahlfreien Zugriff auf den Speicher erlaubt. Sowas hatte ich vor Jahren mal für UMTS mit einem SOPC-System gebaut. Allein an der FIFO-Steuerung und Anlopplung an den PLDA-PCIe Core sitzt man 3 Monate, bis es läuft. Franz schrieb: > Die PHYs sind mit > > relativ geringem Aufwand auch in geringeren Stückzahlen erhältlich. Hast Du das bereits eingesetzt? Wie hast Du das mit der MAC-Funktionalität gelöst? Christian R. schrieb: > USB 3.0 ist doch mittlerweile nicht mehr neu, das ist etabliert und > > funktioniert mit dem FX3 problemlos. Da würde mich mal die Störsicherheit interessieren. Was für eine Art von Machine ist das? EMV?
Christian R. schrieb: > Allerdings ist PCIe für Streaming denkbar ungeeignet, da das auf Memory > Mapped aufbaut. Und die hohe Geschwindigkeit erreicht man nur, wenn man > dem Scatter Gather DMA den wahlfreien Zugriff auf den Speicher erlaubt. > Im FIFO Modus sinkt die Bandbreite rapide. Das kann ich so nicht stehen lassen. Selbstverständlich ist PCIe herrvorragend für Streaming geeignet, das beweisen unzählige auf dem Markt befindliche Produkte einschliesslich USB 3.0 Controller :-). Die Lernkurve ist nur steiler als mit einer fertigen USB 3.0 Lösung. Beliebter Einsteigerfehler ist die Annahme dass man mit Memory Mapped IO die PCIe mehr als ein paar MByte/s erreichen kann, dass Problem gab es aber auch schon beim altem PCI. D.h, zum Streamen braucht man Busmaster DMA, aber ein overdesigned Scatter/Gather DMA Core ist nicht nötig, ein grosser fest allozierter Ringbuffer tut es auch und ist sogar ca 10% performanter. Das dafür nötige zusätzliche Memorycopy fällt erst bei sehr viel höheren Geschwindigkeiten ins Gewicht. Auch hat man bei PCIe gegenüber USB den Nachteil dass man sich die Kerneltreiber mehr oder weniger selber schreiben muss. Bei USB kann man auf WinUSB oder libusb aufsetzen. Wenn man mir die Aufgabe stellen würde, würde ich PCIe wählen. Einfach weil ich es schon kann, den FX3 müsste ich erst lernen.
J. S. schrieb: > Da würde mich mal die Störsicherheit interessieren. Was für eine Art von > Machine ist das? EMV? USb 3.0 setzen wir zwar bisher noch nicht in industriellem Umfeld ein, ich sehe da aber sogar weniger Schwierigkeiten als bei 2.0, da die Übertragung über die Super Speed Lanes robuster ist als die pseudo-differenzielle bei 2.0 2.0 HighSpeed mit dem FX2 setzen wir allerdings weltweit im industriellen Umfeld (Bahn) ein, bisher ist da noch nicht ein Byte weggekommen. Ordentliche Kabel und Schaltungsdesign sind da natürlich Voraussetzung. Es ist ein weit verbreiteter Irrtum, dass USB nicht industrietauglich sei, selbst beim Surge Test beim CE ist das nicht abgeschmiert. Zu PCIe: Klar, Streaming ist natürlich immer möglich, aber man erreicht nicht die vollen Datenraten, soweit ich weiß. Wir wollten das auch mal weiter ausbauen, aber gerade PLDA hat uns da zu Verstehen gegeben, dass man schon den o.g. Ringpuffer aus mehreren DMA zusammen bauen muss, deren FIFO Modus liefert wohl nur etwa 20% Bandbreite. Die Lernkurve ist da deutlich steiler, auch die Usebility auf Host Seite ist nicht so doll, die Kosten gerade bei der Kabellösung höher als USB 3. Alleine das x1 Kabel kostet in 3m schon soviel wie der FX3 Chip. Hat allerdings auch seine Berechtigung.
Wow ... Hey Leute... da hat sich ja hier nochmal richtig viel getan... Ich seh schon, ich bin da noch recht am Anfang... Einige Sachen verstehe ich noch nicht ganz... aber da muss ich mich erst wohl noch ein bisschen einlesen. Ihr hab mir echt viel weiter geholfen. Vielen dank dafür! Ist auch mal sehr Interessant, wie das erfahrene ... Profis das sehen. Ich habe leider auf Arbeit niemanden mit dem ich mich austauschen kann.
Christian R. schrieb: > Zu PCIe: Klar, Streaming ist natürlich immer möglich, aber man erreicht > nicht die vollen Datenraten, soweit ich weiß. Vom Device (FPGA) in den PC ist es relativ leicht die volle Datenrate zu erreichen (d.h. die mögliche Datenrate nach Abzug des Protocoloverheads). (ca 200 MB/s bei Gen1 x1, bei Gen2 das doppelte). Da darf dann natürlich kein anderer Traffic sein, wie z.B. Registerzugriffe. Die andere Richtung ist komplexer. Man braucht ca 3 ausstehende DMA-Readrequests um auf volle Geschwindigkeit zu kommen, die aber leider in beliebiger Reihenfolge beantwortet werden dürfen. D.h. man braucht zwischen Fifo und PCIe Core einen Reorderbuffer, falls der Core keinen hat. Mit nur einem ausstehenden Request sind maximal 60 MB/s bei Gen1 x1 machbar. Christian R. schrieb: > 3. Alleine das x1 Kabel kostet in 3m schon soviel wie der FX3 Chip. > Hat allerdings auch seine Berechtigung. Mit etwas Unterstützung von Pericom tuts auch ein Cat6 Kabel (max 7m).
Mir fällt zu dem Thema noch Fibre Channel ein. Das existiert seit vielen Jahren, gibts als Kupfer- und Glasfaserversion mit 1 bis 20 GBit/s. Für PCs gibts fertige HBAs. Auf der Geräteseite sollte es auch fertige Lösungen geben - die Hersteller von Storagesystemen entwickeln ihre Chipsätze ja auch nicht selber. fchk
A.S. schrieb: > Bronco schrieb: >> Meines Wissens gibt es im FPGA keine IP-Cores für TCP/IP, sondern der >> TCP/IP-Stack läuft als Software auf einem CPU-Core. > > Das geht auch bei schnellen FPGAs nicht so ganz einfach, weil Du bei den > 2,5GB wenigstens 3 lines brauchst und damit auch 3 PHYs+MACs. Im Virtex > gibt es hard MACs, aber ich weiss nicht, wieviele. Wenn du TCP/IP fahren > willst brauchst Du eine Bruttorate von 20%+ und damit dürftest du den 4. > PHY+MAc ankratzen, zumal Du für das handling schon mal einen kompletten > PowerPC im Virtex reservieren kannst. 4 parallele FGPGs wären wenigstens > nötig. Da gibt es bessere Lösungen. > > Wenn es wirklich Videodaten sind, kannst Du ja eine Videoschnittstelle > einbauen. Camera Link über SERDES schafft pro Kabel 320MBp.s. Über 2 > Kabel (full mode) hättest Du brutto 640MB/s. > > http://de.wikipedia.org/wiki/CameraLink > > Oder doch 10GBit-Lan? Wir verwenden ein zugekauftes UDP Streaming Core, das triple speed (also 10/100/1000Base-T) unterstützt. Das Core ist reines VHDL (keine MCU) und unterstützt halt UDP und ARP komplett sowie TCP-Erkennung (dann muss ein nachgeschaltetes Core allerdings die Verarbeitung machen). Ich habe dann noch RTP und RTCP, sowie IGMP drangebastelt. Zusammen liegt man da (für unsere Bedürfnisse angepasst) bei 6k LE in einem Cyclone. TCP ist aber eigentlich für reines Streaming auch unüblich (abgesehen von Shoutcast). Wenn ich Deine Bruttodatenrate an einen PC pusten müsste würde ich für einen Schnellschuss 4 Cores parallel schalten, 4 PHYs dahinter knallen und 4 crossover links an einen PC mit 4 Netzwerkkarten machen. Dann braucht man nur noch eine App auf dem PC die die Daten wieder reassembled. Durch die RTP Header hast Du eine Sequenznummer (es gibt allerdings keine Notwendigkeit für Reordering bei Crossover oder LAN, da es selten mehr als eine Route gibt). Die Daten verschickt man halt interleaved über die 4 Cores an den PC. Vorteil der IP Lösung ist, dass Du keine spezialisierte Hardware im PC benötigst und prinzipiell mit jedem Rechner arbeiten kannst. Nur für das Streaming müsste z.B. ein EP4CE30 komplett ausreichen (man braucht für das Core halt 8kB RAM minimum pro Core). Mit 10GBase-T kenn ich mich leider nicht aus, aber dafür braucht man dann wohl auch einen GX Baustein mit 3,25Gbs Transceivern. Ist halt die Frage wofür man sich entscheiden will, Stand der Technik oder Zukunft. Meistens hinken die Kunden aber in der Technik ein paar Jahre hinterher, 1000Base-T ist zum Beispiel im Broadcastbereich (SAT, FM, etc.) für Endgeräte immer noch eine Seltenheit.
Joost S. schrieb: > Wenn ich Deine Bruttodatenrate an einen PC pusten müsste würde ich für > einen Schnellschuss 4 Cores parallel schalten, 4 PHYs dahinter knallen > und 4 crossover links an einen PC mit 4 Netzwerkkarten machen. Da wäre mir die USB-Geschichte aber symphatischer.
Christian R. schrieb: > 2.0 HighSpeed mit dem FX2 setzen wir allerdings weltweit im > industriellen Umfeld (Bahn) ein, bisher ist da noch nicht ein Byte > weggekommen. Ordentliche Kabel und Schaltungsdesign sind da natürlich > Voraussetzung. Interessant. Darf ich fragen, wie lange Eure Kabel maximal sind?
Bronco schrieb: > Interessant. Darf ich fragen, wie lange Eure Kabel maximal sind? Natürlich immer < 5m zwischen Hub/Device oder Hub/Hub. Zwischen PC und Device ist da immer eine USB Aktiv-Verlängerung, also Hub, weil es insgesamt mehr als 5m sind. Wenn man sich an die App-Note von Würth hält, was EMV Schutz des USB angeht, dann ist man da quasi schon auf der sicheren Seite.
Christian R. schrieb: > Natürlich immer < 5m zwischen Hub/Device oder Hub/Hub. Wir gehen derzeit von USB2.0 auf 1GBit-Ethernet über, weil unsere Kunden ein Problem mit der begrenzten Kabellänge von USB haben. Wir setzen standardmäßig sehr hochwertige USB-Kabel ein, die dann oft durch längere Billigkabel oder Verlängerungen zunichte gemacht werden. Und dann heißt es, USB wäre zu störanfällig für Industrieanwendungen... :-O Persönlich würde ich lieber in Richtung USB3.0 gehen und einen Cypress o.ä. an den FPGA anbinden, als Ethernet in VHDL zu implementieren.
Für lange Strecken nehmen wir Icron. Erspart den zusätzlichen Entwicklungsaufwand. Und geht sogar optisch bei einer Anwendung hier über 300 Meter.
Bronco schrieb: > als Ethernet in VHDL zu implementieren. Für einfaches framing ist das gar kein Problem. Brauchst Du nicht mal einen MAC. Für UDP gibt es Lösungen, die direkt auf dem Phy arbeiten und rucki zucki zu implementieren sind. Das einzige, was Aufwand ist, ist das technische rund um die Ports im FPGA in Sachen Serializing und Timing. Mit einem Stratix ist das gar kein Problem und auch die dickeren Cyclone packen das locker wech. Mehr weiss das Datenblatt. Ist halt alles eine Frage, was man will. Datensicherheit, mehrere Teilnehmer, Redundanz, Verbindungshopping und das Aushandeln jeweils, können im FPGA schon etwas mühsam werden. Ein richtiges TCP/IP Protokoll mit allem pipapo nach Standard baust Du in 2 Jahren nicht komplett auf. Da lohnt sich der Kauf eines MAC. Auf die opencore MACs würde ich mich nicht verlassen, wenn man kein Fachmann ist. Zu buggy! Der Altera-MAC ist recht billig und leicht zu erlernen, allerdings dauert es ein wenig, bis man alles am Laufen hat. Der Xilinx-MAC dauert länger. Wenn man richtig Datendurchsatz haben will, wird es aber irgendwann kritisch: Die Anbindung und Verwaltung des MAC und vor allem der Daten wird wiederum recht konfus, wenn es um komplexe Aufgaben geht und dann lohnt sich die Implementierung eines CPU-Cores. NIOS geht da aber nur, wenn er auch einem Stratix läuft. Auf den kleinen Viechern ist das alle zu langsam. Dann würde ich eher zu einem Xilinx mit Power-PC raten. Wäre mal interessant zu wissen, was die neuen Altera-FPGAs mit ARM so können. Für einfache, lineare Operationen auf der Datenbasis würde ich es, wann immer möglich, in VHDL machen. Hat den Vorteil, dass man es bei neuen Technologien leicht hochskalieren kann. Was in Software auf einer MCU läuft braucht im Gegensatz dazu immer wieder eine soft CPU.
Christian R. schrieb: > Für lange Strecken nehmen wir Icron. Erspart den zusätzlichen > Entwicklungsaufwand. Und geht sogar optisch bei einer Anwendung hier > über 300 Meter. Kannte ich noch gar nicht, danke!
Tim schrieb: > LWL? Genau, Icron bietet USB 2.0 über LWL an, das geht zuverlässig und out of the box.
Leider ist USB2 recht lahm im vergleich zur geforderten Datenrate von 320MB/s (2560Mbit/s). LWL ist auch nur das Medium auf dem das transportiert wird - was man darauf macht ist wieder was Anderes. Ich würde eine fertige Technik verwenden wie Infiniband, Fibre Channel oder 10GBit Ethernet. PCIe hat wie auch SATA vermutlich das Problem mit der Reichweite, 5m ist halt doch eher länger wie das wofür diese Standards entwickelt wurden.
Gustl Buheitel schrieb: > Leider ist USB2 recht lahm im vergleich zur geforderten Datenrate von > 320MB/s (2560Mbit/s). Deshalb haben wir ja USB 3.0 mit dem Cypress FX3 vorgeschlagen. Dafür gibts notfalls auch optische Repeater.
Habe mit die Tage einem Kollegen gesprochen: Die haben wohl jahrelang mit Ehtercat rumgeeiert und sind immer an Bandbreitengrenzen gestossen. Jetzt sind sie auf USB3.0 umgestiegen und schirmen die Leitung noch aktiv ab, indem sie symmetrische Übertragung betreiben und das bufferpotential der Treiber passend anheben. Damit werden die Augen des USB-Signals dynamischer und die Übertragungslänge wächst auf über 20m, wobei sie nur 15 brauchen. Ich werde mich ganz klar USB 3.0 zuwenden. Das ist die Zukunft. Zumal die chips billig und einfach zu betreiben sind.
>Es soll eine Maschine mit einem PC verbunden und Daten übertragen >werden. Die Entferneung zwischen Maschine und PC ist wohl nicht größer >als 5m. Die Netto-Datenrate muss mindestens 320MB/s (2560Mbit/s) sein Vielleicht selber machen mit 10/8-Bit-Protokoll, und den Transceivern v. FPGA.
Dann brauchst Du wieder etwas im PC, als einen FPGA mit Anbindung an PCIe z.B. Warum selber bauen, wenn es da schon was gibt? Solange es mit 1GB geht würde ich das Ethent nehmen, weil das jeder PC schon drinne hat.
GbE ist ja schön und gut, aber wie schon oben mehrfach ermittelt, bei Weitem nicht schnell genug, um 320MB/s rüber zu ziehen. Eigentlich bleibt nur 10GbE, PCIe oder USB 3.0 übrig. Jeder vernünftige Projektleiter wird sich für USB 3.0 entscheiden, das hat nun mal inzwischen jeder PC und ist dank integrierter Chips und fertiger Treiber billig und schnell entwickelt, wenn man bei 0 anfangen muss.
Mal 'ne andere Frage, wie willst Du denn 320 MB pro Sekunde an Daten verarbeiten? Auf die Platte speichern kannst Du das in dem Tempo jedenfalls nicht, und ein Algorithmus, der auf der CPU läuft müsste auch ziemlich flott sein, dass das noch hinhaut.
>Die haben wohl jahrelang mit Ehtercat rumgeeiert und sind immer an >Bandbreitengrenzen gestossen. LOL. Ja, das EtherCAT... Die eierlegende Wollmilchsau unter den Feldbussen ;-) >das hat nun mal >inzwischen jeder PC und ist dank integrierter Chips und fertiger Treiber >billig und schnell entwickelt Das ist in Firmen ein Grund, es nicht zu benützen...
Jürgen S. schrieb: > Matthias Lipinsky schrieb: >> Das ist in Firmen ein Grund, es nicht zu benützen... > Wieso? Kostet ja nicht extra, kann also nix sein ;) Ist aber tatsächlich ein Effekt, den ich bei vielen "Profis" auch zu beobachten glaube.
Ja, besonders eifrige Projektleiter mit zu wenig Ingenieur-Hintergrund neigen dazu, proprietäre, aufwendige Speziallösungen zu bevorzugen. Was nicht viel kostet, kann ja nicht viel wert sein. Naja, jedem das seine, wir setzen auf etablierte Standard-Interfaces.
Sven B. schrieb: > Kostet ja nicht extra, kann also nix sein ;) > Ist aber tatsächlich ein Effekt, den ich bei vielen "Profis" auch zu > beobachten glaube. Das ist nicht von der Hand zu weisen, sicher, aber sowas beobachte ich eher beim unerfahrenen Nutzer, der sich Glanz des Neuen blenden lässt.
Bisher wurde noch nicht beantwortet was das Ganze soll, resp ob 's denn Alternativen gibt. 320MByte /s sind bescheuert. sowas macht man allenfalls am Cern, mit dem passenden Budget. Ich wuerd mir mal ueberlegen welche Verarbeitung mir die Datnrate signifikannt reduzieren wuerde.
Wie willst Du die Datenrate reduzieren? und warum?
Es wird seinen Grund haben, warum die Daten breutbandig in den PC
sollen. Die werden wohl dort verarbeitet werden müssen. Meistens ist es
eine Art von Bildauswertung, die
a) so kompliziert ist, dass man sie nicht mehr auf einem embedded-System
rechnen kann
b) die soviel Platz braucht, dass man sie nicht kostengünstig in der
Subkomponente lösen kann,
c) es offline gerechnet werden kann, weil die Datenrate nur punktuell
hoch ist und die Software ansonsten brach liegt, oder andere Anlagen
abfertig
d) die Daten sternförmig verglichen werden müssen und die Subkomponenten
sich gegenseitig nicht sehen
f) die Rechnerei auf dem PC billiger ist
> sowas macht man allenfalls am Cern, mit dem passenden Budget
Da täuschst Du Dich gewaltig! Solche Banbreiten zu PC-Systemen brauchen
u.a.
* nahezu jede Radarapplikation,
* die meisten SDR-Funksysteme
* Suchköpfe in Zielfindesystemen (MIL), z.B. AVAX
* IR-Leitsysteme in Hubschraubern
* kompakte Partikelbeschleuniger für Medizingeäte
* Bildverarbeitungsysteme wie CBT, MRT oder DVT
* Lidar-Systeme
Ich weiss das zufällig so genau, weil ich an all solchen Systemen
bereits mitentwickelt habe.
Cern braucht das genau zufällig nicht, denn dort hat man passende TDCs
auf der Basis selbstentwickelter Converter-Asics und geht mehrkanalig
über PCI-lanes in die Rechner. Das ist also aus der einen Sicht eine
Nummer kleiner, aus der Systemsicht 2 Grössenordnunge grösser.
Und, ja - auch an TDCs für Cern habe ich schon mitentwickelt.
320MB/s sind überhaupt nicht bescheuert. Gerade im Mess- und Prüfbereich mit ständig steigenden Anforderungen an Auflösung und Geschwindigkeit bei gleichzeitiger lückenloser Dokumentation incl. Rohdatenspeicherung ist das keine absurde Forderung.
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.