Tektronix Using Keithley DriverLINX with KPCI-3101/2/3/4 or KPCI-3110/16 (1.3MB) User manual

Keithley KPCI-3100 Series
Using DriverLINX with Your
Hardware
SCIENTIFIC SOFTWARE TOOLS, INC. SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RELATED TO THE USE OF THIS PRODUCT. THIS PRODUCT IS NOT DESIGNED WITH COMPONENTS OF A LEVEL OF RELIABILITY SUITABLE FOR USE IN LIFE SUPPORT OR CRITICAL AP PLICATIONS.
This document may not, in whole or in part, be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine readable form without prior written consent from Scientific Software Tools, Inc.
Keithley KPCI-3100 Series: Using DriverLINX with Your Hardware Copyright 1999-2001 by Scientific Software Tools, Inc. All rights reserved.
SST 28-0110-1
DriverLINX, SSTNET, and LabOBJX are registered trademarks and DriverLINX/VB is a trademark of Scientific Software Too ls, Inc. MetraByte is a trademark of Keithley Instruments, Inc. Microsoft and Windows are registered trademarks and Visual C++ and Visual Basic are trademarks of Microsoft Corporation. Borland is a registered trademark and Borland C++ and Delphi are trademarks of Borland International, Inc. All other brand and product names are trademarks or registered trademarks of their respective companies.
Contents
Preface 5
Software License and Software Disclaimer of Warranty...........................................................5
About DriverLINX.....................................................................................................................7
About This User’s Guide...........................................................................................................7
Conventions Used in This Manual.............................................................................................9
Configuring the KPCI-3100 Series 11
Introduction..............................................................................................................................11
Configure DriverLINX Device Dialog ....................................................................................11
Using the KPCI-3100 Series with DriverLINX 23
Introduction..............................................................................................................................23
KPCI-3100 Series Hardware Features.....................................................................................23
DriverLINX Hardware Model for KPCI-3100 Series..............................................................24
Connecting Signals to the KPCI-3100 Series ..........................................................................29
Device Subsystem....................................................................................................................35
Analog Input Subsystem..........................................................................................................36
Device Subsystem Page.............................................................................................13
Analog Input Subsystem Page...................................................................................15
Analog Output Subsystem Page ................................................................................16
Digital Input Subsystem Page....................................................................................17
Digital Output Subsystem Page.................................................................................19
Counter/Timer Subsystem Page.................................................................................21
DriverLINX Subsystems ...........................................................................................25
DriverLINX Modes ...................................................................................................25
DriverLINX Operations and Events..........................................................................26
Logical Channels.......................................................................................................28
Buffers.......................................................................................................................28
Analog Input Subsystem Signals...............................................................................29
Analog Output Subsystem Signals ............................................................................30
Digital Input Subsystem Signals................................................................................31
Digital Output Subsystem Signals.............................................................................33
Counter/Timer Subsystem Signals.............................................................................33
Device Modes............................................................................................................35
Device Operations .....................................................................................................35
Analog Input Modes..................................................................................................36
Analog Input Operations............................................................................................36
Analog Input Timing Events......................................................................................37
Analog Input Start Events..........................................................................................43
Analog Input Stop Events..........................................................................................46
Analog Input Channels..............................................................................................50
Analog Input Buffers.................................................................................................56
Analog Input Data Coding.........................................................................................57
Keithley KPCI-3100 Series Contents 3
Analog Input Messages..............................................................................................58
Analog Output Subsystem........................................................................................................59
Analog Output Modes................................................................................................59
Analog Output Operations.........................................................................................59
Analog Output Timing Events...................................................................................60
Analog Output Start Events.......................................................................................63
Analog Output Stop Events .......................................................................................66
Analog Output Channels............................................................................................67
Analog Output Channel Gains...................................................................................69
Analog Output Buffers...............................................................................................70
Analog Output Data Coding ......................................................................................71
Analog Output Messages...........................................................................................72
Digital Input Subsystem...........................................................................................................74
Digital Input Modes...................................................................................................74
Digital Input Operations ............................................................................................74
Digital Input Timing Events ......................................................................................75
Digital Input Start Events...........................................................................................77
Digital Input Stop Events...........................................................................................80
Digital Input Channels...............................................................................................85
Digital Input Buffers..................................................................................................88
Digital Input Messages ..............................................................................................89
Digital Output Subsystem........................................................................................................90
Digital Output Modes ................................................................................................90
Digital Output Operations..........................................................................................90
Digital Output Timing Events....................................................................................90
Digital Output Start Events........................................................................................92
Digital Output Stop Events........................................................................................92
Digital Output Channels ............................................................................................92
Digital Output Buffers...............................................................................................96
Digital Output Messages............................................................................................96
Counter/Timer Subsystem........................................................................................................98
Counter/Timer Channel Usage ..................................................................................98
Clock Sources and Modes..........................................................................................99
Gate Settings............................................................................................................101
Counter/Timer Tasks ...............................................................................................101
Counter/Timer Messages.........................................................................................102
Uninstalling DriverLINX 105
How do I uninstall DriverLINX?...........................................................................................105
Troubleshooting 109
Solving Problems...................................................................................................................109
Solving Problems Recognizing and Installing Drivers............................................109
Solving Problems Configuring the Drivers..............................................................110
Solving Problems Loading Drivers..........................................................................110
Generating a DriverLINX Configuration Report...................................................................113
What is in the Report? .............................................................................................113
How do I Generate the Report? ...............................................................................113
Glossary of Terms 114
4 Contents Keithley KPCI-3100 Series
Preface
Software License and Software Disclaimer of Warranty
This is a legal document which is an agreement between you, the Licensee, and Scientific S oftware Tools, Inc. By opening this sealed diskette package, Licensee agrees to become bound by the terms of this Agreement, which include the Software License and Software Disclaimer of Warranty.
This Agreement constitutes the complete Agreem ent between Licensee and Scientific Software Tools, Inc. If Licensee does not agree to the terms of this Agreement, do not open the diskette pack age. Promptly return the unopened disk ette package and the other items (including written materials , binders or other containers, and hardware, if any) t hat are part of this product to Scientific Software Tools, Inc. for a full refund. No refunds will be given for products that have opened disk packages or missing components.
Licensing Agreement
Copyright. The software and documentation is owned by Scient ific Software Tools, Inc. and is prot ected by both United States
copyright laws and international treaty provisions. Scientific Software Tools, Inc. authorizes the original purchas er only (Licensee) to either (a) make one copy of the software solely for backup or archival purposes, or (b) transfer the software to a single hard disk only. The written materials accompanying the software may not be duplicated or copied for any reason.
Trade Secret. Licensee understands and agrees that the software is the proprietary and confidential property of Scientif ic Software Tools, Inc. and a valuable trade sec ret. Licensee agrees t o use the software only for the intended use under t his License, and shall not disclose the software or its contents to any third party.
Copy Restrictions. The Licensee may not modify or translate the program or relat ed documentation without the prior written consent of Scientific Software Tools, Inc. All modifications, adaptations, and merged porti ons of the software constitute the s oftware
licensed to the Licensee, and the terms and conditions of this agreement apply t o same. Licensee may not distribute copies, i ncluding electronic transfer of copies, of the modified, adapted or merged software or accompanying written materials to others. Licens ee agrees not to reverse engineer, decompile or disassemble any part of the software.
Unauthorized copying of the software, including software that has been modif ied, merged, or included with other software, or of the written materials is expressly forbidden. Licensee may not rent, transf er or lease the software to any third parties. Licensee agrees to
take all reasonable steps to protect Scientific Software Tools’ software from theft, disclosure or use contrary to the terms of the License.
License. Scientific Software Tools, Inc. grants the Licensee onl y a non-exclusive right to use the serialized copy of t he software on a single terminal connected to a single computer. The Licensee may not network the software or use it on more than one computer or computer terminal at the same time.
Term. This License is effect ive until terminated. This License will terminate automatically without notice from Scientific Software Tools, Inc. if Licensee fails t o comply with any term or condition of this Lic ense. The Licensee agrees upon suc h terminat ion to return or destroy the written materials and all copies of the software. The Licensee may terminat e the agreement by returning or destroying the program and documentation and all copies thereof.
Keithley KPCI-3100 Series Preface 5
Limited Warranty
Scientific Software Tools, Inc. warrants that the software will perform substantially in accordance with the written materials and that the program disk, instructional manuals and reference materials are free from defects in materials and workmanship under normal use for 90 days from the date of receipt. All express or implied warranties of the software and related materials are limited to 90 days.
Except as specifically set forth herein, t he software and accompanying writt en materials (including i nstructions for use) are provided
“as is” without warranty of any kind. Furt her, Scientific Software Tools, Inc. does not warrant, guarantee, or make any represent atio ns regarding the use, or the results of the use, of the software or written materi als in terms of correctness, accuracy , reliability, c urrent ness, or otherwise. The entire risk as to the results and performance of the software is assumed by Licensee and not by Scientific Software Tools, Inc. or its distributors, agents or employees.
EXCEPT AS SET FORTH HEREIN, THERE ARE NO OT HER WARRANTIES, EITHE R EXPRESS OR IMPL IED, I NCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE, THE ACCOMPANYING WRITTEN M AT ERIALS, AND ANY ACCOMPANYING HARDWARE.
Remedy. Scientific Software Tools’ entire liability and the Lic ensee’s exclusive remedy shall be, at Scientific Software Tools’ opt ion,
either (a) return of the price paid or (b) repair or replacement of the software or ac companying materials. In the event of a defect in material or workmanship, the item may be returned withi n the warranty period to Scientific Software Tools for a replacement without charge, provided the licensee previously sent in the limited warranty registration board t o Scientific Software Tools, Inc., or can furnish proof of the purchase of the program. This remedy is void if failure has resulted from accident, abuse, or mis appl ication. Any replacement will be warranted for the remainder of the original warranty period.
NEITHER SCIENTIFIC SOFTWARE TOOLS, INC. NOR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, SALE OR DELIVERY OF THIS PRODUCT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTI AL, OR INCIDENTAL DAMAGES (INCLUDING DAMAGE S FOR LOSS OF BUSINESS PROFITS, BUSINESS I NTERRUPTION, L OSS OF BUSINESS INFORMATION AND THE L I KE) ARI SING OUT OF THE USE OF OR THE INABILITY TO USE SUCH PRODUCT EVEN IF SCIENTIFIC SOFTWARE TOOLS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR LIMITATIONS ON DURATION OF AN IMPLIED WARRANTY , THE ABOVE LIMITATIONS MAY NOT APPLY TO LICENSEE.
This agreement is governed by the laws of the Commonwealth of Pennsylvania.
6 Preface Keithley KPCI-3100 Series
About DriverLINX
Welcome to DriverLINX for Microsoft Windows, the high-performance real- time data-acquisition device drivers for Windo ws application development.
DriverLINX is a language- and hardware-independent application programming
interface designed to support hardware manufacturers’ high-speed analog, digital, and counter/timer data-acquisition boards in Windows. DriverLINX is a multi-user and multitasking data-acquisition resource manager providing more than 100 services for foreground and background data acquisition tasks.
Included with your DriverLINX package are the following items:
The DriverLINX API DLLs and drivers supporting your data-
acquisition hardware
Analog I/O Panel, a DriverLINX program that verifies the installation
and configuration of DriverLINX for your analog input/output board and demonstrates several virtual bench-top instruments
Source code for the sample programs
The DriverLINX Application Programming Interface files for your
compiler
DriverLINX On-line Help System
DriverLINX 4.0 Installation and Configuration Guide
DriverLINX Analog I/O Programming Guide
DriverLINX Digital I/O Programming Guid e
DriverLINX Counter/Timer Programming Guide
DriverLINX Technical Reference Manual
Supplemental Documentation on DriverLINX and your data-
acquisition hardware
About This User’s Guide
The purpose of this manual is to help you quickly le arn how to configure and use the
hardware features of Keithley’s KPCI-3100 Series boards with DriverLINX.
For help installing and configuring your hardware and DriverLINX,
please see the manual that accompanied your hardware and the DriverLINX 4.0 Installation and Configuration Guide for your version of Windows.
For more information on the DriverLINX API, please see the
DriverLINX Technical Reference Manual.
For additional help programming your board, please exa mine the
source code examples on the Distribution Disks.
This manual contains the following chapters: Configuring the KPCI-3100 Series Shows how to configure the KPCI-3100 Series using the Configure DriverLINX
Device dialog box.
Keithley KPCI-3100 Series Preface 7
Using the KPCI-3100 Series with DriverLINX
Shows how to set up DriverLINX with the Edit Service Request dialog box to use KPCI-3100 Series hardware features.
Uninstalling DriverLINX Describes how to remove DriverLINX hardware drivers and other files.
Troubleshooting
Gives troubleshooting tips for installing, configuring, a nd loading DriverLINX drivers.
8 Preface Keithley KPCI-3100 Series
Conventions Used in This Manual
The following notational conventions are used in this manual:
A round bullet (•) identifies itemized lists.
Numbered lists indicate a step-by-step procedure.
DriverLINX Application Programming Interface and Windows macro
and function names are set in bold when mentioned in the text.
DriverLINX indicates the exported function name of the device driver
DLL while DriverLINX indicates the product as a whole.
DriverLINX Application Programming Interface identifiers, menu
items, and Dialog Box names are italicized when mentioned in the text.
Italics are used for emphasis.
Source code and data structure examples are displayed in Courier
typeface and bounded by a box with a single line.
Code
A box with a double line bound tables of information.
Table
Concept
Important concepts and notes are printed in the left margin.
Keithley KPCI-3100 Series Preface 9
Configuring the KPCI-3100 Series
Introduction
The installation program provides general instructions for installing and configuring DriverLINX. This manual explains the steps and special features that apply to
Keithley’s KPCI-3100 Series boards. Installing and configuring DriverLINX for a Keithley KPCI-3100 Series board
requires three steps:
1. Install DriverLINX. Follow the instructions given by the installation
program. The Read Me First instructions explain the components and drivers you can install.
2. Configure DriverLINX. This creates a Logical Device, which stores
configuration information for your board. See “Configure DriverLINX Device Dialog” on page 11 for configuration options specific to a Keithley KPCI-3100 Series model.
3. Install your KPCI-3100 hardware. Follow the instructions in your
hardware manual.
After configuring DriverLINX, insta lling your board and r estarting Windows, reopen the DriverLINX Configuration Panel to make sure that DriverLINX loaded the Logical Device for your board. If the Logical Device is not loaded, the Event Log may have a message from the driver that explains why. You can check the Event Log using the DriverLINX Event Viewer on the Windows Start Menu.
Windows NT
Under Windows NT 4.0, a Logical Device may not load because the opera t ing system does not always configure Plug-and-Play PCI devices properly. To work around this , set your computer’s BIOS to configur e Plug-and-Play devices before it starts the operating system. On various computers the BIOS setting is called “Plug­and-Play Aware OS – Disabled” or “Plug & Play OS – No”.
Configure DriverLINX Device Dialog
DriverLINX uses a standardized configuration protocol for all data-acquisitio n hardware. Configuration assigns an identifying device number to a specific KPCI­3100 Series board in your computer and allows you to enable or disable bus mastering.
Keithley KPCI-3100 Series Configuring the KPCI-3100 Series • 11
The installation program automatically starts the DriverLINX Configuration Panel. To start it now, use the shortcut on the Windows Start Menu.
When you click the Configure… button on the DriverLINX Configuration Panel, DriverLINX displays the Configure DriverLINX Device dialog. The dialog has a page for each subsystem on the Keithley KPCI-3100 Series. The following sections describe your choices in configuring DriverLINX to work with your board.
12 Configuring the KPCI-3100 Series Keithley KPCI-3100 Series
Device Subsystem Page
Use the Device subsystem page to tell DriverLINX the model name of, and, optionally, the accessories connected to your KPCI-3100 Series board.
Vendor
The Vendor property displays “Keithley Instruments, Inc.” It is a read-only property.
Device
Windows NT
Windows 95/98
The Device property designates the Logical Device you are configuring. It is a read­only property. To change it, first save (OK) or quit (Cancel) the current configuration. Then select or create a new Logical Device using the DriverLINX Configuration Panel.
Model
The Model property selects or indicates the hardware model of the board you’re configuring.
Select one of the following models:
KPCI-3101 KPCI-3102 KPCI-3103 KPCI-3104 KPCI-3110 KPCI-3116
Windows 95 automatically determines the model of your board so DriverLINX disables Model selection.
Board Id
The KPCI-3100 Series boards do not have unique serial numbers that DriverLINX can use to match a Logical Device to a board while loading the driver. Under Windows 95/98, DriverLINX can match a Logical Device to a board based on the
Keithley KPCI-3100 Series Configuring the KPCI-3100 Series • 13
model and bus slot. Under Windows NT, DriverLINX matches a Logical Device to a board based on model only.
Windows NT
Windows 95/98
DriverLINX does not use the Board Id property.
DriverLINX assigns a Board Id based on the model and bus slot.
Detect
The Detect property enables and disables DriverLINX’s hardware detection and testing algorithms. For maximum system reliability, always leave this check-bo x marked.
Calibrate
The Calibrate property enables and disables hardware auto-calibration. This option is grayed-out for the KPCI-3100 Series because it does not support automatic calibration.
Special…
The Special… button displays the following dialog box of KPCI-3100 Series-specific configuration options:
Note: The Filter settings apply only to model KPCI-3116.
Enable DAC Filters
Model KPCI-3116 has 20 kHz filters on its analog outputs that you can configure as initially enabled or disabled. Applications can use the default configuration or change the setting programmatically.
To enable the filters as the default configuration, perform the following steps:
1. In the Configure KPCI-3100 Options dialog box, check the Enable DAC0 Filter box for Logical Channel 0
2. In the Configure KPCI-3100 Options dialog box, check the Enable
DAC1 Filter box for Logical Channel 1
14 Configuring the KPCI-3100 Series Keithley KPCI-3100 Series
Analog Input Subsystem Page
Use the Analog Input subsystem page to choose between single-ended or differential analog input channels as a default configuration.
Channels
On the KPCI-3100 Series, each Analog Input channel can use single-ended or differential termination modes. When configuring the Analog Input Subs ys tem, you choose a default configuration for all channels. Applications can use the default configuration or specify the termination mode for each channel that it uses. This scheme supports applications that use KPCI-3100-specific features as well as those that use only generic features. For applications that do specify the termination mode, configure the subsystem for single-ended channels so that all channels are available.
For information on programming the termination mode, see “Analog Input Channels” on page 50.
Range
The analog input ranges for the KPCI-3100 Series are fully software programmable. DriverLINX grays out this property in the configuration dialog.
Interrupt
The KPCI-3100 Series does not use interrupts. DriverLINX disables this property.
DMA
The KPCI-3100 Series does not use DMA channels for direct memory transfers. PCI devices use bus mastering for DMA.
Calibrate
The KPCI-3100 Series supports manual calibration only. You can start the calibration utility from the Windows Start menu
.
Keithley KPCI-3100 Series Configuring the KPCI-3100 Series • 15
Analog Output Subsystem Page
Use the Analog Output subsystem page to set or view the initial output voltages.
Channels
Lists the analog output channels on the board and selects a channel for the Volts and Initialize properties.
Range
The analog output ranges for the KPCI-3100 Series are fully software programmable. DriverLINX grays out this property in the configuration dialog.
Volts
The Initialization Value property specifies the analog output value DriverLINX will write to the selected Logical Channel upon hardware initialization. DriverLINX only writes this value if you enable the In
itialize check box.
Interrupt
The KPIC-3100 Series does not use interrupts. DriverLINX disables this property.
DMA
The KPCI-3100 Series does not use DMA channels for direct memory transfers. DriverLINX disables this property.
Initialize
Checking the In itialize check box instructs DriverLINX to use the Volts property for to initialize the selected analog output channel.
16 Configuring the KPCI-3100 Series Keithley KPCI-3100 Series
Digital Input Subsystem Page
Use the Digital Input subsystem page to set configurable d igital channels as input or output.
Channels
The Channels property allows you to select a Logical Channel for configuration or
viewing the channel’s range. The KPCI-3100 Series supports both fixed and configurable digital channels.
DriverLINX defines the following Logical Channels for the KPCI-3100 Series Digital Input Subsystem:
Models KPCI-3101/02/03/04
Logical Channel
0 Digital Input/Output Digital I/O Bank A 0 … 7 1 Digital Input/Output Digital I/O Bank B 0 … 7 2 Digital Input/Output Digital I/O Bank C 0 … 6 3 External Clock External A/D Sample Clock Input
4 External Trigger External A/D TTL Trigger
Models KPCI-3110/16
Logical Channel
0 Digital Input/Output Digital I/O Bank A 0 … 7 1 Digital Input/Output Digital I/O Bank B 0 … 7 2 External Clock External A/D Sample Clock Input
3 External Trigger External A/D TTL Trigger
DriverLINX Function
DriverLINX Function
KPCI-3100 Series External Connector
External D/A Sample Clock Input
External D/A TTL Trigger
KPCI-3100 Series External Connector
External D/A Sample Clock Input
External D/A TTL Trigger
Keithley KPCI-3100 Series Configuring the KPCI-3100 Series • 17
Range
The Range property specifies the supported digital input range for the selected Logical Channel. This is a read-only property.
Interrupt
The KPCI-3100 Series does not use interrupts. DriverLINX disables this property.
DMA
The KPCI-3100 Series does not use DMA channels for direct memory transfers. DriverLINX disables this property.
Configuration Setup
The Conf igur at i on Setup property specifies the hardware configuration of the digital I/O ports. Logical Channels 0 through 1 are configurable as input or output. Enter 1 to initially configure the selected channel as input or 0 to configure it as output and check the Initialize box.
Initialize
Checking the In itialize check box instructs DriverLINX to use the Configuration S
etup property to configure the selected digital I/O channel.
18 Configuring the KPCI-3100 Series Keithley KPCI-3100 Series
Digital Output Subsystem Page
Use the Digital Output subsystem page to change the default digital outp ut port initialization values.
Channels
The Channels property allows you to select a Logical Channel for initialization or viewing the channel’s range.
Models KPCI-3101/02/03/04
Logical Channel
0 Digital Input/Output Digital I/O Bank A 0 … 7 1 Digital Input/Output Digital I/O Bank B 0 … 7 2 Digital Input/Output Digital I/O Bank C 0 … 6
Models KPCI-3110/16
Logical Channel
0 Digital Input/Output Digital I/O Bank A 0 … 7 1 Digital Input/Output Digital I/O Bank B 0 … 7
DriverLINX Function
DriverLINX Function
KPCI-3100 Series External Connector
KPCI-3100 Series External Connector
Range
The Range property specifies the supported digital output range for the selected Logical Channel. This is a read-only property.
Interrupt
The KPIC-3100 Series does not use interrupts. DriverLINX disables this property.
Keithley KPCI-3100 Series Configuring the KPCI-3100 Series • 19
DMA
The KPCI-3100 Series does not use DMA channels for direct memory transfers. DriverLINX disables this property.
Initialization Value
The Initialization Value property specifies the digital output value DriverLINX will write to the selected Logical Channel upon hardware initialization. DriverLINX only writes this value if you enable the In
itialize check box.
Initialize
Checking the In itialize check box instructs DriverLINX to use the Initialization V
alue property for digital output port initialization.
Dec
This check box converts the Initialization Value property to decimal.
Hex
This check box converts the Initialization Value property to hexadecimal .
20 Configuring the KPCI-3100 Series Keithley KPCI-3100 Series
Counter/Timer Subsystem Page
Use the Count er/Timer subsystem page to view the clock source frequency.
Resolution
The Resolution property specifies the clock frequency of the master oscillator. All models have a 20 MHz clock source for pacing input/output tasks and counter/timer functions.
Interrupt
The KPIC-3100 Series does not use interrupts. DriverLINX disables this property.
Keithley KPCI-3100 Series Configuring the KPCI-3100 Series • 21
Using the KPCI-3100 Series with DriverLINX
Introduction
See the Analog I /O Programming Guide for an
overview of DriverLINX programming.
This chapter shows you how to set up and use KPCI-3100 Series hardware features with DriverLINX.
The descriptions here use the Edit Service Request dialog for language and API
independence. For the correct syntax with the language you’re using, please see the DriverLINX Technical Reference Manuals. For DriverLINX examples in your programming language, please see the source code examples in the subdirectories of your DriverLINX installation directory or on the original distribution media.
KPCI-3100 Series Hardware Features
The KPCI-3100 Series offers your data-acquisition application a wide variety of useful features. Analog inputs support programmable gains, termination modes and polarities, as well as digital and analog pre-, post- and about-triggering. Analog outputs are waveform-q uality (on some models). Four of the count er/timers ar e user­accessible. DriverLINX accesses these features through its hardware independent Applications Programming Interface (API).
The following table is a cross-reference between hardware features and the DriverLINX features that access them.
Keithley KPCI-3100 Series Using the KPCI-3100 Series with DriverLINX 23
Hardware Feature DriverLINX Feature
Calibration of each analog input and output range
Analog triggering Analog Input:
Digital triggering Analog Input:
DriverLINX provides a stand-alone KPCI-3100 Calibration Utility.
Analog Start Event (Post-
Triggering)
Analog Stop Event (Pre-
and About-Triggering)
Analog Output:
Analog Start Event (Post-
Triggering)
Digital Input:
Analog Start Event (Post-
Triggering)
Analog Stop Event (Pre-
and About-Triggering)
Digital Start Event (Post-
Triggering)
Analog Output:
Digital Start Event (Post-
Triggering)
Digital Input:
Digital Start Event (Post-
Triggering)
Digital Stop Event (Pre- and
About-Triggering)
Programmable single-ended or differential termination modes
Programmable gains Analog Input Channel Gains Waveform-quality analog outputs
(models KPCI-3110/16 only)
User-accessible counter/timers Counter/Timer Subsystem
Analog Input Channel Termination Modes
Analog Output Subsystem AO Recycle Mode (waveform
generation)
DriverLINX Hardware Model for KPCI-3100 Series
DriverLINX provides a portable, hardware-independent API for data-acquisition boards while still allowing applications to access unique or proprietary hardware features of specific products. To achieve this goal, DriverLINX maps a hardware­independent, or abstract, data-acquisition model onto KPCI-3100 Series hardware capabilities.
24 Using the KPCI-3100 Series with DriverLINX Keithley KPCI-3100 Series
The following sections describe how DriverLINX implements KPCI-3100 Series hardware features as Subsystems, Modes, Operations, Events, Logical Channels, Buffers, and Messages.
DriverLINX Subsystems
The KPCI-3100 Series supports the following DriverLINX subsystems:
1. Device—refers to a KPCI-3100 Series board as a whole.
2. Analog Input—refers to the analog input channels, clocks, and control
signals.
3. Analog Output—refers to the analog output channels, clocks, and
control signals.
4. Digital Input—refers to the digital input ports as well as 1-bit digital
control signals and external clock inputs.
5. Digital Output—refers to the digital output ports.
6. Counter/Timer—refers to the onboa r d counter/timer channels for
pacing analog input/output or performing measuring and waveform generatio n functions.
DriverLINX Modes
Applications use modes in Service Requests to advise DriverLINX on their preferred hardware data transfer technique. The DriverLINX modes fall into two general classes:
Foreground or synchronous mode s. The calling application does not
regain control until DriverLINX completes the Service Request. DriverLINX supports this mode for simple, single value I/O operations or software housekeeping functions that DriverLINX can complete without a si gnificant del ay.
Background or asynchronous modes. The calling application regains
control as soon as DriverLINX initiates the task. The calling application must synchronize with the data-acquisition task using status polling or DriverLINX’s messages (preferred). DriverLINX supports this mode for buffered data transfers or for commands that require a significant time to complete.
DriverLINX supports four modes with the KPCI-3100 Series for its commands (Service Requests).
Polled Mode—This is a foreground or synchronous operation.
DriverLINX supports this mode for simple, single-value I/O operations that the data-acquisition board can complete without significant delay.
Interrupt Mode—T his is a background or asynchronous operation.
DriverLINX transfers data between the computer’s memory and the data-acquisition board using hardware interrupts and programmed I/O transfers.
Keithley KPCI-3100 Series Using the KPCI-3100 Series with DriverLINX 25
DMA Mode—This is a background or asynchronous operation.
DriverLINX programs the data-acquisition board to transfer data between the computer’s memory and the board.
Other Mode—This is a foreground or synchronous operation. DriverLINX supports this mode for initialization, configuration, calibration, data conversion, and timebase operations.
The following table summarizes the data acquisition modes that DriverLINX supports for each subsystem with the Keithley KPCI-3100 Series.
Subsystem Polled Interrupt DMA Other
Analog Input Analog
Output Digital Input Digital Output Counter/Timer Device
* Interrupt mode is simulated by the driver for compatibility with applications written for other hardware.
á á
á á á
KPCI-3100 Series Supported DriverLINX Modes.
á* á*
á*
á á á á
á á
á á á
DriverLINX Operations and Events
Applications construct DriverLINX data-acquisitio n tasks by combining a small number of DriverLINX operations and events in many possible ways. The following table summarizes the operations and events that DriverLINX supports for the Keithley KPCI-3100 Series. Later sections for each DriverLINX subsystem will describe the operations and events in more detail.
Note: In addition to the operations shown in the table below, all subsystems allow the MESSAGE operation in any Mode.
26 Using the KPCI-3100 Series with DriverLINX Keithley KPCI-3100 Series
Subsystem Operation Events
Mode Timing Start Stop
Analog Input
Polled Start null null, cmd null, TC Interrupt Start, Stop,
dig, rate cmd, ana Status, Convert
DMA Start, Stop,
dig, rate cmd, ana*, dig cmd, TC, ana*, Status, Convert
Other Initialize
Analog Output (models KPCI-3102/04/10/16 only)
Polled Start null null, cmd null, TC Interrupt* Start, Stop,
dig, rate cmd, ana, dig cmd, TC Status, Convert
DMA* Start, Stop,
dig, rate cmd, ana, dig cmd, TC Status, Convert
Other Initialize
*
, dig cmd, TC, ana*,
dig
dig
Digital Input
Polled Start null null, cmd null, TC Interrupt Start, Stop,
Status
DMA Start, Stop,
Status
Other Initialize,
rate cmd, ana*, dig cmd, TC, ana*,
dig
rate cmd, ana*, dig cmd, TC, ana*,
dig
DIO Setup Configure
Digital Output
Polled Start null null, cmd null, TC Other Initialize,
DIO Setup Configure
Counter/Timer
Polled Start, Stop,
null, rate null, cmd null, TC Status
Other Initialize,
Configure
Device
Other Initialize,
Capabilities
Allowed Operations and Events for KPCI-3100 Series Subsystems and Modes.
*
Models KPCI-3110/16 only.
Keithley KPCI-3100 Series Using the KPCI-3100 Series with DriverLINX 27
The following list explains the Event abbreviations in the preceding table:
null—Null or None Event specifies when a Service Request does not
require an event
cmd—Command Event specifies when DriverLINX starts or stops a
task on software command
TC—Terminal Count Event specifies when DriverLINX processes all
data buffers once
rate—Rate Event specifies how DriverLINX paces or clocks data
transfer
dig—Digital Event specifies a trigger, clock, or other control signal to
pace, start, or stop a task
ana—Analog Event specifies a trigger to start or stop a task
DIO Setup—DIO Setup Event assigns a digital channel to either the
Digital Input or Digital Output Subsystem.
Logical Channels
DriverLINX designates the individually addressable hardware channels for each subsystem as “Logical Channels.” Generally, the zero-based Logical Channel numbering sequence closely follows the hardware manufacturer’s channel numbering scheme.
In some cases, however, DriverLINX assigns Logical Channel numbers to hardware features that users don’t commonly think of as “channels.” For instance, DriverLINX commonly models external hardware clock input lines, external hardware trigger input lines, and external interrupt inputs as 1-bit digital Log ical Channels. In other cases, DriverLINX models subsystem-specific features, such as internal pacer clocks, as members of a more general-purpose set of counter/timer channels.
For a list of DriverLINX assigned Logical Channel numbers, see the notes on each supported subsystem.
Buffers
Applications usually use data buffers to exchange data between the application and the data-acquisition hardware. When using data buffers, please note the following points about DriverLINX’s data buffers:
DriverLINX supports data-acquisition tasks with 1 to 255 data buffers
per task.
DriverLINX imposes no size limits on a single buffer, although the
operating system or some hardware products may have size restrictions.
User applications must allow DriverLINX to allocate all data buffers to
guarantee application portability to different hardware and opera ting systems and to insure that the hardware can physically access the buffer memory.
User applications usually don’t have concurrent or immediate access to
the in-use data buffer while DriverLINX is executing a data-acquisition task.
28 Using the KPCI-3100 Series with DriverLINX Keithley KPCI-3100 Series
Connecting Signals to the KPCI-3100 Series
The Keithley hardware manual describes the data and control signals for the KPCI­3100 Series and the connector pinouts for these signals. This section summarizes how DriverLINX numbers the I/O data signals and how DriverLINX uses the control connections for external clock, trigger, and gating inputs.
Analog Input Subsystem Signals
The Analog Input subsystem has 16 or 32 analog inputs, depending on the model, and an analog ground. You set the default subsystem configuration as 8 or 16 differential, or 16 or 32 single-ended channels. Applications can then use the default
configuration or request a specific configuration for each channel. (See “Analog Input Channels” on page 50 for programming information.)
DriverLINX maps these connections to Logical Channels as shown in the following table:
Models KPCI-3101/02/03/04
Physical Channels
0 – 7 Differential Analog Input 0 … Analog Input 7
0 – 15 Single-ended Analog Input 0 … Analog Input 15
Models KPCI-3110/16
Physical Channels
0 – 15 Differential Analog Input 0 … Analog Input 15
0 – 31 Single-ended Analog Input 0 … Analog Input 31
How DriverLINX maps analog input hardware channels to Logical Channels.
Analog Input Pacing, Triggering and Gating Signals Analog input tasks can use only Counter/Timer Logical Channel 4 for pacing. The
clock sources can be internal or external. The KPCI-3100 Series does not support gating for Analog Input tasks.
Connector Name Logical
Channels
0 – 7 Analog Input 0 Return … Analog Input 7 Return
0 – 15 Amp Low
Connector Name Logical
Channels
0 – 15 Analog Input 0 Return … Analog Input 15 Return
0 – 31 Amp Low
The Analog Input subsystem can use several control signals that DriverLINX defines as external clocks and triggers as shown in the following table:
Keithley KPCI-3100 Series Using the KPCI-3100 Series with DriverLINX 29
Connector Name DriverLINX Usage
External A/D TTL Trigger
External A/D Sample Clock Input
Analog Trigger External trigger:
Analog Input External trigger:
External trigger:
Digital Start Event (Post-Triggering)
Digital Stop Event (Pre- and About-
Triggering)
External pacer clock:
Burst Generator: External Clocking
Divided external pacer clock:
Rate Generator: External Clocking
Analog Start Event (Post-Triggering)
Analog Stop Event (Pre- and About-
Triggering)
Analog Start Event (Post-Triggering)
Analog Stop Event (Pre- and About-
Triggering)
How DriverLINX uses analog input control signals.
Analog Output Subsystem Signals
The Analog Output subsystem, for models KPCI-3102, 3104, 3110 and 3116, has 2 analog differential output connections.
DriverLINX maps these connections to Logical Channels as shown in the following table:
Models KPCI-3102/04/10/16
Physical Channel
0 Analog Output 0+, Analog Output 0 Return 0 1 Analog Output 1+, Analog Output 1 Return 1
How DriverLINX maps analog output hardware channels to Logical Channels.
Analog Output Pacing, Triggering and Gating Signals Analog output tasks on models KPCI-3110 and 3116 can use Counter/Timer Logical
Channel 5 for pacing with internal or external clock sources to produce waveform quality signals. Models KPCI-3102 and 3104 support polled transfers only. The KPCI-3100 Series does not support gating for Analog Output tasks.
The Analog Output subsystem can use several control signals that DriverLINX defines as external clocks and gates as shown in the following table:
Connector Name Logical
Channel
30 Using the KPCI-3100 Series with DriverLINX Keithley KPCI-3100 Series
Loading...
+ 87 hidden pages