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/