CompuScope SDK Manua.. - Egmont Instruments
CompuScope SDK Manua.. - Egmont Instruments
CompuScope SDK Manua.. - Egmont Instruments
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
As mentioned above, using the gage_mem_read subroutines, <strong>CompuScope</strong> cards internally transfer a 4Kilosample block of memory. Sample size is one byte for 8 bit cards and two bytes for 12, 14 and 16 bitcards. Specific blocks can be accessed by using the driver routine called gage_set_block_number. Thememory blocks are organized with all of converter A's data occupying the first set of four kilobyte blocksup to the total size of one converter's maximum memory size. The same number of blocks are available forconverter B.For example, a 16K <strong>CompuScope</strong> card would have 16K / 4 Kilosamples = 4 blocks. In dual channel mode,half the blocks would belong to converter A and half to converter B. Block 0 and block 1 would belong toconverter A and block 0 + bank_offset_value and block 1 + bank_offset_value would belong toconverter B. In single channel mode, both converter memory banks are used by channel #1. The value ofbank_offset_value is defined in the source files for each <strong>CompuScope</strong> card and is available through thegage_driver_info_type structure.Gage_transfer_buffer Data Transfer RoutinesIn order to take advantages of high speed PCI bus-mastering data transfer, Gage provides block datatransfer routines called the gage_transfer_buffer routines.Gage_transfer_buffer() transfers data from a PCI or cPCI <strong>CompuScope</strong> using PCI slave mode transfer. Insingle channel mode, the user must call the routine twice, once for each A/D converter, and interleave thedata afterwards in order to reconstruct the complete signal. If used on ISA <strong>CompuScope</strong>s, this routineinternally defaults to gage_mem_read subroutines.Gage_transfer_buffer_2() transfers data from a PCI or cPCI <strong>CompuScope</strong> using PCI bus-masteringtransfer. In single channel mode, the user must call the routine twice, once for each A/D converter, andinterleave the data afterwards in order to reconstruct the complete signal. If used on ISA <strong>CompuScope</strong>s,this routine internally defaults to gage_mem_read subroutines.Gage_transfer_buffer_3() transfers data from a PCI or cPCI <strong>CompuScope</strong> using PCI bus-masteringtransfer. This routine handles the interleaving of the memory from both ADC converters in single channelmode and so only needs to be called once in single channel mode. Gage_transfer_buffer_3() is therecommended subroutine data transfer. Gage_transfer_buffer_2() should be used only if the user requiresthe highest possible transfer rate during a burst of triggers without wasting time interleaving and wants todo the interleaving after the burst is finished. If used on ISA <strong>CompuScope</strong>s, this routine internallydefaults to gage_mem_read subroutines.Other Data Transfer RoutinesOther data transfer routines such as gage_trigger_view_transfer() are still supported by the <strong>CompuScope</strong>drivers and are documented in the API manual. These routines have been maintained strictly to allowbackward compatibility for older customers and are not recommended for new designs. Generally,Gage_transfer_buffer_3() should be used for all new designs.<strong>CompuScope</strong> <strong>SDK</strong> <strong>Manua</strong>l Page 21