Forum: PC Hard- und Software Universell programmierbare Datenerfassungskarte


von T.U.Darmstadt (Gast)


Lesenswert?

Ich bräuchte ad hoc eine schnelle Messwerterfassungskarte für 4-6 
Analogkanaäle bis 100Mhz und wenigstens 4- besser 8 digitale Kanäle zur 
Erfassung von seriellen Daten bis 250mbps.

Wichtig: Die Karte muss die Daten per Treiber an ein API liefern, die 
ich selbst mit einem C++-Programm bedienen kann. Es ist kontinuierliches 
Lesen und Schreiben auf Platte gefordert, von Seiten eines zu 
erstellenden Programms muss eine Reaktion auf Trigger erfolgen, die die 
Karte in den Parametern, z.B. Verstärkung umschaltet.

Sehr wichtig: Einige Daten müssen mit mäßiger Geschwindigkeit permanent 
von der Karte gelesen und analysiert werden - vor allem selbst 
eingespeiste Trigger. Diese kommen aus einem vorgeschalteten System, das 
schnell genug ist  und das kann.

Es soll aber in keinem Fall ein herstellerabhängiges Framework verwendet 
werden. Ich brauche also ein barebone-System.

Bevorzugt ein PCI-System zum Einstecken, bzw PCIe.

Idee?

Habe verschiedene Anbieter durch, entweder passt die Karte nicht oder 
sie liefern ihre eigenen LIBs und man kommt nicht voll auf die HW.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Was fehlt denn den einzelnen Anbietern? Eine externe Hardware scheint 
mir ja für die längere Nutzung sinnvoller, mir fällt z.B. die 
Picotech-Serie ein
https://www.picotech.com/library/oscilloscopes/picoscope-software-development-kit-sdk
Oder ein Bastlerboard wie Red Pitaya, ich habe mit beidem keine 
Erfahrung
https://redpitaya.com/

von Christian R. (supachris)


Lesenswert?

Für so nicht Standard Anforderungen wäre wohl ein FPGA Board mit PCIe 
und einem oder zwei FMC Steckern was. Da kannst du eine schnelle ADC 
Karte drauf pappen und dann das Ding komplett frei selbst entwickeln. 
Viele haben ja PCIe dran. Klar, kostet incl. der passenden Lizenzen für 
Software und IP Cores dann natürlich was...
Bei den Anforderungen an das Streaming kommt man ja mit PCIe x1 auch 
nicht mehr hin, da müsste es schon so ein Bolide wie z.B. das Xilinx 
KC705 sein...

von Christian M. (likeme)


Lesenswert?

Du brauchst ad hoc paar Tausend Euro!

von Christoph Z. (christophz)


Lesenswert?

Thomas U. schrieb:
> Es soll aber in keinem Fall ein herstellerabhängiges Framework verwendet
> werden. Ich brauche also ein barebone-System.
[...]
> Habe verschiedene Anbieter durch, entweder passt die Karte nicht oder
> sie liefern ihre eigenen LIBs und man kommt nicht voll auf die HW.

Du willst sogar dein Treiber für die PCIe Karte selber schreiben?

Ich wünsche viel Spass dabei oder du formulierst deine Anforderungen 
noch ein bisschen um.

Das du keine Karte willst, die nur in LabView funktioniert kann ich ja 
gut verstehen.

von Purzel H. (hacky)


Lesenswert?

Ich wuerd keine PCIe Karte empfehlen, sondern eher einen abgesetzten ADC 
per Ethernet angebunden. Aber sonst schau mal bei SP Devices.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Von Meilhaus gibt es eine Menge PC-Messtechnik

Das hier könnte passen
https://www.meilhaus.de/peaktech-pcscope.htm
4 Kanäle bis 100 MHz, Schnittstelle USB oder LAN.
Wieweit man dazu eigene Software schreiben kann geht aus dem Text nicht 
hervor.
https://www.meilhaus.de/cosmoshop/default/articleMedia/peaktech-pcscope/de/Datenblatt_PeakTech_P1286-P1326-P1331_de.pdf
demnach läuft die Software mit NI VISA.

