You could have the card perform all samples at the highest rate and only use the 
samples you want.  This could be done using a separate task and putting the data into 
shared memory.  Or DMA could be used to keep a bank of always updating data.

Just a thought to allow you to keep your existing hardware.
Rich

> ----------
> From:         Peter Wurmsdobler[SMTP:[EMAIL PROTECTED]]
> Sent:         Monday, October 09, 2000 5:40 AM
> To:   [EMAIL PROTECTED]
> Subject:      [rtl] Fast PCI DAQ board
> 
> Hello,
> 
> Most DAQ boards can sample at higher speed due to some 
> intelligent controller on board which allows fast DAQ
> even under non real time OSes by scaning channels in a
> loop. However, aquiring single consequtive samples from
> different channels is then obviously more time consuming 
> as the respective controller has to be programmed for 
> any DAQ. 
> 
> In my real time application there are sequences like:
> 
> /* in the control thread @ 1kHz 
>  */
> :
> board_aget(3,&xxx);
> some_calcs();
> board_aset(0, yyy);
> :
> 
> /* in the measurment thread @ 400 Hz 
>  */
> :
> board_aget(1,&xxx);
> board_aget(10,&xxx);
> :
> 
> /* the SPP isr is used for synchronized measures 
>  */
> :
> board_aget(0,&xxx);
> :
> 
> Therefore I needed a DAQ board which allows something like
> 
> int board_aget( unsigned short int channel, 
>     unsigned short int *value )
>     {
>     /* Select channel directly !
>      */
>     outw( (char)(channel), base_io+CHANNEL_REG );
> 
>     /* Start ADC
>      */
>     outw( ADC_START, base_io+SW_ADC_REG );
> 
>     /* Busy wait for EOC not too bad for 3usec ADC
>      */
>     if ( board_wait_while( ADC_BUSY, ADC_TIMEOUT ) < 0 )
>         return -ETIME;
>     
>     *value = inw( base_io+DATA_REG );
> 
>     return 0;
>     }
> 
> Therefore I needed a board which gives me quickly an analog
> value on demand for any channel. The board I had until now
> cannot do this, it is even slower than an old ISA board for
> single values.
> 
> Any hints?
> peterw
> -- 
> Dr. Peter Wurmsdobler
> 
>       CTM - Centre de Transfert des Microtechniques
> 39, av. de l'Observatoire, BP-1445, 25007 Besancon CEDEX 3
> TELEPHONE: +33 3 81 47 70 20  TELECOPIE: +33 3 81 47 70 21
>          E-mail: [EMAIL PROTECTED]
> 
>                   Ceterum censeo MIRCOSOFTem esse delendam.
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ---
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
> 
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to