Forum: Mikrocontroller und Digitale Elektronik 32 Digital I/Os am PC (USB3/PCI-E)


von Thomas F. (Gast)


Lesenswert?

Hallo,

hat jemand Erfahrung mit DIO-Karten PCI-E oder gerne auch extern per 
USB3? Ich möchte die Ein-/Ausgänge möglichst jitterfrei und mit geringer 
Latenz ansteuern können. Gut wären 16 Ein- und Ausgänge. Besser 32 
jeweils. Das das OS eine Rolle für Latenz/Jitter spielt ist klar. 
Treiber sollten für Windows und Linux verfügbar sein, leider kann ich 
kein RTOS verwenden. Kann jemand ein Produkt empfehlen?

Viele Grüße

von Har Har (Gast)


Lesenswert?

Thomas F. schrieb:
> Ich möchte die Ein-/Ausgänge möglichst jitterfrei und mit geringer
> Latenz ansteuern können.

LOL.

Definiere "möglichst jitterfrei" und "geringe Latenz".

Jeder meint da was Anderes.

von Thomas F. (Gast)


Lesenswert?

Har Har schrieb:
> Thomas F. schrieb:
>> Ich möchte die Ein-/Ausgänge möglichst jitterfrei und mit geringer
>> Latenz ansteuern können.
>
> LOL.
>
> Definiere "möglichst jitterfrei" und "geringe Latenz".
>
> Jeder meint da was Anderes.
Ja, da hast du natürlich Recht :) Ein Zustandswechsel auf dem Input 
hätte ich gerne innerhalb von worst-case/max 250us, im Schnitt ca. 
100us. Eine Ansteuerung der Ausgänge sollte mit 1 kHz möglich sein.

von Georg (Gast)


Lesenswert?

Thomas F. schrieb:
> Das das OS eine Rolle für Latenz/Jitter spielt ist klar

Ohne Real Time OS sind deine Wünsche nicht erfüllber.

Georg

von Gustl B. (-gb-)


Lesenswert?

Das sollte gut machbar sein, kommt aber auf ein paar Dinge drauf an, 
daher:

Werden die Ausgänge "zufällig" gesteuert oder ist das quasi ein Ablauf 
der dan mit festem Timing ablaufen soll?

Die Idee wäre eine Hardware mit USB oder so auf der dann eine Schaltung 
sitzt die feste Abläufe (wiederholt) "abspielen" kann. Und der Ablauf 
wird dann über USB in diese Hardware übertragen.

von Christian M. (Gast)


Lesenswert?

Gustl B. schrieb:
> Das sollte gut machbar sein

Nein, rein auf dem PC ist das völlig utopisch!

Gustl B. schrieb:
> Die Idee wäre eine Hardware mit USB oder so auf der dann eine Schaltung
> sitzt die feste Abläufe (wiederholt) "abspielen" kann. Und der Ablauf
> wird dann über USB in diese Hardware übertragen.

Das ja. Will der TO basteln oder

Thomas F. schrieb:
> ein Produkt

?

Gruss Chregu

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Schau dir mal die IOWarrior von Codemercs an:
https://www.codemercs.com/de/io-warrior?L=1

Ob die in der Latenz ausreichen, kannst du anhand der Datenblätter 
checken.

von fchk (Gast)


Lesenswert?

Thomas F. schrieb:
> Hallo,
>
> hat jemand Erfahrung mit DIO-Karten PCI-E oder gerne auch extern per
> USB3? Ich möchte die Ein-/Ausgänge möglichst jitterfrei und mit geringer
> Latenz ansteuern können. Gut wären 16 Ein- und Ausgänge. Besser 32
> jeweils. Das das OS eine Rolle für Latenz/Jitter spielt ist klar.
> Treiber sollten für Windows und Linux verfügbar sein, leider kann ich
> kein RTOS verwenden. Kann jemand ein Produkt empfehlen?
>
> Viele Grüße

von fchk (Gast)


Lesenswert?

> hat jemand Erfahrung mit DIO-Karten PCI-E oder gerne auch extern per
> USB3? Ich möchte die Ein-/Ausgänge möglichst jitterfrei und mit geringer
> Latenz ansteuern können.

Geringe Latenz und USB schließen sich gegenseitig aus.

Hier solltest Du fündig werden:

https://buy.advantech.eu/Boards-Cards/Data-Acquisition-I-O-Data-Acquisiton-I-O-Cards/AEU_15788s.products.htm

fchk

von GL (Gast)


Lesenswert?

Industrie Bussystem

von J. S. (engineer) Benutzerseite


Lesenswert?

Ich hätte jetzt gesagt:

Ein digitales USB-Audio-Interface auf S/PDIF (10,- in der Bucht) mit 
64-Bit-Schieberegister (2,-) als Seriell-Parallel-Wandler, getaktet mit 
dem bitclock und enabled mit dem word clock. Damit stehen die 24 Bits 
eines Kanals zur Verfügung. Mit einer Schaltung, die den WC auf ein DFF 
schiebt und ein Exor dahinter, gibt es eine Taktflanke pro word und 
damit hat man alle 48 Bits statisch. Kann mit jedem Audio-Player 
beschrieben werden.  BTDT

fchk schrieb:
> Geringe Latenz und USB schließen sich gegenseitig aus.
So ist es. Die bessere Alternative wäre dann eine Soundkarte, die direkt 
über PCIe beschrieben wird und S/PDIF kann. Mit sehr kurz eingestelltem 
Samplebuffer.

Wenn es etwas fetter sein darf: Eine PCI-FPGA Karte. Vor Zeiten hatte 
ich mal eine Enterpoint Raggedstone, als ich noch probierte meinen 
FPGA-Synth direkt in den PC einzugliedern.

von Rolf M. (rmagnus)


Lesenswert?

Christian M. schrieb:
> Gustl B. schrieb:
>> Das sollte gut machbar sein
>
> Nein, rein auf dem PC ist das völlig utopisch!

Auf einem Linux mit RT-Kernel ist das per PCIe sehr wohl machbar. Mit 
klassischem Non-RT-Kernel oder gar Windows braucht man da aber nicht 
anfangen.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Jürgen S. schrieb:
> Ein digitales USB-Audio-Interface auf S/PDIF (10,- in der Bucht) mit
> 64-Bit-Schieberegister (2,-) als Seriell-Parallel-Wandler, getaktet mit
> dem bitclock und enabled mit dem word clock. Damit stehen die 24 Bits
> eines Kanals zur Verfügung.

Die üblichen Audio Interfaces liefern nur 16 Bit. Das ist aber gar nicht 
das Hauptproblem. Es nahezu unmöglich definierte Bits zu bekommen weil 
Audiodaten durch ks.sys geroutet werden. Dort passieren Dinge die du 
nicht beeinflussen kannst. Es wird also ziemlich kompliziert wenn man 
explizit Bits in einem Audiostream setzen will und diese gezielt am 
SPDif Anschluss abgreifen will.

Thomas

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.