Für ein komplexes Datenerfassungmodul in Hardware, dass aus DSPs und
FPGAs besteht, benötige ich ein Datenübertragungsmodul, dass ich frei
konfigurieren kann (Protokoll) und welches mit Daten mit maximales
Bandbreite in einen PC bringt. Da die Bandbreite indirekt die
Wiederholzyklen des Erfassungsmoduls limitiert (Daten können nicht
gespeichert werden, sondern müssen in Echtzeit weg, um sie auf einem
Rechner zu speichern) möchte ich so schnell wie möglich werden, da die
Zyklenzahl letzlich die Abtastrate darstellt.
Benötigt werden idealerweise 3GBit pro Sekunde. Pro Zyklus fallen
maximal 300kBit an, die Abtastrate des Systems betrüge dann immer noch
10kHz. Die Distanz betrüge 40-50m. PCIe scheidet leider aus und vorort
kann ich keine Festplatten oder solid states betreiben.
Die Idee ist, 4 Ethernet-gigabit-Module (wegen 25% overhead) auf 4
kleine Industrie-PC-Platinen mit Platten zu streamen. 4 Kabel wären
tolerabel. Die Daten kommen aus Wandlern, werden über DSPs
vorverarbeitet und reduziert und gehen dann auf einen FPGA, von dem aus
müsste man aufs Modul.
Kennt da jemand eine Lösung, die ich an eigene Hardware aufsetzen kann?
Aufsteck-PCB?
Muss es Ethernet sein? Oder ist das nur wegen der Länge? Ansonsten
könntest du auch USB 3.0 mit optischem Repeater nehmen, da gehen
300...400MB/s 100m weit. Da musst dich um kein Protokoll usw. kümmern
und hast eine Standardlösung statt der 1000. proprietären Büchse.
DuArte schrieb:>>Da musst dich um kein Protokoll kümmern>> Ja klar, nur um USB ;-)
Nö, das macht im Gegensatz zu GbE ein Chip* und das wars, da liefert man
die Daten parallel an und fertig. Bei GbE gibts so einen Chip bzw. Modul
immer noch nicht.
*http://www.cypress.com/?id=3521&source=header
Franke schrieb:> Schau dich mal nach CoaxPress um, das kann bis 6 GBit und 100m,> is ne einzelene Coaxleitung.
Das klingt nicht schlecht, danke.
Christian R. schrieb:> 400MB/s 100m weit.
Das wären 3.2Gb, allerdings habe ich da Schlimmes in Sachen Einstreung /
Reichweite gehört.
E. M. schrieb:> Das wären 3.2Gb, allerdings habe ich da Schlimmes in Sachen Einstreung /> Reichweite gehört.
Ja, USB hat bisweilen einen schlechten Ruf, wohl durch den vielen
Schrott im Consumerbereich. Richtig gemacht, ist das extrem zuverlässig.
Wir haben Anlagen mit USB 2.0 im industriellen Einsatz, bisher kein Byte
verloren wenn nicht gerade das Kabel kaputt ist.
Christian R. schrieb:> Ja, USB hat bisweilen einen schlechten Ruf, wohl durch den vielen> Schrott im Consumerbereich.
Was könntest du im "Profibereich" empfehlen?
Franke schrieb:> CoaxPress
Habe ich mir angesehen, schein preistechnisch ein wenig aus dem Ruder zu
laufen. Die Gegenstelle benötigt ja einen passenden Transceiver. Dann
gäbe es noch die Notwendigkeit, dass auf die Platten zu bekommen. Da
sehe ich das Problem, dass man das in einem RAID Verbund machen müsste
und nur ein PC kommt damit ganz sicher nicht klar.
Ich denke das Gabeln der Informationen bereits an der Quelle scheint mir
da effektiver, zumal die IPCs dann selber nochmal redundant speichern
könnten. So geht auch bei einem Plattenausfall kein Bytelein verloren.
E. M. schrieb:> Was könntest du im "Profibereich" empfehlen?
Wichtig ist das drumherum. Wir setzen den Quasi-Standard Chip Cypress
FX2 ein. Wichtig sind aber eher so Sachen wie EMI Maßnahmen, ordentliche
Kabel, ordentliche Host-Controller. Als Extension System nehmen wir bei
Bedarf Icron, aktuell in einem Projekt USB 2.0 über 300m Glasfaser, da
geht dann zwar nur noch 15MB/s statt 40, aber es funktioniert
zuverlässig. Die CAT5 Extender sind auch klasse von denen.
Für 3.0 gibts ja aber nur den FX3 im Moment, da haben wir nur
Labor-Erfahrungen. Der geht aber auch sehr gut und schafft je nach Host
Controller auch fast 400MB/s mit Rückenwind und bergab ;)
Realistisch sind aber so 320MB/s etwa.
Wie willst du die massiven Daten eigentlic weiterverarbeiten? Der Ruf
nach noch mehr I/O Bandbreite ist immer schnell da, besonders auf BWL
und Projektleiter-Seite, aber das danach noch was kommen muss, denkt
keiner dran.
E. M. schrieb:> Benötigt werden idealerweise 3GBit pro Sekunde.
Hast Du Dir schon mal Gedanken drüber gemacht, die Daten schon auf der
Datenerfassungsseite zu komprimieren? Da Sensor-Output typischerweise
gewisse Eigenschaften hat kannst Du einiges erreichen ohne Datenverlust.
Und wenn Du schon auf dieser Seite relevante Datensektionen erkennen
kannst, wird's noch besser.
Andi schrieb:> Mit welcher Hardware sollen die Daten angenommen werden?
Ist wieder offen, weil der Empfänger der Daten (wie des gesamten
Projektes) pleite ist.
Wir legen daher das Projekt auf Eis und entickeln es nur für intern
weiter.
Peter K. schrieb:> Hast Du Dir schon mal Gedanken drüber gemacht, die Daten schon auf der> Datenerfassungsseite zu komprimieren?
Das geht in dem Falle nicht.
Christian R. schrieb:> Realistisch sind aber so 320MB/s etwa.
Das klingt sehr gut! Prima!
Danke für die Info!