Die PCI-Karten von Meilhaus können anscheinend alle nur ein paar MBit/s

>ein FPGA Board
das wäre z.B. der Red Pitaya, da sitzt soweit ich weiß ein Xilinx FPGA 
drauf, und es gibt eine "Community", sodaß man Hilfe bekommen kann.
https://redpitaya.com/rtd-iframe/?iframe=https://redpitaya.readthedocs.io/en/latest/appsFeatures/remoteControl/remoteAndProg.html
Oszilloskop max. 60 MHz und zwei Kanäle, noch nicht ganz das geforderte.
Eine Softwareunterstützung wäre dagegen vorhanden:
SCPI server (MATLAB, LabVIEW, Scilab or Python), Jupyter Notebook und C 
API

von Hans-Georg L. (h-g-l)


Lesenswert?

Mit einem Zedboard + 1 HMCAD1520 FMC-Karte hast du 4 analoge Kanäle mit 
12 Bit und 160 Msps, parallele LVDS Eingänge und deine Vorverarbeitung 
dürfte mit einem Zync auch kein Problem sein.

von Andreas M. (amesser)


Lesenswert?

Das hier ist leider nur bis 55MHz Bandbreite und 125 MSamples/s 
spezifiziert, sonst wäre es evtl was:
https://digilent.com/shop/analog-discovery-pro-3000-series-portable-high-resolution-mixed-signal-oscilloscopes/

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Für 100 MHz wäre ja mindestens ein 200 MSps ADC pro Kanal nötig, da sind 
die 160 auch noch etwas zu wenig.

Schnelle Hardwareboards gibt es noch mehr (ich habe allerdings keine 
Erfahrungen damit). Oft werden sie für Software-Defined-Radio benutzt. 
Denen fehlt leider eine untere Grenzfrequenz ab Null.

Lime-SDR 100 kHz – 3.8 GHz:
https://limemicro.com/products/boards/limesdr/

Adalm-Pluto von Analog Devices 325 MHz to 3.8 GHz
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html

HackRF one 1 MHz to 6 GHz
https://greatscottgadgets.com/hackrf/one/


Das oben genannte Zedboard $499.00:
https://www.xilinx.com/products/boards-and-kits/1-8dyf-11.html
und das Evalboard von AD dazu $254,71:
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/eval-hmcad1520.html#eb-overview

: Bearbeitet durch User
von Hans-Georg L. (h-g-l)


Lesenswert?

Christoph db1uq K. schrieb:
> Für 100 MHz wäre ja mindestens ein 200 MSps ADC pro Kanal nötig, da sind
> die 160 auch noch etwas zu wenig.
>
Wenn ihm 8 Bit genügen kann das Board auch 4 * 8Bit mit 250 MSps samplen 
;-)

von Christian R. (supachris)


Lesenswert?

Ist das wieder so eine Nummer am CERN/Wendelstein/ITER... wo ein Student 
dann dran soll? ^^

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich frage mich nur, wie der PC die ganzen Daten wegschaufeln soll, der 
bekommt ja die vier- bis sechsfache Rate, das sind mehrere Gigabit pro 
Sekunde. Bei den Preisen könnte man auch an den Kauf mehrere billiger 
China-Oszilloskope denken. Aber die machen ja auch keine 
Vorverarbeitung.

von Martin K. (Gast)


Lesenswert?

Andreas M. schrieb:
> Das hier ist leider nur bis 55MHz Bandbreite und 125 MSamples/s
> spezifiziert

gibt aber immerhin C++ Unterstützung und eine Toolbox von MATLAB. Aber 
die Analogwerte sind eben nicht so berauschend bei dem Teil.

Christoph db1uq K. schrieb:
> Für 100 MHz wäre ja mindestens ein 200 MSps ADC pro Kanal nötig,
Eher 2Gsps, oder? Für ordentliche Datenerfassung würde man ein Scope mit 
solchen Daten hernehmen.

Die Geräte von PICO wären eventuell interessant. Sind auch von Sigrok 
unterstützt. Auswertung mit Python z.B.

