[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: [rtl] Interrupt latencies [newbie]
On Wed, Oct 07, 1998 at 12:20:39AM +0200, Jussi Laako wrote:
> Hello,
>
> Watning, this is kind of newbie question...
>
> I'm planning to write RT-Linux 'driver' for ACL-8111 DAQ-card (ACL/PCL-711B
> compatible). It doesn't have FIFO-buffer, but generates iterrupts when AD
> conversion is ready. Maximum sampling rate is about 25 kHz. There's no timer
> for DA converter, it just changes state every time there is data written to
> it.
A driver for the 711b has already been written (twice). It is part of the
comedi package. (ftp://stm.lbl.gov/pub/comedi)
> How fast computer I need (or is it at all possible) to reliably read data from
> card and write it to rtl-FIFO at 25 kHz interrupt rate? Operation would be
> about two IN operations, two OUT operations some simple integer math for
> internal buffer and write to rtl-FIFO about every 512 samples. No missed
> interrupts/lost data is allowed, because data is going to FFT analysis. System
> will have one machine sampling and sending data over (ethernet) socket
> connection to other machine for analysis.
>
> If possible is there any chance to get steady 8192 Hz data out on DAC at same
> time?
>
> ...or should I just spend twice the money and buy card with FIFO?
It is *possible* with RTLinux. But whether or not you want to use RTLinux
depends on the quality of signal you want. If you use RTLinux to generate
the timing signal, you will get noise in your data due to the variation in
sample timing at the microsecond scale. If you use a board that generates
the timing signals for you, this variation is on the nanosecond scale. This
will show up in your FFT, but may or may not be acceptable noise. I
would suggest writing a simple simulation.
The PCL-711b is incapable of timed sampling of more than one channel at
a time. It sounds like you are interested in two or more. Many boards
that are capable of timed A/D and timed D/A are not capable of doing
both at the same time. If you should desire hardware timing, this is your
primary requirement. Boards that satisfy this requirement will probably
have FIFOs or DMA.
In general, I don't recommend using RTLinux to make up for deficiencies in
hardware. With a board such as the National Instruments AT-MIO E series
boards (which also has a Linux driver), it is possible to write a program
that does what you want in about 5 minutes. Moreover, it would not require
RTLinux. However, as you mention, this type hardware is more expensive.
It's similar to the WinModem/WinPrinter/etc. crap -- make up for
deficiencies in hardware by RT software.
dave...
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.cs.nmt.edu OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.cs.nmt.edu
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/