RE: Fwd: Re: NI SCXI and E series boards

> (Thanks for replying) Ok, so the SCXI 'protocol' is well documented
> and getting the modules to do what I want shouldn't be too much
> trouble from comedi, correct?  I just have to do some magic on the DIO
> lines...
>
> Now on to my next question: Multiplexing.  What I understand is that with
> some of the modules, the idea is that you have something like 32 channels
> coming in to 1 channel on your DAQ board.  You then have to demultiplex
> these channels in software.  Is that correct?  How is synchronization
> between the DAQ device's sampling of the 1 channel and the SCXI hardware's
> multiplexer guaranteed?  The timer on the NI board? Is it possible to use
> this system for control, and not just measurement?

Heh.  Well, it is well documented, but it's very convoluted.  Naming
conventions seem to be all aflutter and I find it a bit hard to understand.
In Windows (with Labview, at least) it's just a matter of using pre written
VIs.  In Linux with comedi, it's just a matter of using some pre written
code.  I'd be happy to give you my stuff coupled with the scxi patch for
comedi if that would be helpful.  I basically wrote some wrapper functions
that do something akin to "ModuleSelect(int channel)".  Theoretically you
can do control with them; in fact there are some old modules that were
controller cards, though I don't think they are still in production.  They
do make a 6 channel Analog Out card, the SCXI-1124.

Demultiplexing is done just by sending a serial based command to some
internal registers in the chassis.  That connects the input line up to
analog channel 0 on the E series DAQ board.  Synchronization is done via a
serial clock (1 of the 4 required digital IO lines).  In the Linux case,
it's done via an internal function call that just transitions the clock low,
does a usleep(), then transitions high again.  Some modules can clock data
faster than others.  We do relatively slow aquisition and it works pretty
well - I can scan 32 channels on a scxi module 10 times every 1/10 of a
second which is fast enough for me.  I haven't tried going much faster than
that, but I'm sure it's feasible.

Caleb

Received on 2002-10-14Z15:52:48