Dynex DX-WMSE Mouse User Manual

PCI30FG Series
PCI PnP Analog Input Board
User’s Manual
PCI30G, PCI30GA, PCI30G32, PCI30GA32
PCI30F, PCI30FA, PCI30F32, PCI30FA32
Eagle Technology – Cape Town, South Africa
Copyright © 1999-2002
www.eagledaq.com
PCI30FG User Manual
Analog Input Boards
Data Acquisition and Process Control
© Eagle Technology
31-35 Hout Street • Cape Town • South Africa
Phone +27 21 423 4943 • Fax +27 21 424 4637
Email eagle@eagle.co.za
Eagle Technology © Copyright 2002
i
PCI30FG User Manual
Copyright
All rights reserved. No part of this publication may be reproduced, stored in a
retrieval system, or transmitted, in any form or any means, electronic,
mechanical, by photographing, recording, or otherwise without prior written
permission.
Copyright © Eagle Technology, South Africa
August 2002
Revision 1.2
Information furnished in this manual is believed to be accurate and reliable;
however no responsibility is assumed for its use, or any infringements of
patents or other rights of third parties, which may result from its use.
Trademarks and Logos in this manual are the property of their respective
owners.
Product Warranty
Eagle Technology, South Africa, warrants its products from defect in material
and workmanship from confirmed date of purchase for a period of one year if
the conditions listed below are met. The product warranty will call the Eagle
Technology Data Acquisition Device short as ETDAQD.
•
•
•
The warranty does not apply to an ETDAQD that has been previously
repaired, altered, extended by any other company or individual outside the
premises of Eagle Technology.
That a qualified person configure and install the ETDAQD, and damages
caused to a device during installation shall make the warranty void and
null.
The warranty will not apply to conditions where the ETDAQD has been
operated in a manner exceeding its specifications.
Eagle Technology, South Africa, does not take responsibility or liability of
consequential damages, project delays, damaging of equipment or capital
loss as a result of its products.
Eagle Technology, South Africa, holds the option and final decision to repair
or replace any ETDAQD. Proof of purchase must be supplied when
requesting a repair.
Eagle Technology © Copyright 2002
ii
PCI30FG User Manual
TABLE OF CONTENTS
1
INTRODUCTION
1
Features
1
Applications
1
Key Specifications
2
Software Support
2
2
3
INSTALLATION
Package
3
Hardware Installation
3
Software Installation
Windows 98
Post installation
Windows NT/2000
4
4
7
8
Configuration
9
Accessories
9
3
INTERCONNECTIONS
10
External Connectors
10
Pin Assignments
10
Signal Definitions
12
Analog Input
Single Ended Inputs
Differential Inputs
12
12
13
Analog Output
14
Digital Input/Output
14
Counter-Timer
14
4
15
PROGRAMMING GUIDE
EDR Enhanced API
Eagle Technology © Copyright 2002
15
iii
PCI30FG User Manual
Digital Inputs/Outputs
Reading the Digital Inputs
Writing to the Digital Outputs
16
16
16
Counters
Writing the initial counter value
Reading a counter
Configuring a counter
17
17
17
18
Analog Output
Writing to a DAC channel
19
19
Analog Input
Reading a single voltage from a channel
Configuring the ADC subsystem for scanning
Starting and Stopping the ADC process
Getting data from the driver buffer
Querying the ADC subsystem
21
21
21
23
24
24
5
26
CALIBRATION
Requirements
26
Software
26
Connection
27
Variable Resistor Description
27
A/D Calibrating Procedure
Calibrating the PCI30Gx series
28
28
A.
SPECIFICATION
29
B.
CONFIGURATION CONSTANTS
30
Query Codes
30
Error Codes
31
Digital I/O Codes
31
C.
LAYOUT DIAGRAM
32
D.
ORDERING INFORMATION
33
Eagle Technology © Copyright 2002
iv
PCI30FG User Manual
Table of Figures
Figure 2-1 Add New Hardware Wizard Step1 ..................................................4
Figure 2-2 Add New Hardware Wizard Step2 ..................................................5
Figure 2-3 Add New Hardware Wizard Step3 ..................................................5
Figure 2-4 Add New Hardware Wizard Step4 ..................................................6
Figure 2-5 Add New Hardware Wizard Step5 ..................................................6
Figure 2-6 Restart Your Computer ...................................................................7
Figure 2-7 System Properties...........................................................................7
Figure 2-8 EagleDAQ .......................................................................................8
Figure 2-9 A/D Span Jumper............................................................................9
Figure 3-1 Single ended analog input ............................................................13
Figure 3-2 Differential Analog Inputs..............................................................13
Figure 4-A EDR Enhanced Design.................................................................15
Figure 6-1 A/D Calibration Connections.........................................................27
Eagle Technology © Copyright 2002
v
PCI30FG User Manual
Table of Tables
Table 3-1 External Analog Connector - SCSI-II-50F CENT............................11
Table 3-2 Internal DIO/CT Connector – IDC-40M ..........................................11
Table 3-3 External DIO/CT Connector - DB-37M ...........................................11
Table 3-4 Signal definitions ............................................................................12
Table 4-1 Counter Assignment.......................................................................17
Table 4-2 Counter Configuration ....................................................................18
Table 6-1 VR Assignment ..............................................................................27
Table D-1 Ordering Information......................................................................33
Eagle Technology © Copyright 2002
vi
PCI30FG User Manual
1 Introduction
The PCI30FG series are 32-bit bit PCI bus architecture data acquisition
boards. They are available in two basic models, the G and F series. They can
samples at 100kHz or 330kHz respectively. Addition to analog input, they also
have analog output, digital input/output and counter-timer capabilities. For this
reason the PCI30FG is an excellent all purpose data acquisition device with
extensive analog input capabilities.
Features
The PCI30FG does have some very unique features and are short listed
below:
•
•
•
•
•
•
•
32-bit PCI bus Revision 2.1 compliant
8/16 differential or 16/32 single-ended A/D inputs
2K word A/D FIFO
Auto channel scanning
Software controlled input ranges and gains
3 x 8-bit I/O ports
4 x 16-bit user counter-timers
Applications
The PCI30FG can be used in the following applications:
• Voltage monitoring
• Voltage control
• FFT signal calculation
• General process control
• Frequency measurement
• Pulse counting
Eagle Technology © Copyright 2002
1
PCI30FG User Manual
Key Specifications
•
•
•
•
•
•
•
•
•
A/D resolution: 12-bits
D/A resolution: 12-bits
DIO width: 8-bits
CT width: 16-bits
A/D non-linearity: less than ±0.75LSB
A/D ranges: ±5V, ±10V, 0-10V
A/D scan rate: 100kHz or 330kHz
A/D, D/A interfaces via a 50 way SCSI right angle female centronics
connector
Digital I/O, Counter-timer via IDC40 Header
Software Support
The PCI30FG is supported by EDR Enhanced and comes with an extensive
range of examples. The software will help you to get your hardware going very
quickly. It also makes it easy to develop complicated control applications
quickly. All operating system drivers, utility and test software are supplied on a
CD-Rom.
Eagle Technology © Copyright 2002
2
PCI30FG User Manual
2 Installation
This chapter describes how to install and configure the PCI30FG for the first
time. Minimal configuration is necessary; almost all settings are done through
software. The PCI BIOS will assign an I/O base address and interrupt level.
Package
PCI30FG package will contain the following:
• PCI30FG PCI board
• EDR Enhanced Software Development Kit CD-Rom
Hardware Installation
This section will describe how to install your PCI30FG into your computer.
•
Switch off the computer and disconnect from power socket.
Failure to disconnect all power cables
can result in hazardous conditions, as
there may be dangerous voltage levels
present in externally connected
cables.
•
•
•
•
•
•
•
Remove the cover of the PC.
Choose any open PCI slot and insert PCI30FG.
Insert bracket screw and ensure that the board sits firmly in the PCI
socket.
Install digital I/O connector cable.
Replace the cover of the PC.
Reconnect all power cables and switch the power on.
The hardware installation is now completed.
Eagle Technology © Copyright 2002
3
PCI30FG User Manual
Software Installation
Windows 98
Installing the Windows 98 device driver is a very straightforward task.
Because it is plug and play Windows will detect the PCI30FG as soon as it is
installed. No setup is necessary. You simply only have to supply Windows
with a device driver.
Wait until Windows detects the new hardware
Figure 2-1 Add New Hardware Wizard Step1
Select Next
Eagle Technology © Copyright 2002
4
PCI30FG User Manual
Figure 2-2 Add New Hardware Wizard Step2
Select default option, search for best driver and select next
Figure 2-3 Add New Hardware Wizard Step3
Select specify a location and enter the directory location of the driver
on your EDR Enhanced SDK CD Rom
<CDROM>\EDRE\DRIVERS\WDM\PCI30FG
Select Next to proceed
Eagle Technology © Copyright 2002
5
PCI30FG User Manual
Figure 2-4 Add New Hardware Wizard Step4
Windows should have detected the proper driver and ready to install
it. Select Next to proceed.
Figure 2-5 Add New Hardware Wizard Step5
Click on the finish button to complete the installation.
Click Yes to restart your computer.
Eagle Technology © Copyright 2002
6
PCI30FG User Manual
Figure 2-6 Restart Your Computer
Post installation
After your installation was complete there is a few steps that can be followed
to check that your installation was successful.
•
•
First make sure that the driver is working properly by opening the
system folder in the control panel.
Check under the system device list if your board is listed and working
properly. See picture below.
Figure 2-7 System Properties
•
Clearly you can see that the PCI36C is listed and working properly.
Eagle Technology © Copyright 2002
7
PCI30FG User Manual
•
Further open the control panel and then the EagleDAQ folder. This
dialog should list all installed hardware. Verify your board’s properties
on this dialog. See picture below
Figure 2-8 EagleDAQ
Now the first part of your installation has been completed and ready to
install the EDR Enhanced Software Development Kit.
•
Run setup.exe found on the EDR Enhanced SDK CD-Rom and follow
the on screen instructions
Windows NT/2000
Windows NT/2000 does not require any special setup procedure. The
Windows NT driver does not support plug and play. If Windows 2000 detects
a new device simply install a default driver, or so called placeholder.
To install the Windows NT/2000 drivers simply run setup.exe on the EDR
Enhanced CD-Rom. This will automatically install the device drivers. Restart
your computer when done. Open the EagleDAQ folder in the control panel to
check if your installation was successful. Figure 2-8 shows a successful
installation.
Eagle Technology © Copyright 2002
8
PCI30FG User Manual
Configuration
Only the PCI30Gx series allows one manual setting. The PCI30Gx series has
one jumper, LK1, to change the voltage span. The figure below shows the two
different jumper settings.
Figure 2-9 A/D Span Jumper
Accessories
The PCI30FG does have a wide variety of accessories that it can be
connected too. See chapter on accessories.
Eagle Technology © Copyright 2002
9
PCI30FG User Manual
3 Interconnections
The PCI30FG is designed so that there is a connector for analog signals and
digital signals. The analog connector is on the bracket attached to the board
and the other a connector on the PCB internal to the PC.
External Connectors
The PCI30FG does have two connectors, a SCSI-II-50 female centronics and
an IDC40 male. The ICD40M can also be extended to the computer casing by
making use of an extender cable and bracket that is supplied with the
PCI30FG package. The extender cable will make the digital I/O and countertimer signals available outside the computer casing. The connector is a DB37
male.
Pin Assignments
The table below shows the pin assignments for the PCI30FG.
Pin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Name
+5V
EXT TRIG
DGND
DAC3
DAC2
DAC1
DAC0
AGND
AGND
CHAN0
CHAN2
CHAN4
CHAN6
CHAN8
CHAN10
CHAN12
Pin
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Name
+12V
-12V
EXT CLK
SENSE3
SENSE2
SENSE1
SENSE0
AGND
AGND
CHAN1
CHAN3
CHAN5
CHAN7
CHAN9
CHAN11
CHAN13
Eagle Technology © Copyright 2002
10
PCI30FG User Manual
17
18
19
20
21
22
23
24
25
CHAN14
CHAN16
CHAN18
CHAN20
CHAN22
CHAN24
CHAN26
CHAN28
CHAN30
42
43
44
45
46
47
48
49
50
CHAN15
CHAN17
CHAN19
CHAN21
CHAN23
CHAN25
CHAN27
CHAN29
CHAN31
Table 3-1 External Analog Connector - SCSI-II-50F CENT
Pin
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
Name
PA0
PA2
PA4
PA6
PB0
PB2
PB4
PB6
PC0
PC2
PC4
PC6
DGND
CNT0
COUT0
CGTE1
CNT2
COUT2
+5V
DGND
Pin
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
Name
PA1
PA3
PA5
PA7
PB1
PB3
PB5
PB7
PC1
PC3
PC5
PC7
CLK2
OUT2
CGTE0
CNT1
COUT1
CGTE2
DGND
DGND
Table 3-2 Internal DIO/CT Connector – IDC-40M
Pin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Name
PA0
PA2
PA4
PA6
PB0
PB2
PB4
PB6
PC0
PC2
PC4
PC6
DGND
CNT0
COUT0
CGTE1
CNT2
COUT2
+5V
Pin
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Name
PA1
PA3
PA5
PA7
PB1
PB3
PB5
PB7
PC1
PC3
PC5
PC7
CLK2
OUT2
CGTE0
CNT1
COUT1
CGTE2
Table 3-3 External DIO/CT Connector - DB-37M
Eagle Technology © Copyright 2002
11
PCI30FG User Manual
Signal Definitions
This sections deal with all the signals abbreviations.
Signal
CHAN0-31
DAC0-3
SENSE0-3
PA0-7
PB0-7
PC0-7
CNT0-2
COUT0-2
CGTE0-2
CLK2
OUT2
Description
Analog input channel
Analog output channel
Sensing line for analog output channel
Port A on PPI
Port B on PPI
Port C on PPI
User counter clock input
User counter clock output
User counter gate
Internal counter input
Internal counter output
Table 3-4 Signal definitions
OVERLOADING ANY ANALOGUE INPUT
BY MORE THAN 10% MAY CAUSE OTHER
INPUT CHANNELS TO BECOME
INACCURATE OR NOISY. FOR PCI30FG
INPUTS OPERATING AT MAXIMUM GAIN,
THIS CORRESPONDS TO AN INPUT
VOLTAGE OF 5.5 mV.
Analog Input
Analog signals are connected either as single ended or differential inputs.
Single Ended Inputs
With single ended inputs, connections share a common low reference that is
connected to analog ground. See figure below.
The advantage of such a connection is that you have a maximum number of
inputs. Its major disadvantage is the loss of common mode rejection
obtainable from differential mode. Single ended inputs are very sensitive to
noise lead lengths should be kept as short as possible.
Eagle Technology © Copyright 2002
12
PCI30FG User Manual
CH0
V0
V15
CH15
AGND
Figure 3-1 Single ended analog input
Differential Inputs
In differential input mode two multiplexer switches per channel are used. The
A/D converter measures the difference in potential between the two channels.
Channels are paired to form a single differential input. Channel 0 and channel
8 is used as channel 0, channels 1 and 9 etc. To connect see diagram below.
It is also very important to know that each return connection must be
referenced to analog ground.
CH0
CH0 RET
V0
V7
CH7
CH7 RET
AGND
Figure 3-2 Differential Analog Inputs
Eagle Technology © Copyright 2002
13
PCI30FG User Manual
In differential mode, all signal inputs to
the PCI30FG must be referred to ground.
This can be done by connecting a 1 to 10
kΣ
Σ resistor from the low end of each input
to ground.
Analog Output
The analog outputs come with sense lines and it is important to make sure
that they are connected to the correct channel. If left unconnected the output
will simple float at +10V or –10V. The analog output range is ±10V and is fully
software configurable. The EDR Enhanced driver support auto ranging and
will always select the range with the best possible resolution. For normal
operation simply connect SENSE0 to DAC0.
Digital Input/Output
The PCI30FG has got 3x8-bit digital I/O ports that are fully configurable as
inputs or outputs. The digital I/O uses a chip that is fully compatible with the
Intel 8255 programmable peripheral interface. Make sure not to overload the
PPI because it will cause serious damage and will need to be repaired.
OVERLOADING ANY DIGITAL I/O LINE
WILL CAUSE SERIOUS DAMAGE TO THE
DIGITAL I/O CHIP. OPERATING OUTSIDE
THE TTL VOLTAGE RANGE WILL CAUSE
PERMANENT DAMAGE TO THE DIGITAL
I/O CONTROL CIRCUIT.
Counter-Timer
There are six counter-timers on the PCI30FG of which four are available for
the user. Two are used for A/D timing. The timers are compatible with the Intel
8254 counter-timer device. The 8254 counter-timer datasheets can be used
as reference for configuring the counter-timer sub-system.
There is no onboard clock for the user counter-timers and an external clock is
required.
Eagle Technology © Copyright 2002
14
PCI30FG User Manual
4 Programming Guide
The PCI30FG is supplied with a complete software development kit. EDR
Enhanced (EDRE SDK) comes with drivers for many operating systems and a
common application program interface (API). The API also serves as a
hardware abstraction layer (HAL) between the control application and the
hardware. The EDRE API make it possible to write one application that can be
used on all hardware with common sub-systems.
The PCI30FG can also be programmed at register level, but it is not
recommended. A detailed knowledge of the PCI30FG is needed and some
knowledge about programming Plug and Play PCI devices. We recommend
that you only make use of the software provided by Eagle Technology.
EDR Enhanced API
The EDR Enhanced SDK comes with both ActiveX controls and a Windows
DLL API. Examples are provided in many different languages and serve as
tutorials. EDRE is also supplied with a software manual and user’s guide.
The EDRE API hides the complexity of the hardware and makes it really easy
to program the PCI30FG. It has got functions for each basic sub-system and
is real easy to learn.
Figure 4-A EDR Enhanced Design
Eagle Technology © Copyright 2002
15
PCI30FG User Manual
Digital Inputs/Outputs
The PCI30FG has 24 digital I/O lines, configured as 3 x 8-bit ports. The EDRE
API supports auto direction configuration. By writing to or reading from a port,
it is automatically configured as an output or input. A port is defined as a
collection of simultaneous configurable entities. Thus in the case of the
PCI30FG each port is only 8-bits wide.
Reading the Digital Inputs
A single call is necessary to read a digital I/O port.
API-CALL
Long EDRE_DioRead(ulng Sn, ulng Port, ulng *Value)
The serial number, port, and a pointer to variable to hold the result must be
passed by the calling function. A return code will indicate if any errors
occurred.
ACTIVEX CALL
Long EDREDioX.Read(long Port)
Only the port-number needs to be passed and the returned value will either
hold an error or the value read. If the value is negative an error did occur.
Writing to the Digital Outputs
A single call is necessary to write to a digital I/O port.
API-CALL
Long EDRE_DioWrite(ulng Sn, ulng Port, ulng Value)
The serial number, port, and a value must be passed by the calling function. A
return code will indicate if any errors occurred.
ACTIVEX CALL
Long EDREDioX.Write(long Por, ulng Value)
The port number and value to be written needs to be passed and the returned
value holds an error or the value read. If the value is negative an error did
occur.
Eagle Technology © Copyright 2002
16
PCI30FG User Manual
Counters
The counter sub-system is supported by functions to Write, Read and
Configure. There are 4 counters that are available to the user and are
compatible with the industry standard 8254 counter-timer. The table below
shows all counters and their assigned function on the board. Please note that
only some are available for the user. The 8254 datasheet has more
information on the counter-timer modes.
Counter
0
1
2
3
4
5
Software Assigned
Number
N/A
N/A
3
0
1
2
Description
ADC clock
ADC prescaler
User Counter 3
User Counter 0
User Counter 1
User Counter 2
Table 4-1 Counter Assignment
Writing the initial counter value
A single call is necessary to write a counter’s initial load value.
API-CALL
Long EDRE_CTWrite(ulng Sn, ulng Ct, ulng Value)
The serial number, counter-number, and a value must be passed by the
calling function. A return code will indicate if any errors occurred.
ACTIVEX CALL
Long EDRECTX.Write(long Port, ulng Value)
The port number and value to be written needs to be passed and the returned
value holds an error or the value read. If the value is negative an error did
occur.
Reading a counter
A single call is necessary to read a counter’s current value.
API-CALL
Long EDRE_CTRead(ulng Sn, ulng Ct, pulng Value)
The serial number, counter-number, and a pointer must be passed by the
calling function. A return code will indicate if any errors occurred. The value
buffer will hold the value read from the counter.
ACTIVEX CALL
Long EDRECTX.Read(long Port)
The port number needs to be passed. The returned value will either hold the
error code or the value read from the counter. If negative it means an error
occurred, otherwise it is the value read from the counter.
Eagle Technology © Copyright 2002
17
PCI30FG User Manual
Configuring a counter
A single call is necessary to configure a counter. An external clock must clock
the first three counters, but the internal 8MHz clock clocks the fourth counter.
API-CALL
Long EDRE_CTConfig(ulng Sn, ulng Ct, ulng Mode, ulng Type, ulng ClkSrc, ulng
GateSrc)
The serial number, counter-number, mode, type, clock source and gate
source is needed to specify a counter’s configuration. A return code will
indicate if any errors occurred.
ACTIVEX CALL
Long EDRECTX.Configure(long ct, long mode, long type, ulng source, ulng gate)
The counter-number, mode, type, clock source and gate source is needed to
specify a counter’s configuration. A return code will indicate if any errors
occurred.
Only the counter mode parameter is used by the PCI30FG. The table below
shows the options for each parameter.
Parameter
Sn
Ct
Mode
Type
Source
Gate
Description
Serial Number
Counter Number:
0 : User Counter 0
1 : User Counter 1
2 : User Counter 2
3 : User Counter 3
8254 Counter Mode. See 8254 datasheet for details
Not Used
Not Used
Not Used
Table 4-2 Counter Configuration
How to latch all counters
The 8254 counters support a function where all counters can be latched at the
same time. The PCI30FG driver supports this function through a query call to
the driver. This will only work on the first 3 user counters.
Example:
Unsigned long sn=1000000001
EDRE_Query(sn,CTLATCALL=302,0)
Eagle Technology © Copyright 2002
18
PCI30FG User Manual
Analog Output
The PCI30FG-A version has 4 x 12-bit DAC channels that support single write
and signal generation. Signal generation is done form a driver buffer and use
user counter 3 for timing. Signals can be generated at 5KHz.
Writing to a DAC channel
A single call is necessary to set a voltage on a DAC channel.
API-CALL
Long EDRE_DAWrite (ulng Sn, ulng Channel, long uVoltage)
The serial number, DAC channel and micro-voltage is needed to set a DAC
channel’s voltage. A return code will indicate if any errors occurred.
ACTIVEX CALL
Long EDREDAX.Write (long Channel, long uVoltage)
The DAC channel and micro-voltage is needed to set a DAC channel’s
voltage. A return code will indicate if any errors occurred.
Generating a Waveform
Generating a waveform is basically a two-step process. First configure a
channel then start and stop it. The board can output signals from a driver
buffer at a maximum of 5KHz per channel. Two modes are available, non-loop
mode and pattern mode. The non-loop mode is will stream the values in the
driver buffer only once and then stop, where pattern only resides inside the
buffer. Please note that the diver buffer depth is only 1024 samples per
channel.
API-CALL
Long EDRE_DAConfig (ulng Sn, ulng Channel, ulng Frequency, ulng ClkSrc, ulng
GateSrc, ulng Continuous, ulng Length, long *uVoltage)
Parameter
Sn
Channel
Type
Unsigned long
Unsigned long
Frequency
ClkSrc
GateSrc
Continuous
Unsigned long
Unsigned long
Unsigned long
Unsigned long
Length
uVoltage
Return
Unsigned long
Pointer to a long
buffer
Long
Description
Board’s serial number
Channel
0: DAC Channel 0
1: DAC Channel 1
2: DAC Channel 2
3: DAC Channel 3
Sample output frequency
ALWAYS USE USER COUNNTER 3
NOTE USED
MODE
0: non-loop-mode
1: loop-mode
Buffer length (1024 MAX)
Buffer filled with micro voltages
Error Code
Eagle Technology © Copyright 2002
19
PCI30FG User Manual
ACTIVEX CALL
Long EDRDAX.Configure (long Channel, long Frequency, long ClkSrc, long GateSrc,
long Continuous, long Length, long *uVoltage)
Parameter
Channel
Long
Frequency
ClkSrc
GateSrc
Continuous
Long
Long
Long
Long
Length
uVoltage
Return
Type
Long
Pointer to a long
buffer
Long
Description
Channel
0: DAC Channel 0
1: DAC Channel 1
2: DAC Channel 2
3: DAC Channel 3
Sample output frequency
ALWAYS USE USER COUNNTER 3
NOTE USED
MODE
0: non-loop-mode
1: loop-mode
Buffer length (1024 MAX)
Buffer filled with micro voltages
Error Code
API-CALL
Long EDRE_DAControl (ulng Sn, ulng Channel, ulng Command)
Parameter
Sn
Channel
Type
Unsigned long
Unsigned long
Command
Unsigned long
Return
Long
Description
Board’s serial number
Channel
0: DAC Channel 0
1: DAC Channel 1
2: DAC Channel 2
3: DAC Channel 3
Command Code
0: NULL
1: Start process
2: Stop process
Error Code
ACTIVEX CALL
Long EDREDAX.Control (long Channel, long Command)
Parameter
Channel
Long
Command
Long
Return
Long
Type
Description
Channel
0: DAC Channel 0
1: DAC Channel 1
2: DAC Channel 2
3: DAC Channel 3
Command Code
0: NULL
1: Start process
2: Stop process
Error Code
Eagle Technology © Copyright 2002
20
PCI30FG User Manual
Analog Input
The PCI30FG’s ADC subsystem is fully configurable and supports single
channel reading and out scanning. While scanning a channel list and gain list
can be provided. Channels are scanned in the same sequence provided in the
channel list.
Reading a single voltage from a channel
To read a single ADC channel you need to know the voltage range and gain.
API-CALL
Long EDRE_ADSingle (ulng Sn, ulng Channel, ulng Gain, ulng Range, plong uVoltage)
Parameter
Sn
Channel
Gain
Type
Unsigned long
Unsigned long
Unsigned long
Range
Unsigned long
uVoltage
Return
Pointer to a long
Long
Description
Board’s serial number
ADC Channel
0: Gain x 1
1: Gain x 10
2: Gain x 100
3: Gain x 1000
0: -5V to +5V, Single Ended
1: 0 to +10V, Single Ended
2: -10V to +10V, Single Ended
3: -5V to +5V, Differential
4: 0 to +10V, Differential
5: -10V to +10V, Differential
Voltage read from channel
Error Code
ACTIVEX CALL
Long EDREADX.SingleRead (long Channel)
Parameter
Channel
Return
Long
Long
Type
Description
ADC Channel
Voltage returned from channel.
Make sure to set the Gain and Range properties of the ADC ActiveX control.
This will in turn set the range and gain when reading the ADC channel.
Configuring the ADC subsystem for scanning
This is the most complicated part of configuring the PCI30 for auto scanning.
Make sure that you use the correct format when applying the channel list
configuration. There are many loopholes and care should be taken when
implementing code to configure the PCI30.
API-CALL
Long EDRE_ADConfig (ulng Sn, pulng Freq, ulng ClkSrc, ulng Burst, ulng Range,
pulng ChanList, pulng GainList, ulng ListSize)
The following parameters must be specified when configuring the ADC subsystem.
Eagle Technology © Copyright 2002
21
PCI30FG User Manual
Parameter
Sn
Freq
ClkSrc
Burst
Type
Unsigned
long
Pointer to
an unsigned
long
Unsigned
long
Unsigned
long
Unsigned
long
Range
ChanList
GainList
ListSize
Pointer to
an unsigned
long
Pointer to
an unsigned
long
Unsigned
long
Description
Board’s serial number.
Sampling frequency. The actual sampling frequency will be returned with this
parameter.
0: Internal and to External Gate
1: Internal
2: External Clock
3: External Clock and Gate
0: Normal Mode
1: Burst Mode
0: -5V to +5V, Single Ended
1: 0 to +10V, Single Ended
2: -10V to +10V, Single Ended
3: -5V to +5V, Differential
4: 0 to +10V, Differential
5: -10V to +10V, Differential
This is an array of unsigned longs that contains the gains of channels to be
sampled when scanning the ADC sub-system. The max size of the channel list is
64.
This is an array of unsigned longs that contains the channels to be sampled when
scanning the ADC sub-system. The max size of the channel list is half the FIFO
depth.
This parameter determines the length the two previous arrays. This is also the
depth of the channel list that is programmed to the board.
ACTIVEX CALL
Long EDREADX.Configure (plong Channels, plong Gains, long ListSize)
Parameter Type
Description
Channels
Pointer to
This is an array of unsigned longs that contains the gains of channels to be
an unsigned sampled when scanning the ADC sub-system. The max size of the channel list is
long
half the FIFO depth.
Gains
Pointer to
This is an array of unsigned longs that contains the channels to be sampled when
an unsigned scanning the ADC sub-system. The max size of the channel list is half the FIFO
long
depth.
ListSize
Unsigned
This parameter determines the length the two previous arrays. This is also the
long
depth of the channel list that is programmed to the board.
The range code does not apply to the S models, for the are always differential
and bipolar.
The Frequency and ClockSource ADC ActiveX control must be setup before
calling the configure function.
EDREADX.Frequency
Frequency
The ADC sampling frequency
Eagle Technology © Copyright 2002
22
PCI30FG User Manual
WARNING!!
In normal sampling mode
channels are sampled sequentially
according to the given channels
list. The time spacing between
each channel is the same as the
frequency in normal mode. The
maximum frequency is the same
as the maximum speed of the
board.
In burst mode the all channels in
the channel list is converted as
fast as possible (depends on the
A/D converter speed) every
period. The period is the same as
the sampling frequency. The
maximum sampling frequency is
the maximum frequency of the
board divided by the number of
channels in the channel list.
Frequency Example:
Normal Mode
Frequency = 100 000 Hz
Channel List Length = 10
Time = 10 uS
Time between channels = 10 uS
Burst Mode
Max of Board = 100 000 Hz
Frequency = 20 000 Hz
Channel List Length = 10
Max Frequency = 2 000 Hz
Time = 500 uS
Time between channels = 10 uS (ADC Rating)
Time between sets = 50 uS
EDREADX.ClockSource
ClockSource
0: Internal and to External Gate
1: Internal
2: External Clock
3: External Clock and Gate
Starting and Stopping the ADC process
A single call is necessary to start or stop the ADC process
API-CALL
Long EDRE_ADStart (ulng Sn)
Parameter
Sn
Return
Type
Unsigned long
Long
Description
Board’s serial number
Error Code
ACTIVEX CALL
Eagle Technology © Copyright 2002
23
PCI30FG User Manual
Long EDREADX.Start ()
Parameter
Return
Long
Type
Description
Error Code
API-CALL
Long EDRE_ADStop (ulng Sn)
Parameter
Sn
Return
Type
Unsigned long
Long
Description
Board’s serial number
Error Code
ACTIVEX CALL
Long EDREADX.Stop ()
Parameter
Return
Long
Type
Description
Error Code
Getting data from the driver buffer
A single call is necessary copy data from the driver buffer to the user buffer.
API-CALL
Long EDRE_ADGetData (ulng Sn, plong Buf, pulng BufSize)
Parameter
Sn
Buf
BufSize
Return
Type
Unsigned long
Pointer to a long
buffer.
Pointer to an
unsigned long
Long
Description
Board’s serial number
Buffer to copy micro voltages too.
Size of buffer must be passed or number of
samples requested. The returned value will
indicate the number of actual samples copied
to the buffer.
Error Code
ACTIVEX CALL
Long EDREADX.GetData (plong Buffer, plong Size)
Parameter
Buf
BufSize
Type
Pointer to a long
buffer.
Pointer to a long
Return
Long
Description
Buffer to copy micro voltages too.
Size of buffer must be passed or number of
samples requested. The returned value will
indicate the number of actual samples copied
to the buffer.
Error Code
Querying the ADC subsystem
The driver can be queried to check the status of the ADC subsystem. The
number of unread samples is one example.
Eagle Technology © Copyright 2002
24
PCI30FG User Manual
API-CALL
Long EDRE_Query (ulng Sn, ulng QueryCode, ulng Param)
Parameter
Sn
QueryCode
Type
Unsigned long
Unsigned long
Param
Return
Unsigned long
Long
Description
Board’s serial number
Query code. See appendix
Example:
ADUNREAD: This will tell you the number of
available samples.
ADBUSY: Is the ADC subsystem busy?
Extra parameter.
Returned query code
ACTIVEX CALL
Long EDREADX.GetUnread ()
Parameter
Return
Long
Type
Description
Number of samples available in the driver.
This function automatically queries the ADC driver buffer for the number of
available samples.
Eagle Technology © Copyright 2002
25
PCI30FG User Manual
5 Calibration
This chapter contains information to calibrate the A/D and D/A sub-systems of
the PCI30FG. The PCI30FG is calibrated during the manufacturing test and
therefore does not require recalibration under normal conditions. However
under extreme conditions or to optimize accuracy, the board needs to be
recalibrated.
Allow the host PC and the board to warm up
for at least one hour before calibration.
Requirements
1. Precision voltage source. Range +10V to –10V, with an absolute accuracy
better than 0.005%, resolution 100nV or better.
2. Precision digital multimeter with ±10V range, absolute accuracy better than
0.0005%, resolution 100nV or better.
3. Calibration software. This is supplied with the software package.
4. Calibration is only done on channel 1.
5. Use the recommended connector wiring as in figure 7.1.
6. Calibration is performed with the board jumpered into its intended
operating mode.
7. Use screened cable and make them as short as possible to reduce noise
and loss.
Software
A special software program is required to calibrate the PCI30FG. This
software program comes with the PCI30FG and can be found on the EDR
Enhanced Software CD. The software is located in the utils/pci30fg directory.
Eagle Technology © Copyright 2002
26
PCI30FG User Manual
The program runs under dos and make sure that you do not run it in a
Windows command box or on Windows NT. Follow the on screen instructions
or the directions in the calibration section.
Connection
Figure 7.1 shows the connection diagram for calibrating your PCI30FG. It is
very important that channels that are not used be grounded to analog ground.
Also make sure that your voltage source is in perfect working order, because
the accuracy of the board will depend on the accuracy of you calibration
equipment.
Figure 5-1 A/D Calibration Connections
Variable Resistor Description
Below is a table that shows the function of each pot on the PCI30FG. Only a
few are used at a time depending on the version of PCI30FG.
Pot
VR1
VR2
VR3
VR4
VR5
VR6
VR7
VR8
VR9
Description
A/D OpAmp offset pot – F&G Version
A/D Bipolar offset pot – G Version
A/D Monopolar offset pot G Version, Bipolar F(±5V)
D/A Reference Voltage
A/D Bipolar gain pot – G Version
A/D Monopolar gain pot – G Version
A/D Bipolar gain pot – F Version (±5V)
A/D Bipolar gain pot – F Version (±10V)
A/D Bipolar offset pot – F Version (±10V)
Table 5-1 VR Assignment
Eagle Technology © Copyright 2002
27
PCI30FG User Manual
A/D Calibrating Procedure
Calibrating the PCI30Gx series
Bipolar Mode
1. Adjust A/D for maximum gain (ie. 1000) and apply 0.00mV to channel 1.
All other channels must be connected to analog ground. Adjust VR1, the
instrumentation amplifier offset pot, for 800H.
2. Set A/D for a gain of 1 and apply (-FS+2LSB) to channel 1 (ie.-4.9988V for
Eagle Technology © Copyright 2002
28
PCI30FG User Manual
A. Specification
Specifications where not available on day of print. Please visit our website or
request a product datasheet from us.
Eagle Technology © Copyright 2002
29
PCI30FG User Manual
B. Configuration Constants
Query Codes
Name
APIMAJOR
APIMINOR
APIBUILD
APIOS
APINUMDEV
BRDTYPE
BRDREV
BRDYEAR
BRDMONTH
BRDDAY
BRDSERIALNO
DRVMAJOR
DRVMINOR
DRVBUILD
ADNUMCHAN
ADNUMSH
ADMAXFREQ
ADBUSY
ADFIFOSIZE
ADFIFOOVER
ADBUFFSIZE
ADBUFFOVER
ADBUFFALLOC
ADUNREAD
ADEXTCLK
ADEXTTRIG
ADBURST
ADRANGE
DANUMCHAN
D3AMAXFREQ
DABUSY
DAFIFOSZ
CTNUM
CTBUSY
DIONUMPORT
DIOQRYPORT
DIOPORTWIDTH
INTNUMSRC
Value
1
2
3
4
5
10
11
12
13
14
15
20
21
22
100
101
102
103
104
105
106
107
108
109
110
111
112
113
200
201
202
203
300
301
400
401
402
500
Eagle Technology © Copyright 2002
Description
Query EDRE API major version number.
Query EDRE API minor version number.
Query EDRE API build version number.
Query EDRE API OS type.
Query number of devices installed.
Query a board’s type.
Query a board’s revision.
Query a board’s manufactured year.
Query a board’s manufactured month.
Query a board’s manufactured day.
Query a board’s serial number.
Query a driver’s major version number.
Query a driver’s minor version number.
Query a driver’s build version number.
Query number of ADC channel.
Query number of samples-and-hold channels.
Query maximum sampling frequency.
Check if ADC system is busy.
Get ADC hardware FIFO size.
Check for FIFO overrun condition.
Check software buffer size.
Check for circular buffer overrun.
Check if software buffer is allocated.
Get number of samples available.
Get status of external clock line – PCI30FG.
Get status of external trigger line – PCI30FG.
Check if burst mode is enabled.
Get ADC range.
Query number of DAC channels.
Query maximum DAC output frequency.
Check if DAC system is busy.
Get DAC FIFO size.
Query number of counter-timer channels.
Check if counter-timer system is busy.
Query number of digital I/O ports.
Query a specific port for capabilities.
Get a specific port’s width.
Query number of interrupts sources.
30
PCI30FG User Manual
INTSTATUS
INTBUSCONNECT
INTISAVAILABLE
INTNUMTRIG
501
502
503
504
Queries interrupt system’s status.
Connect interrupt system to bus.
Check if an interrupt is available.
Check number times interrupted
Error Codes
Name
EDRE_OK
EDRE_FAIL
EDRE_BAD_FN
EDRE_BAD_SN
EDRE_BAD_DEVICE
EDRE_BAD_OS
EDRE_EVENT_FAILED
EDRE_EVENT_TIMEOUT
EDRE_INT_SET
EDRE_DA_BAD_RANGE
EDRE_AD_BAD_CHANLIST
EDRE_BAD_FREQUECY
EDRE_BAD_BUFFER_SIZE
EDRE_BAD_PORT
EDRE_BAD_PARAMETER
EDRE_BUSY
EDRE_IO_FAIL
EDRE_BAD_ADGAIN
EDRE_BAD_QUERY
EDRE_BAD_CHAN
EDRE_BAD_VALUE
EDRE_BAD_CT
EDRE_BAD_CHANLIST
EDRE_BAD_CONFIG
EDRE_BAD_MODE
EDRE_HW_ERROR
EDRE_HW_BUSY
EDRE_BAD_BUFFER
EDRE_REG_ERROR
EDRE_OUT_RES
EDRE_IO_PENDING
Value
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
Description
Function successfully.
Function call failed.
Invalid function call.
Invalid serial number.
Invalid device.
Function not supported by operating system.
Wait on event failed.
Event timed out.
Interrupt in use.
DAC value out of range.
Channel list size out of range.
Frequency out of range.
Data passed by buffer incorrectly sized
Port value out of range.
Invalid parameter value specified.
System busy.
IO call failed.
ADC-gain out of range.
Query value not supported.
Channel number out of range.
Configuration value specified out of range.
Counter-timer channel out of range.
Channel list invalid.
Configuration invalid.
Mode not valid.
Hardware error occurred.
Hardware busy.
Buffer invalid.
Registry error occurred.
Out of resources.
Waiting on I/O completion
Digital I/O Codes
Name
DIOOUT
DIOIN
DIOINOROUT
DIOINANDOUT
0
1
2
3
Value
Eagle Technology © Copyright 2002
Description
Port is an output.
Port is an input.
Port can be configured as in or out.
Port is an input and an output.
31
PCI30FG User Manual
C. Layout Diagram
Eagle Technology © Copyright 2002
32
PCI30FG User Manual
D. Ordering Information
For ordering information please contact Eagle Technology directly or visit our
website www.eagle.co.za. They can also be emailed at eagle@eagle.co.za.
PCI 30-G
PCI 30-GA
Board
PCI 30-G32
PCI 30-GA32
PCI 30-F
PCI 30-FA
PCI 30-F32
PCI 30-FA32
Description
16 Channel analog input board @ 100 KHz
16 Channel analog input and 4 channel analog output
board @ 100 KHz
32 Channel analog input board @ 100KHz
32 Channel analog input and 4 channel analog output
board @ 100 KHz
16 Channel analog input board @ 330 KHz
16 Channel analog input and 4 channel analog output
board @ 330 KHz
32 Channel analog input board @ 330 KHz
132 Channel analog input and 4 channel analog output
board @ 330 KHz
Table D-1 Ordering Information
Please visit our website to have a look at our wide variety of data acquisition
products and accessories.
Eagle Technology © Copyright 2002
33