Digital DAQ mit echtzeit Python Interface gesucht

OP #7450721
Lesenswert?

Hallo zusammen,

ich suche ein Gerät (DAQ / Logic Analyzer), mit dem ich vom PC aus binäre Signale auswerten kann (Spannungen 0/5V oder 0/3.3V oder ähnlich). Die Frequenzen sind maximal 2MHz, mir reicht also eine Abtastrate von 16MHz locker aus. Die eigentliche Spannung interessiert nicht, nur an/aus.

Das besondere: Ich möchte einen Teil der Daten gerne mit Python live darstellen, deswegen wäre mir ein kontinuierliche Datenerfassung am liebsten, von der ich dann die aktuellsten 10ms mit Python auslesen und zur Live Darstellung verwenden kann. Nach dem Ende des Aufnahmezeitraumes (mein RAM leicht locker für die gesammelten Daten) hätte ich dann den kompletten Datensatz und würde darauf tiefergehende Analysen anwenden. Zur Not wäre es aber auch okay, wenn ich mehrmals die Sekunde Spnapshots von ca. 50ms nehmen kann und nur diese später für die tefergehenden Analysen zu Verfügung habe.

Das Gerät darf 300 Euro kosten, aber nicht deutlich mehr als das. Anbindung per USB oder Ethernet, es soll mit einem Laptop verwendet werden.

Kennt jemand was passendes?

#7450736
Lesenswert?

Mit einem der Saleae-Logikanalysatoren sollte sich Dein Unterfangen lösen lassen. Für die gibt es eine Programmierschnittstelle, um die erfassten Daten analysieren zu können.

https://www.saleae.com/automation/

Der kleinste der Logikanalysatoren kann acht Signale mit einer Abtastrate von 100 MHz verarbeiten: https://eur.saleae.com/products/saleae-logic-8

Wenn Du unfair bist, kannst Du die gleiche Software aber auch mit einem Nachbau eines alten Modells von Saleae betreiben - das kann acht Signale mit einer Abtastrate von 24 MHz verarbeiten, und ist bei den üblichen Verdächtigen (ebay, Amazon, Aliexpress) für ca. 10 EUR zu bekommen.

Fairer ist es, so ein Gerät stattdessen mit Sigrok zu betreiben, das ist eine universelle OpenSource-Logikanalysatorsoftware, die sich ebenfalls mit einer API steuern lässt.

https://sigrok.org/wiki/Managing_sigrok-cli_data_with_Python https://github.com/pysigrok/pysigrok

Wenn sigrok verwendet wird, kann natürlich auch jeder beliebige andere Logikanalysator verwendet werden, den Sigrok unterstützt - die Liste ist lang

https://sigrok.org/wiki/Supported_hardware

OP #7450797
Lesenswert?

Mir reichen 2 Kanäle, der Saleae Analyzer würde mir von der Performance her komplett reichen. Ich habe mir die Python API von Saleae und sigrok angeschaut und so wie ich das verstanden habe, hat man dort nicht die Möglichkeit kontinuierlich Daten aufzunehmen und zwischendurch die neuesten abzugreifen. Man muss immer einen Befehl absenden mit der Anzahl an Daten, die man haben möchte. Zwischen den Befehlen gehen Daten verloren. Allerdings wird es in der Saleae Logic GUI ja auch kontinuierlich angezeigt - also muss es irgendwie möglich sein...

Gast #7450827
Lesenswert?

Die Daten dürften wohl intern gepuffert werden und lückenlos auslesbar sein, wenn man schnell genug pollt.

Ob Python dafür der richtige Ansatz ist, lassen wir mal aussen vor.

Ein kleines C-Programm hat das in den 2000ern auf einer 2GHZ Win XP Möhre mit Leichtigkeit gekonnt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren