DAS16X BOARD DRIVER:
INTRODUCTION:This single DAS16X driver is designed to support a wide range of boards from the DAS-16 family originally offered by Keithley Metrabyte, but now also available from (and expanded upon by) other board makers such as Computer Boards and CyberResearch. Supported board models and features include:
MANUFACTURER'S SPECIFICATIONS: Clk ADC DAC Dig Keithley # +/- Ranges Set MHz kHz Chs I/O Metrabyte: --------------------------------------- DAS-16 5 10 to 0.5 V S 1 50 2 8 DAS-16F 5 10 to 0.5 V S 1 100 2 8 DAS-16G1 4 10 to 0.02 V P 1 70 2 8 DAS-16G2 4 10 to 1.25 V P 1 70 2 8 Computer Boards: CIO-DAS16 5 10 to 0.5 V S 10 50 2 32 CIO-DAS16F 5 10 to 0.5 V S 10 100 2 32 CIO-DAS16/Jr 5 10 to 0.625 V P 10 160 - 8 CIO-DAS16/330 5 10 to 0.625 V P 10 330 - 8 CIO-DAS16/330i 5 10 to 0.625 V P 10 330 - 8 CyberResearch: CYDAS 16 4 10 to 1.0 V S 1 50 2 32 CYDAS 16F 4 10 to 1.0 V S 1 100 2 32 CYDAS 16JR 5 10 to 0.625 V S 1 120 - 8 CYDAS 16JRHR 4 10 to 1.25 V S 1 100 - 8 Set: S = Switch, P = Programmable I/O = Total digital inputs and outputs (32 = built-in 8255 ports) NOTE: Unipolar ranges not considered here.All of these boards have 16 analog input channels, which may be configured as 8 differential inputs via a switch on the board.
DAS16X CONFIGURATION PARAMETERS:
PARAMETER OVERVIEW:This driver allows you to specify certain parameters on the DAS16X.ADC line, which must be the second line of the DQA.CFG file. Each parameter is given as a letter and colon, followed immediately by a value or text string. Use a space between parameters. For example:DAS16X.ADC A:h330 I:7The order of the parameters is not important for this driver, with the exception of the C: Channel and R: Range entries, and the D: DMA and I: IRQ entries. The parameter letters are case-insensitive, as are the entries that follow the colons, except as noted for External Pacer selection using the S: parameter. Daqarta does not use any SET lines in your AUTOEXEC.BAT file, nor does it use any non-Daqarta drivers or libraries that may have been supplied by your board manufacturer. You can check to see which parameters have been set, either via the configuration line or by default, by checking the board information summary available via the ALT-H Plug-In Help system. This also shows a summary of the default values for all parameters. There is no need to enter any parameter that is the same as the default value assumed by the driver.
A: ADDRESS:Use this to tell Daqarta the base I/O address for your board. This should match the value selected by the DIP switches on the board, which usually comes from the manufacturer with a default setting of 300h (hexadecimal). To tell the Daqarta parameter parser that the value is in hexadecimal, precede it with an 'h', as in:DAS16X.ADC A:h330The default address assumed by the driver is h300. The value you enter is not validated against any standard list. Daqarta looks for the board at the address given, and if it does not find a valid DAS16 or DAS-16 compatible board there it exits with: 'DAS16X board not found.'The only exception is if you set A:0 to allow viewing of this board Help system without having a board installed or properly configured.
B: ENABLE 16-BIT MODELS:Board manufacturers are beginning to convert some of their products from 12-bit to 16-bit ADC chips. If your board is an upgraded DAS16 model, such as the Computer Boards CIO-DAS16/Jr/16, you should tell Daqarta by using the base model with the M: parameter, plus a B:16 parameter:DAS16X.ADC M:DAS16/Jr B:16This mechanism allows for future upgrades to any of the standard DAS16 models already supported by this driver.
C: CHANNEL PRESET:This parameter allows you to change the default channel that will be used when you first activate this driver via the Board option. A switch on the board controls whether it is configured as 16 single-ended channels or 8 differential channels... consult the manufacturer's documentation for your board to locate this switch before installation.Valid channel numbers are 0 through 15 single-ended, or 0 through 7 differential. For example: DAS16X.ADC C:3would set channel 3. You may change the channel from the board's control menu during operation. If you don't give a C: parameter, the default is channel 0. Although the 8/16 channel switch can't be controlled by software, it can be read. If Daqarta finds the switch set to 8 channels and you use the C: parameter to try to set a channel number above 7, it will automatically be reduced by 8 to bring it into compatibility. For example, if you had entered 15, it will become 7. You can check the status of the 8/16 channel switch by means of the information summary available via the ALT-H Plug-In Help system. If your board Model has programmable gain, there is an interaction between the C: Channel and R: Range parameters on control of range tracking. If you give the Range first and then the Channel, the initial condition will allow Independent adjustment of each channel's range from the menu. If you give the Range after the Channel, then initially all channels will be changed when you change the Range item from the menu. One way to remember this sequence is to think about the R: parameter position relative to the C: parameter. If Range is the Initial parameter, then the ranges are Independent. If it comes After, then the ranges All change together. If you just use a C: Channel parameter but no R: Range parameter, all channels will initially be at the default +/- 5 Volt range, but Independently adjustable. Of course, if your board does not have programmable gain, then the channels All have the same range.
D: DMA (Direct Memory Access) Level:The DAS16 can use either DMA or interrupt-driven (one interrupt per sample) RTime processing. The D: parameter selects DMA operation, and specifies DMA level 1 or 3, as set via a switch on your board. (The switch can't be read directly by software.) Consult the documentation that came with your board for the switch location and setting.DMA operation uses one interrupt per 32768 samples, so you must also specify an IRQ level if you don't want to accept the default IRQ 7. You must give the I: parameter (if any) BEFORE the D: parameter to select DMA for RTime. For example: DAS16X.ADC I:5 D:1would specify DMA level 1 operation for RTime mode, using IRQ 5. Alternately, DAS16X.ADC D:3would specify DMA level 3 operation using the IRQ 7 default. The D: parameter will be ignored if it is given before the I: parameter. If you don't use a D: parameter, RTime mode will default to interrupt-driven operation. Although the DAS16 board allows DMA acquisition, it does not support DMA output. If you use the STIM3 Stimulus Generator to generate signals in RTime mode, Daqarta will automatically revert to interrupt-driven operation in order to perform simultaneous acquisition and output. DMA is never used when RTime is inactive (Sequential mode).
F: HELP FILE OMIT:This driver normally attempts to load this associated Help file on start-up, and exits with an error message if it can't find it. Setting F:0 on the ADC configuration line tells the driver not to look for the file. You would probably only want to use this option if you are really short of DOS memory, since loading the Help file only increases memory use by a few hundred bytes for its separate link stack and directory. (The file itself shares the text buffer of the Main Help file.)Note that ALL Help files, including main, can be omitted via an F:0 parameter on the INIT line (first line) of the DQA.CFG file. If this is present, no individual module Help will be loaded.
I: IRQ (Interrupt Request):The DAS16 board allows RTime processing by means of one interrupt for each sample, or via DMA which uses an interrupt only once every 32768 samples. The Interrupt Request level in either case is controlled entirely by software... there are no jumpers or switches on the board for this. IRQ values from 2 through 7 may be selected here for normal operation, or IRQ 0 for the special stimulus Hypersampling mode. For example:DAS16X.ADC I:5would indicate that Daqarta should use IRQ 5 instead of the default IRQ 7. If you want to specify DMA mode for RTime, make sure that any I: parameter comes before the D: parameter. No board interrupt is used in Sequential mode, only when RTime is active. You may want to avoid setting IRQ 2 on most machines, since it is redirected through IRQ 9 on the second interrupt controller and thus requires an extra End Of Interrupt (EOI) command to acknowledge each interrupt. This takes a little more time and could reduce the maximum sample rate possible in interrupt- driven RTime mode. It will have no effect on DMA RTime or on Sequential mode. For PC or XT systems with an 8088 CPU there is only one interrupt controller, so the extra EOI command is not used and performance is not affected. If you use interrupt-driven RTime, you may need to use the special DDISK13 BIOS-replacement driver for DDisk recording. This will only work with drives of 528 Meg or less. For larger drives, you will need to conduct your own tests to see if you can get suitable glitch-free recordings at your chosen sample rate, etc.
M: MODEL NAME:Use this command to tell the driver which board you have. For example, if you have a Computer Boards CIO-DAS16/330, the configuration line might look like:DAS16X.ADC M:DAS16/330 If you enter an unsupported model name, Daqarta will exit with: 'M: Model not recognized. Supported models are: Keithley Metrabyte: DAS-16 DAS-16G1 DAS-16G2 Computer Boards: DAS16 DAS16/Jr DAS16/330 CyberResearch: CYDAS-16 CYDAS-16JR CYDAS-16JRHR' The models must be specified as shown, although case doesn't matter. Do not use a CIO- prefix for Computer Boards models. Also, since the Daqarta parameter parser uses spaces as separators, no embedded spaces may appear within a parameter string. For this reason, CyberResearch models must use a hyphen that is not part of the true model number, such as CYDAS-16JR for the CYDAS 16JR model. For boards from other makers you must use the closest equivalent model from the above list. Compare the features of your board with those in the features table to assist in this determination. The DAS16F, DAS-16F, and CYDAS 16F are identical to the DAS16, DAS-16, and CYDAS 16, respectively, except for a Faster conversion rate. Use the S: parameter to specify conversion Speed. Use 'DAS16/330' for the CIO-DAS16/330i model as well. Note that for either of these there is presently no support for the enhanced (FIFO) mode that allows the full 330 kHz sample rate. (It would be incompatible with Seq mode and stimulus generation, but may be added later for RTime, particularly DDisk operation.) You will probably be limited to around 160 kHz operation. Similar considerations apply to the CIO-DAS16/M1. If you don't specifically set the S: parameter, the maximum conversion Speed for the /330 model will be automatically set to 3 microseconds (330 kHz). You may want to make your own speed determination to set the S: value for your system. Manufacturers sometimes change model designations for what is substantially or identically the same board. For example, the current CIO-DAS16 was originally known as the CIO-AD16, and the current CIO-DAS16/330 was the CIO-AD16JR-AT. If your board does not appear in the Model Compatibility list you may want to try some "best guess" model designations for the M: parameter based upon what you know about your board's features versus those listed for each supported model. If you omit the M: parameter, a Computer Boards CIO-DAS16 board will be assumed. Certain tests are performed in an attempt to validate the model number, but it is not possible to distinguish among all models via software. However, if the installed board is clearly not as indicated, Daqarta will exit immediately with: 'Wrong board Model given via M: parameter.'This message will be given even if you didn't use any M: parameter at all, if it is determined that the board could not be the default model. Some of the differences between models are of no consequence to the driver, such as the presence of a 10 MHz pacer clock on Computer Boards models where the equivalent Keithley Metrabyte models use a 1 MHz clock. Daqarta will determine the actual clock frequency used, so it doesn't matter where the XTAL jumper is set on boards that can switch between clock rates. (Leave it set to 1 MHz if you must run other software that only supports Keithley Metrabyte models. Otherwise, set it to 10 MHz for finest sample rate control.) If your "clone" board has missing ranges compared to the supported model, you may be able to use it anyway and just avoid trying to set any non-existent ranges.
P: PARALLEL PORT ADDRESS:The P: parameter specifies a parallel port to be used for digital output via the STIM3 stimulus generator. You can use either an 8255-type port, which is included on some DAS16 boards or may be installed as a separate board, or you can use an available LPT printer port.The 8255-type port occupies 4 consecutive addresses: Port A, Port B, Port C, and a Control Port. The Port A address is always used to indicate the base 8255 address. You should give the address in hexadecimal notation by preceding it with an 'h', as in: DAS16X.ADC P:h310 This would specify Port A at 310 hex. If you want to use Port B or Port C for output instead, do NOT "adjust" this base address to 311 or 312... the driver needs the true base address in order to find the Control Port. Instead, we use a trick: Since A, B, and C are perfectly valid hexadecimal digits, the driver employs special tests to allow you to use the form P:h310B to specify Port B and P:h310C for Port C. Port A may be specified this way as well, if you want the parameter line to serve as a reminder of what port is in use... but it's not really needed, since Port A is the default. The Computer Boards DAS16 and DAS16F, as well as the Cyber Research CYDAS 16 and CYDAS 16F, all come with an 8255 as standard equipment. If you have one of these you may omit the P: parameter and the driver will search at the appropriate location for the port, based upon the base address for the whole board. If you don't want to use the standard 8255 (maybe because it's wired for some other application), you can use P:0 and the driver will not even test for the chip. This will avoid any possible disturbance to equipment connected to these ports. If you want to use the standard 8255 on one of these models, but want to use Port B or Port C, you can use another form of the hex trick: Just give P:hB or P:hC and the selected port will be used, without having to specify its exact address. Keithley Metrabyte models do not come with a standard 8255, so you will definitely need the full P: parameter if you wish to use a separate 8255 board like like PIO-24 or PIO-12 from Keithley Metrabyte, or the Computer Boards CIO-DIO24. If you have a DAS16-type board with a standard 8255 that you don't want to use, and a separate 8255 board that you prefer instead, you can specify any of its ports just by giving the proper base address and relevant port letter as described earlier. Note that only the selected A, B, or C port is set to be an output... the other two ports are set as inputs. This allows other equipment to stay wired to them for other applications, since the inputs will just be ignored here. If the other application expects these to be inputs and there are active device outputs connected to them, then of course you don't want them to be forced to any possibly conflicting state. However, suppose the other application uses those ports as outputs, and you want to leave device inputs connected to them while you run the current application. In this case, you can't assume that those device inputs will never be activated: The pins of the 8255, even though set as inputs, will have some indeterminate high or low voltage state unless they are loaded with around 5000 ohms or less. If your device inputs don't provide this load, you could be in for a nasty surprise when the other device activates.
CAUTION: When the other application later makes the port an output, it will have no trouble driving the device to either state with this "pull-up" or "pull-down" resistor present. Of course, if you are SURE that your device inputs already provide adequate loads, go ahead and skip the resistors...
USING AN LPT PRINTER PORT FOR DIGITAL OUTPUT:This is option uses a conventional LPT or "Line PrinTer" port to obtain 8-bit digital output capabilities with board models that don't have built-in 8255 parallel ports. It may also find use in systems that have those ports, but where you want to keep them wired up for another application. To use this option with the P: parameter you must the form:DAS16X.ADC P:Lnwhere 'n' is the LPT number from 1 to 4. The printer port outputs will then be available for use by the DigOut option of the STIM3 Stimulus Generator. If the L: value is not in the range of 1 to 4, Daqarta will exit immediately with: 'LPT value out of range.'Most computer systems come with a single standard printer port, and if you need more than that you will have to install a separate board. All DOS systems can support ports LPT1 through LPT3 "naturally", without special software. The system BIOS keeps a record of the location of each LPT that it recognizes, and that record is consulted to validate the LPT value that you use here. If there is no entry for the LPT number you give (L:3 in this example), Daqarta exits with a message like: 'LPT3 not recognized by BIOS.' 'BIOS recognizes only LPT1 to LPT2.'where the message will reflect actual LPT availability. Problems may be due to adding a new printer port board and getting the jumpers or switches wrong. Most boards allow designation as LPT1 or LPT2. If you need to add LPT3, be sure the board allows it before you buy. Some boards allow LPT4 use, but not all systems support this. For example, IBM PS/2 systems use the LPT4 location in the BIOS data area for other purposes. You can use the LTEST.EXE utility supplied with Daqarta to see the port addresses corresponding to each LPT, as read from the BIOS data area just like this driver does. A typical display would be: Printer Port assignments: LPT1: 0378h LPT2: 0000h LPT3: 0000h LPT4: 9FC0hIn this example, only LPT1 is installed, at address 378h. LPT2 and LPT3 are available, but LPT4 is clearly in use for something else. LPT ports are always assigned consecutively by the BIOS, so this can't be a hidden port. It's also beyond the highest possible port address of 3FFh. Even if LTEST shows that the LPT4 location is available to install a new port, you may need to run special software (supplied with your port board) to make use of it... not all BIOSes will assign this automatically on start-up. Whether or not you have an 8255 or LPT for digital output via STIM3, the four built-in digital outputs present on all DAS16-type boards will always be available for Pulse output.
R: INPUT RANGE PRESET:Use this parameter to specify the initial input Range control setting. This will become the initial range for all channels, and the range tracking control will start in the All position, unless a C: Channel parameter appears later in the ADC configuration line.For boards with switch-selectable ranges, the R: parameter has no effect on the actual range... it just tells the DAS16X driver how you have set the switches. This is a good place to keep track of the range setting, since the switches will probably be hard to reach in most installations. A typical use of the R: parameter in your configuration line would be: DAS16X.ADC R:5 This would specify the +/- 5 Volt range. Ranges are all assumed to be bipolar, since there is no particular use for unipolar ranges with Daqarta. However, if you have a board with switch-selected ranges where you want to keep a unipolar range set for some other application, the range must have a 'U' after it, as in: DAS16X.ADC R:10Uwhich here would specify the 0-to-10 Volt Unipolar range. The Daqarta waveform display will show the same bipolar Y-axis as if you had set the equivalent bipolar range, but waveforms will be confined to only the positive half unless you use the Zero option. The range you specify must be one that is valid for your board Model, and it must appear exactly as shown in the following Range Table. The driver treats entries as literal text, not numerical values, and must find an exact match in its internal list. Otherwise, Daqarta will exit immediately with: 'Invalid R: Range parameter.'If the range is valid, but not supported by the board, the exit message will be: 'Invalid R: range parameter for this model.' DAS16X RANGE TABLE:Allowable Range entries for each Model, +/- Volts implied except where U suffix is shown for Unipolar:DAS16 DAS16/Jr DAS-16 DAS16/330 DAS-16G1 DAS-16G2 10 10 10 10 5 5 1 5 2.5 2.5 0.1 2.5 1 1.25 0.02 1.25 0.5 0.625 10U 5U 2U 1U CYDAS 16 CYDAS 16JR CYDAS 16JRHR 10 10 10 5 5 5 2 2.5 2.5 1 1.25 1.25 10U 0.625 10U 5U 10U 5U 2U 5U 2.5U 1U 2.5U 1.25U 1.25UIn addition, the DAS16 allows 'USER' and 'USERU' to indicate that the bipolar or Unipolar user-supplied custom gain range has been selected via the edge connector switches:
CIO-DAS16 RANGE SWITCHES (Edge Connector):+/- 10V +/- 5V +/- 2.5V +/- 1V +/-0.5V 6 --[] --[] --[] --[] --[] 5 []-- --[] --[] --[] --[] 4 []-- []-- --[] []-- []-- 3 []-- []-- []-- --[] []-- 2 []-- []-- []-- []-- --[] 1 []-- []-- []-- []-- []-- N/A 0-10V 0-5V 0-2V 0-1V 6 []-- []-- []-- []-- []-- 5 []-- --[] --[] --[] --[] 4 []-- []-- --[] []-- []-- 3 []-- []-- []-- --[] []-- 2 []-- []-- []-- []-- --[] 1 []-- []-- []-- []-- []-- +/-USER 0-USER 6 --[] []-- 5 []-- []-- 4 []-- []-- 3 []-- []-- 2 []-- []-- 1 --[] --[] S: SPEED:This parameter specifies the overall ADC conversion speed, in microseconds. It must be an integer between 2 and 50. The default setting is equivalent to: DAS16X.ADC S:20 or 20 microseconds, for a 50 kHz maximum sample rate.The number you use here should be the total conversion time, including sample-hold time. It will thus typically be the reciprocal of the maximum sample rate for your board. If you specify a DAS16/330, DAS16/Jr, or CYDAS 16JR model, this will default to 3 microseconds or 330 kHz, whereas for DAS-16G1 or DAS-16G2 models it defaults to 14 microseconds or 71 kHz. If you have a DAS16F, DAS-16F, or CYDAS 16F board, there is no separate Model name under the M: parameter... you just use 'M:DAS16' or 'M:DAS-16' and set the faster speed with the S: parameter: DAS16X.ADC M:DAS-16 S:10This will give DAS-16F support at 100 kHz. Certain other clone models that are not directly supported may also require this. This S: value is used as a limit when setting the sample rate under menu control, and is only there as a safety net to prevent you from setting the rate so high that you get bad data. Your particular board may be able to go a bit faster than the default speed, so you may want to try using a smaller S: value. So how do you determine when you are sampling too fast for your converter? The best way is to use a known input waveform and just keep increasing the sample rate. You will get to a speed where the waveform begins to get noisy and spiky. In RTime mode you may find that you can't run as fast as in Sequential mode... be sure to test both. Also, in RTime mode if you adjust the sampling rate to get the fastest setting that just eliminates spikes, you may find that the spikes reappear on each keystroke unless you slow the sample rate a lot more. You may want to avoid operating in this "twitchy" range for normal work, but it can be used if you are aware of the limitations and don't use any keystrokes during averaging or DDisk recording, for example. In general, DMA RTime operation will give better results... but it's not available during STIM3 stimulus generation, since DAS16-type boards have only a single, acquisition-only DMA channel. When any STIM3 output is active in RTime mode, interrupt-driven operation will thus automatically be used. Also, the overhead of writing to the DACs or Digital Output port may reduce the maximum sample rate on slow systems. If you try to run sample rate or sample rate plus stimulus combinations too high for your system, Daqarta will give an alert and show: 'Sample rate overrun!' If RTime mode was active, it will be forced back to Sequential mode. This prevents lockup in case you give the system so much to do during each sample interrupt that there is no time for any other processing between the interrupts.
OVERSAMPLING AND HYPERSAMPLING:When used with the STIM3 Stimulus Generator, DAS16 boards can use stimulus oversampling (STIM3 Factor greater than 1). This means that the DAC and/or digital stimulus output sample rate is higher than the ADC acquisition sample rate by the Factor. Normally, this constrains the maximum rate (Factor times acquisition sample rate) to the limits of the ADC chip itself, since the board must actually acquire input data on every sample and then discard it for output-only samples.However, it turns out that most DACs and all digital outputs can go much faster than many ADCs, especially the 50 kHz ADCs on the basic DAS16 models. A 50 kHz output sample rate would limit you to stimulus tone frequencies below 25 kHz... WAY below, if you want decent sine waves. Since most DACs can easily sample above 150 kHz, we would like to make better use of this range. But the DAS16 pacer can only start conversions... it can't generate interrupts at a higher rate than the conversion rate, as we need here. Daqarta solves this problem by allowing you to ignore the on-board pacer and use the 1.193 MHz system timer instead. Although this adds some overhead to each acquisition by requiring a software conversion start, it allows fast CPUs to achieve output sample rates well above the maximum ADC limit. Daqarta refers to this as "Hypersampling". To do this, you select IRQ 0 with the I: parameter. This IRQ is reserved for the system timer, so I:0 acts as a special flag to tell Daqarta to run in a completely different mode. The IRQ 0 interrupts are actually used only for RTime operation, while for Sequential operation the system timer is read directly to determine when to take each sample. The maximum overall sample rate that you can achieve with this method is dependent upon your system speed. For example, a typical 33 MHz 486DX system can acquire data at about 20 kHz while generating a single DAC stimulus at a Factor of up to 9. This means that the DAC is actually going at about 180 kHz. With both DACs operating, the limit drops to a factor of 5, or about 100 kHz stimulus rate on each DAC. What happens if you try to sample too fast? In RTime mode, the time to generate and acquire data will consume too much of the CPU time, slowing trace updates to a crawl. If they slow too much, Daqarta will trip out of RTime mode and revert back to Sequential, with an Alert and a message of 'Sample rate overrun!'. In Sequential mode, if Daqarta can't keep up it will read the timer late and skip sample periods, which means the outputs will not be updated and will instead retain their old values for an extra sample interval. Since the requested total number of samples will still be generated, the overall sweep duration will be increased. Daqarta times the duration of each Sequential sweep and compares it to the calculated value, and if the actual duration is too long, it sounds an Alert and gives the same overrun message as above. However, the calculated sweep time is set slightly high (by about 54 microseconds) to prevent frequent false alarms, yet still trip reliably on real problems. If you request a stimulus that is a small fraction of the overall sweep duration, a little increase due to errors in only that portion may not boost the total enough to trip the alarm, even though the errors may be significant to your experiment.
TIP: Note that if you use the I:0 parameter you may not also use the D: parameter to specify DMA for RTime operation. Attempts to do so will result in an immediate exit with: 'IRQ 0 not allowed with DMA mode.' Similarly, you may not use I:0 with S:En External Pacer, or you will get: 'IRQ 0 not allowed with External Pacer.' Other than these, you may use the I:0 mode for general Daqarta operations, not just oversampling with STIM3. The system timer has an "oddball" timing resolution of about 838 nsec. This is better than the 2000 nsec resolution obtainable with standard DAS-16 boards having a 1 MHz clock, but not as good as the 200 nsec from Computer Boards models with the 10 MHz XTAL jumper selected. (The on-board timer source must always be divided by at least 2, due to the way its 8254 timer chip operates, so you can't get resolutions of 1000 or 100 nsec implied by the clock frequencies of 1 and 10 MHz.)
EXTERNAL PACER:Few users will have need for the External Pacer mode, or have the special equipment needed to support it, but it offers very powerful benefits for certain applications. This mode allows the sample rate to be controlled externally, to provide exact synchronization to some external process. The external pacer signal may be fixed, or dynamically variable. For example, if you provide a sample clock that is synchronized to an engine or other machine's operating speed, you can view vibration spectra where each harmonic stays at the same screen location even as operating speed varies.You must provide an external TTL clock signal at exactly the desired sample rate. Connect it to the "Dig In / Trigger" input (pin 25). Daqarta will make no attempt to determine the actual sample rate... X-axis markings and readouts will be constant. (You probably wouldn't want to look at them if they changed very quickly!) Instead, you tell Daqarta what axis values you want to see by specifying the "sample period" instead of the conversion time when supplying the S: parameter. You also need to prefix the value with an E to indicate External Pacer, as in: DAS16X.ADC S:E5 In this example, the E5 indicates an external pacer with a sample period of 5 microseconds, or 200 kHz. Even if this is much faster than your board model can go, it has the advantage that the frequency axis is 0 to 100 kHz, which you can interpret as 0 to 100% of the spectrum. You can set any value from 2 to 65535 microseconds here. If your pacer signal is constant, or nearly so, you can just use the closest integer microsecond approximation of its period. If it varies all over the place, you may be better off with a 0 to 100% representation. The value you set is not used for any "real" sampling operations... that's completely controlled by the TTL pacer signal you feed to the pin 25 input. You must insure that this never goes faster than the maximum sample rate for your board, or you will get trashy data. (It will probably look like a version of the true waveform, with a forest of spikes growing out of it.) However, the S:E value does affect certain other internal functions that deal with time units. When a Trigger Delay is set, the entered time value is converted internally to an equivalent number of sample periods. The delay operation is then carried out by counting samples. So if the true sample period is different from the S:E value, all trigger delays will be off by the same proportion. Dynamically changing the external sample clock will produce changing delays. In RTime mode, Cycle times are handled just like Trigger Delay and will show the same sample clock effects. Sequential mode Cycle timing will be correct, since it is done with the system timer using absolute time, not sample counting. The Cycle adjustment control uses the same sample-period increment size in both RTime and Sequential modes, and is limited to a total of 32767 samples maximum, so the S:E value will affect both resolution and range. If you use a varying External Pacer clock frequency during stimulus generation with the STIM3 Stimulus Generator or the Trigger Pulse option, the output frequencies will be scaled accordingly. The sample period established by the S:E value will be used as the basis for STIM3 sine wave calculations when using the DAC outputs. All STIM3 durations, for both DAC sine waves and DigOut digital output pulses, are given in sample periods that may thus be variable in width. When you are using the External Pacer option, the board summary screen will show: 'EXTERNAL sample pacer (pin 25).'instead of the usual: 'nn MHz pacer reference (XTAL jumper).'where 'nn' is either 1 or 10. If you use the S:En option, but don't provide a pacer signal at the pin 25 input, Daqarta will exit with: 'External pacer not connected to input pin 25.' Note that it is not enough just to have something connected to pin 25... there must be a frequency present of at least 20 Hz or so to pass the internal tests. If you want to start Daqarta while the External Pacer is at a lower frequency, or before it becomes active, use a lower-case 'e', as in: DAS16X.ADC S:e5This will bypass the intialization tests. Also, you can't use the External Pacer with the IRQ 0 option, since IRQ 0 specifies using the internal system timer as a pacer.
U: USER-SUPPLIED CUSTOM GAIN RANGE:The CIO-DAS16 allows a custom gain range by installation of a resistor on the board. See the documentaion for your board to find the location for this resistor. This range may be used in a bipolar or unipolar mode, according to switch settings on the edge connector. Since the actual voltage range covered in either mode is the same, the bipolar +/- full-scale value is half of the unipolar 0-to-full-scale value. For example, if you set a bipolar range of +/- 0.595 Volts, the unipolar range would be 0 to 1.190 Volts.To find the resistor value Ruser for a BIPOLAR range +/-Vfs: 40000 × Vfs Ruser = ------------- 10 - Vfs For a UNIPOLAR range, just halve the value. The minimum resistor you may use is 1053 Ohms, which will give +/- 0.25 V bipolar or 0-0.5 V unipolar. Conversely, to find the bipolar range +/-Vfs for a given value of Ruser: 5 × Ruser Vfs = ------------- 20000 + RuserThe corresponding unipolar range for this same resistor would be twice this. You must tell Daqarta the full-scale BIPOLAR range value in millivolts via the U: parameter so that the Y-axis calibration will be correct. For example, if you had inserted a 2700 Ohm resistor the full-scale voltage would be: 5 × 2700 Vfs = ------------ = +/- 0.5947 Volts or 594.7 mV. 20000 + 2700You would then need round to the nearest millivolt and inform Daqarta via: DAS16X.ADC U:595 When you supply this U: parameter, Daqarta will assume that the range switches have been set to use it in bipolar mode, and this range will become the startup default. If you want a different range on startup, you must specify it separately via the R: Range parameter. This is true if you just want to select the User range switch, but in unipolar mode (R:USERU). Note that the actual unipolar range will be TWICE the value specified by the U: parameter.
|