Schnelle eigene Auswertung von Msps geht wahrscheinlich nur über 
integrierte Hardware in einem FPGA oder einem Video-DSP. TI DaVinci wäre 
eine Adresse.

von Roland P. (pram)


Lesenswert?

Crosslink: schau mal ob das für deinen Anwendungsfall passen könnte: 
Beitrag "Re: Framegrabber noch was Wert?"

von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Für 100 MHz wäre ja mindestens ein 200 MSps ADC pro Kanal nötig

Das wird wohl nicht reichen. Oder habe ich irgendetwas in der 
Entwicklung bei den Antialiasing-Filtern verpasst - gibt es inzwischen 
ideale Rechteckfilter?
Und das "echt kleiner" für die Abtastfrequenz sollte man auch nicht 
unterschlagen.

von Harald K. (kirnbichler)


Lesenswert?

Roland P. schrieb:
> Crosslink: schau mal ob das für deinen Anwendungsfall passen könnte:
> Beitrag "Re: Framegrabber noch was Wert?"

Die einzige Karte da, die hypothetisch in Frage kommen könnte, ist die 
ME1400. Die aber dürfte die Anforderungen nicht ansatzweise erfüllen, 
das ist nämlich nur ein stinknormaler uralter PIO-Baustein (82C55) an 
einer PCI-Bridge.

Der hat 24 Digital-Ein/Ausgänge, ist aber nur für Frequenzen im sehr 
kleinen einstelligen MHz-Bereich geeignet, wenn überhaupt.

von Pascal (pascalr)


Angehängte Dateien:

Lesenswert?

Ich hätte noch eine Meilhaus ME-1400 rumliegen. Hättest du da Interesse 
dran?
https://www.meilhaus.de/me-1400.htm

von T.U.Darmstadt (Gast)


Lesenswert?

Christian M. schrieb:
> Du brauchst ad hoc paar Tausend Euro!
Ja sicher, aber das Projekt gibt es ja her.

Christoph Z. schrieb:
> Du willst sogar dein Treiber für die PCIe Karte selber schreiben?
Das natürlich nicht, aber es sollte möglich sein, die Daten mit einem 
FPGA auszuwerten.

Christoph db1uq K. schrieb:
> Ich frage mich nur, wie der PC die ganzen Daten wegschaufeln soll, der
> bekommt ja die vier- bis sechsfache Rate, das sind mehrere Gigabit pro
> Sekunde.

Das soll die FPGA-Auswertung machen und reduzieren. Die bwerteten Daten 
sind von der Bandbreite 1/10 ... 1/100.

von Purzel H. (hacky)


Lesenswert?

Ich empfehle mal die Eval boards zu den FPGA. Die haben ueblicherweise 
ein Ethernet drauf, allenfalls ADCs. Und sonst eben extern, als 
Huckepackkarte, dh Shield. Waehrend die Leistungsfaehigkeit der FPGA 
nach oben offen sind, sind die Gratis Dev Tools beschraenkt. Allenfalls 
findet sich etwas. Die kostenpflichtigen altera Devtools sind glaub auf 
2 Jahre beschraenkt. Das kann aber geaendert haben.

Mit FPGA Daten verarbeiten "koennen" und das dann effektiv auch tun - 
kann einige Monate bedeuten, wenn man da nicht schon drin ist.

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Purzel H. schrieb:
> Ich empfehle mal die Eval boards zu den FPGA. Die haben ueblicherweise
> ein Ethernet drauf, allenfalls ADCs.

Würde ich auch zu raten. Das DE2-115 z.B. hat in etwa die geforderten 
Datenrate- zusammen mit der Messakarte, die es für den Expansionport 
gibt. Ich habe die hier noch rumliegen. Damit habe ich meinen Analyser 
gebaut:
http://www.96khz.org/htm/signalanalyser.htm

Allerdings hat das out of the box noch kein Ethernet und auch kein 
Linux, das man locker im Vorbeigehen in C++ programmieren und nutzen 
könnte. Da müsste erst noch ein NIOS drauf mit allem pipapo.

PCI mit dem Artix 701 und einer Erweiterungkarte für den SAMTEC.

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
Noch kein Account? Hier anmelden.