Re: NI 6602 - comedi_data_read(..) takes 4ms (RTAI 3.3)

This might not be at all helpful, but I've seen fairly large latencies 
created by lots of hardware...
(I use different cards, and one of my acquisition cards isn't driven by 
comedi at all)

Specifically:
an on board (but still on the same bus as the pci slots, disgusting) sata 
chip (on chipset IDE controller has no such issue).

an intel pci gigabit ethernet card on the same bus as the acquisition 
cards (removed, on chipset 100mbit NIC is tolerable.)  I suspect a lot of 
on-board chips are on the pci bus with the slots and can cause latency.

an agp geforce 4 card.  I had to disable all textual output as well as the 
console blanker to fix this.

To me, untolerable latency is > 50uS in servicing the NMI.

The graphics card was creating several hundred, maybe several thousand uS 
delays.


On Wed, 29 Mar 2006, janne wrote:

> Hello Arno,
>
> The procedure is to simply call rt_get_cpu_time_ns(); in the beginning of
> the task,
> immediately before and after reading encoder values, and subracting the
> difference.
> Same thing with Analog out,  and finally at the end of the task for total
> Task execution-time.
>
> Another interesting issue was found. Reading the encoder also has ~~200us
> execution time
> every two seconds if the ethernet cable is connected during boot time. The
> analog out or the
> rest of the task's execution times are not affected.
>   It really seems like there's a conflict of some sort. Whether this has to
> do with the comedi-driver
> or the hardware, I do not know.
>   I will e-mail you a graph shortly showing the behavior of the task. (If
> someone else is interested to
> see it, notify me).
>
> Worth mentioning is that unlike the regular 2 second ~~200us execution
> times, the really nasty 4ms
> delays are not regular at all.  But usually comes 1-3 times within 20
> seconds without much pattern.
>
> Regards,
> Camino
>
> On 3/28/06, Stienen, A.H.A. (CTW) <a.h.a.stienen_at_utwente.nl> wrote:
>>
>> janne wrote:
>>> I'm running a single task (about 4KHz) that reads encoder values and
>>> ouputs an analog signal.
>>> When running for 20 seconds, there are usually a few instances ( 1 - 3)
>>> where reading values
>>>  from the encoder takes about 3800 - 4000 us. Which is, of course awful.
>>
>> How do you measure this? What is the procedure?
>>
>> FWIW, I'm using the same card and haven't noticed similar problems. Then
>> again, I haven't looked either...
>>
>> Arno.
>> --
>>    ____
>>   /  |_| <<< IR. ARNO H.A. STIENEN >>>
>> |_ O  | Biomechanical Engineering | http://www.bw.ctw.utwente.nl
>> |_|__/  a.h.a.stienen_at_utwente.nl  | +31-(0)53-489-4778
>> UTwente "There are alternatives: Firefox, Thunderbird & OpenOffice!"
>>
>>
>>
>

Received on 2006-03-29Z15:51:44