Data aquisition rate

Skip to first unread message

Heinrich M

Feb 22, 2022, 6:31:40 AM2/22/22
to Comedi: Linux Control and Measurement Device Interface
Hello everybody, it's me again

Consider the following system:
Debian 10
Ryzen 3600x (SMT disabled)
Nvme SSD
NI PCI-6031E (100 kS/s)

We are running a C program with comedi, which is looping over for(;;) for a measurement of a voltage and we react to it by setting a new output voltage according to a very simple logic. (Program is executed on an isolated cpu core)
The reaction time (executing the loop once) is around 15 micro seconds and at max 24 micro seconds. Theoretically with this card 10 micro seconds should be possible.

My question is, how on earth do we not reach the maximum potential of a 20 years old card with such modern hardware? Surely there must be a way to reach the maximum? Is there a special way to code for those cards? Is comedi a limiting factor? Do I need to use two cpu cores and therefore parallelize the code?

Thank you very much in advance
Reply all
Reply to author
0 new messages