ACL-8113
32-Channel S.E.
Isolated A/D Card



@Copyright 1995
All Rights Reserved.
Manual second edition 15, December 1995

The information in this document is subject to change without prior notice in order to improve reliability, design and function and does not represent a commitment on the part of the manufacturer.

In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages.

This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.

Trademarks
ACL-8113 is registered trademarks of ADLink Technology Inc., PCL-813 is a trademark of Advantech Co., Ltd. IBM PC is a registered trademark of International Business Machines Corporation. Intel is a registered trademark of Intel Corporation. Other product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.



Contents



How to Use This Guide
1. Introduction
1.1 Features
1.2 Applications
1.3 Specifications
2. Installation
2.1 What You Have
2.2 Unpacking
2.3 ACL-8113's Layout
2.4 Jumper and DIP Switch Description
2.5 Base Address Setting
2.6 Input Range Selection
2.7 Connector Pin Assignment
2.8 Analog Input Signal Connection
3. Registers Structure & Format
3.1 I/O Port Address Map
3.2 A/D Data Register
3.3 A/D Channel Multiplexer Register
3.4 A/D Range Control Register
3.5 A/D Conversion Sequence
4. High-Level Programming
4.1 Backup Your Disk
4.2 Installation
4.3 C Language Library
5. Calibration
5.1 What Do You Need
5.2 VR Assignment
5.3 Bipolar A/D Adjustment
5.4 Unipolar A/D Adjustment
Appendix A. I/O Port Address Map
Product Warranty/Service




How to Use This Guide

This manual is designed to help you use the ACL-8113. The manual describes how to modify various settings on the ACL-8113 card to meet your requirements. It is divided into five chapters:





1. Introduction

The ACL-8113 is a 12-bit 32-channel single-ended isolated A/D card for the IBM Personal Computer and compatible computers. The ACL-8113 is a ideal system for make this card an extremely cost effective soultion for applications in industrial measurement and monitoring.

The ACL-8113 is designed to meet high voltage isolation on each analog channel. An 500 VDC isolation voltage is offered to protect the PC and peripherals from damage due to high voltages on the inputs. In addition, two DC-to-DC converters and software programmable gain on each channel are provided for stability and flexibility.

The ACL-8113's register structure and jumper settings are fully compatible with Advantech PCL-813. It will be no extra learning time for the customers who are familar with Advantech products. In addition, many extra enhancements for reliability and performance are also designed in the ACL-8113, such as surface mount components design, and single +5V power consumption only, ...,etc..


1.1 Features

The ACL-8113 32-Channel S.E. Isolated A/D Card provides the following advanced features:




1.2 Applications :


1.3 Specifications

The ACL-8113 provides the following specifications:

¨ Analog Input ( A/D)

¨ General Specifications



2. Installation

This chapter describes how to install the ACL-8113. At first, the contents in the package and unpacking information that you should be careful are described. The jumpers and switches setting for the ACL-8113's base address and input range selection are also specified.


2.1 What You Have

In addition to this User's Manual, the package includes the following items:

If any of these items is missing or damaged, contact the dealer from whom you purchased the product. Save the shipping materials and carton in case you want to ship or store the product in the future.


2.2 Unpacking

Your ACL-8113 card contains sensitive electronic components that can be easily damaged by static electricity.

The card should be done on a grounded anti-static mat. The operator should be wearing an anti-static wristband, grounded at the same point as the anti-static mat.

Inspect the card module carton for obvious damage. Shipping and handling may cause damage to your module. Be sure there are no shipping and handing damages on the module before processing.

After opening the card module carton, extract the system module and place it only on a grounded anti-static surface component side up.

Again inspect the module for damage. Press down on all the socketed IC's to make sure that they are properly seated. Do this only with the module place on a firm flat surface.

Note : DO NOT APPLY POWER TO THE CARD IF IT HAS BEEN DAMAGED.

You are now ready to install your ACL-8113.


2.3 ACL-8113's Layout


Figure 2.1


2.4 Jumper and DIP Switch Description

You can change the ACL-8113's channels and base address by setting jumpers and DIP switches on the card. The card's jumpers and switches are preset at the factory. Under normal circumstances, you should not need to change the jumper settings.

A jumper switch is closed (sometimes referred to as "shorted" with the plastic cap inserted over two pins of the jumper). A jumper is open with the plastic cap inserted over one or no pin(s) of the jumper.


2.5 Base Address Setting

The ACL-8113 requires 16 consecutive address locations in I/O address space. The base address of the ACL-8113 is restricted by the following conditions.

  1. The base address must be within the range 000hex to 3F0hex.

  2. The base address should not conflict with any PC reserved I/O address. see Appendix A.

The AACL-8113's I/O port base address is selectable by an 6 position DIP switch SW1 ( refer to Figure 2.1). The address setting for I/O port from Hex 000 to Hex 3F0 is described in Table 2.1 below. The factory default base address is 220H and its corresponding SW1 setting is illustrated as Figure 2.2 below.


Figure 2.2 Base Address Default Setting

I/O port
address(hex)
1
A9
2
A8
3
A7
4
A6
5
A5
6
A4
000-00F ON
(0)
ON
(0)
ON
(0)
ON
(0)
ON
(0)
ON
(0)
010-01F ON
(0)
ON
(0)
ON
(0)
ON
(0)
ON
(0)
OFF
(1)
: : : : : : :
210-21F OFF
(1)
ON
(0)
ON
(0)
ON
(0)
ON
(0)
OFF
(1)
(*) 220-22F OFF
(1)
ON
(0)
ON
(0)
ON
(0)
OFF
(1)
ON
(0)
230-23F OFF
(1)
ON
(0)
ON
(0)
ON
(0)
ON
(0)
OFF
(1)
: : : : : : :
3F0-3FF OFF
(1)
OFF
(1)
OFF
(1)
OFF
(1)
OFF
(1)
OFF
(1)

(*) : default setting
ON = 0 ; OFF = 1.
A9, ..., A4 are corresponding to PC Bus address lines
A3, A2, A1 and A0 are fixed by 0 with hardware
Table 2.1

How to Define a Base Address for the ACL-8113 ?
The DIP1 to DIP6 in the switch SW1 are one to one corresponding to the PC bus address line A9 to A4. A0,A1, A2, and A3 are always 0. If you want to change the base address, you can only change the values of A9 to A4 ( shadow area of below diagram). Following is an example, which shows you how to define the base address as Hex 220.

Base Address : Hex 220

2 2 0
1 0 0 0 1 0 0 0 0 0
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0



2.6 Input Range Selection

The ACL-8113's analog input voltage ranges can be selected through the jumpers JP1 and JP2. The JP1 is used to choose the Voltage range 10V or 20V, and JP2 is used to select Bipolar input or Unipolar input. The combinations of JP1, JP2 and their corresponding input voltage ranges are listed on the table of next page.

JP1 +10V
( Default )
+20V
+10V
and
+20V
Input Range
Setting
+10V

+20V
+10V

+20V

JP2 Unipolar Bipolar
( Default )
Unipolar
and
Bipolar
Setting
UN

BI
UN

BI

Summary :

Range & Mode JP1 JP2 Gain : Input Voltage Range
Input Range 10V
&
Bipolar Mode
( Default)
10V

20V
UN

BI
X1 : -5V ~ +5V
X2 : -2.5V ~ +2.5V
X4 : -1.25V ~ +1.25V
X8 : -0.625V ~ +0.625V
Input Range 10V
&
Unipolar Mode
10V

20V
UN

BI
X1 : 0V ~ 10V
X2 : 0V ~ 5V
X4 : 0V ~ 2.5V
X8 : 0V ~ 1.25V
Input Range 20V
&
Bipolar Mode
10V
20V
UN

BI
X1 : -10V ~10V
X2 : -5V ~ +5V
X4 : -2.5V ~ +2.5V
X8 : -1.25V ~ +1.25V
Input Range 20V
&
Uipolar Mode
10V
20V
UN
BI
X1 : Not Used
X2 : 0V ~ 10V
X4 : 0V ~ 5V
X8 : 0V ~ 2.5V

Table 2.2 Summary Table


2.7 Connector Pin Assignment

The ACL-8113 comes equipped with one DB-37 female connector on the card's mounting brasket. The pin assignment of 37-pin female connector is illustrated in Figure 2.3 below.

Legend : AIn : Analog Input CH n
A.GND : Analog Ground


Figure 2.3 Pin Assignment of DB-37 female connector


2.8 Analog Input Signal Connection

The ACL-8113 provides 32 single-ended analog input channels. The single-ended mode has only one input relative to ground and it suitable for connecting with the floating signal source. The floating source means it does not have any connection to ground. Figure 2.4 shows the single-ended connection. Note that when more than two floating sources are connected, the sources must be with common ground.


Figure 2.4 Floating source and single-ended



3. Registers Structure & Format


The detailed description of the register format and structure of the ACL-8113 are specified in this chapter. This information is quite useful for the programmer who wish to handle the ACL-8113 card by low-level programming.

In addition, the low level programming syntax is introduced. This imformation can help the beginners to operate the ACL-8113 in the shortest learnning time.


3.1 I/O Port Address Map

The ACL-8113 requires 16 consecutive addresses in the PC I/O address space. The following table (Table 3.1) shows the location of each register and driver relative to the base address, and its description.

Location READ WRITE
Base + 0 Not Used Not Used
Base + 1 Not Used Not Used
Base + 2 Not Used Not Used
Base + 3 Not Used Not Used
Base + 4 A/D low byte Not Used
Base + 5 A/D high byte Not Used
Base + 6 Not Used Not Used
Base + 7 Not Used Not Used
Base + 8 Not Used Not Used
Base + 9 Not Used Gain Control
Base + 10 Not Used MUX Scan Control
Base + 11 Not Used Not Used
Base + 12 Not Used Software A/D trigger
Base + 13 Not Used Not Used
Base + 14 Not Used Not Used
Base + 15 Not Used Not Used

Table 3.1 I/O Register Map


3.2 A/D Data Registers

The ACL-8113 provides 32 single-ended A/D input channels, the converted digital data will store in the A/D data registers after the conversion. The 12 bits A/D data is put into two 8 bits registers. The low byte data (8 LSBs) are put in address BASE+4 and the high byte data (4 MSBs) are put in address BASE+5. A DRDY bit is used to indicate the status of A/D conversion. DRDY goes to low level means A/D conversion is completed.

Address : BASE + 4 and BASE + 5
Attribute :
read only
Data Format :

Bit 7 6 5 4 3 2 1 0
BASE+4 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0
BASE+5 0 0 0 DRDY AD11 AD10 AD9 AD8

AD11 .. AD0 : Analog to digital data. AD11 is the Most Significant Bit (MSB). AD0 is the Least Significant Bit(LSB).

DRDY : Data Ready Signal.
1 : A/D data is not ready
0 : A/D conversion is completed.
It will be set to 1, when reading the low byte.


3.3 A/D Channel Multiplexer Register

This register is used to control the A/D channels to be converted. It's a write only register. When the channel number is written to the register, the multiplexer switches to the new channel and await for conversion.

Address : BASE + 10
Attribute :
write only
Data Format :

Bit 7 6 5 4 3 2 1 0
BASE+10 X X X CL4 CL3 CL2 CL1 CL0

CLn : multiplexer channel number.
CL4 is MSB, and CL0 is LSB.

The combinations of CH4 ~ CH0 and their corresponding channel number is listed in the table 3.2 below.

Channel No. CH4 CH3 CH2 CH1 CH0
0 0 0 0 0 0
1 0 0 0 0 1
2 0 0 0 1 0
3 0 0 0 1 1
: : : : : :
30 1 1 1 1 0
31 1 1 1 1 1

Table 3.2 Channel Multiplexering


3.4 A/D Range Control Register

The A/D range register is used to adjust the analog input ranges for A/D channels. Two factor will effect the input range : Gain and Bipolar/Unipolar. Both of these issues can be controlled by this register. The Table 4.2 shows the relationship between the register data and the A/D input range.

Address : BASE + 9
Attribute :
write only
Data Format :

Bit 7 6 5 4 3 2 1 0
- X X X X X X G1 G0

The relationship between input voltage range, maximum input voltage and gain is specified as the equation :

Analog Input Range = Maximum Input Voltage / Gain

The possible gains and their corresponding input ranges are listed in the table 3.3 below.

Input Range Style G0 G1 GAIN Input Range
10V &
Bipolar
0 0 x1 ±5 V
0 1 x2 ±2.5 V
1 0 x4 ±1.25 V
1 1 x8 ±0.625 V
10V &
Unipolar
0 0 x1 0 ~ +10 V
0 1 x2 0 ~ +5 V
1 0 x4 0 ~ +2.5 V
1 1 x8 0 ~ +1.25 V
20V &
Bipolar
0 0 x1 ±10 V
0 1 x2 ±5 V
1 0 x4 ±2.5 V
1 1 x8 ±1.25 V
20V &
Unipolar
0 0 x1 X
0 1 x2 0 ~ +10 V
1 0 x4 0 ~ +5 V
1 1 x8 0 ~ +2.5 V

Table 3.3

Note : Please refer section 2.6 for input voltage range setting.


3.5 A/D Conversion Sequence

In ACL-8113, the A/D conversion can only be controlled by software based on polling concept. That is, the A/D conversion trigger is issued by software, and then checks the DRDY bit ( Data Ready Bit) of the A/D status register. If the DRDY=1, the data conversion is still in progress. When the DRDY bit is became to 0 ( Low), i.e. the A/D conversion is completed, and the converted data can be read by your program.

The procedures of how to initiate and convert analog input to digit data is listed step by step below:

     1.     Define the base address of ACL-8113 card     
          e.g.
        Base_addr = 0x220;     
          
2.     Set the desired input channel by MUX control register 
Base+ 10     
     e.g.   
        outportb( Base_addr + 10, 2);     
          
3.      Trigger the A/D conversion by writing any data to 
Base+12     
     e.g.
        outportb( Base_addr + 12, 0);     
          
4.      Wait until the DRDY bit has became to low     
     e.g.    
         do status = inport( Base_addr + 5);
         while( status & 0x10) == 0x10);     
          
5.      Get the converted data from 
Base+4 and Base+5     
     e.g.    
          lowByte = inportb( Base_addr + 4);
          highByte = inportb( Base_addr + 5) & 0x0f;     
          
6.      Convert binary data to an integer value     
          e.g.     
           Data = lowByte + highByte * 256;     

An example program in low-level programming style called 8113IO.C is included in the Utility and Software Library diskette for your reference.



4. High-Level Programming


A high-level C language programming interface of ACL-8113 is described in this chapter. You can base on the C library to develop your own applications easily and fast.

Only 9 C-language API ( Application Programming Interface) functions are supported by the software library. The functionality of these function calls can be classified to the following capabilities,

  1. Initialization : setups the hardware base I/O address and switches different cards
  2. A/D conversion : performs analog to digital conversion

In addition to the library, some demonstration programs are also provided; you can refer it and save a lot of programming time and get some other benefits as well.


4.1 Backup Your Disk

The Utility Software and Library supplied with ACL-8113 is in DOS format which is compatible with DOS 3.0 or higher reversions. It is advisable to make a back up copy before using the software.

For a direct back up, use the DOS DISKCOPY or alternatively XCOPY *.* to a pre-formatted disk. The back up procedures are specified as follows:

  1. Insert "Utility and Library" Diskette into floppy drive A:

  2. XCOPY a:*.* b:/s



4.2 Installation

The ALC-8113's Utility Diskette includes a utility software, C-language library and some demonstration programs which can help you reduce programming work and support the calibration of analog inputs and outputs.

You will need to manually copy the contents of diskette to your hard disk. The procedures should be followed as :

  1. Turn your PC's power switch on
  2. Put the " ACL-8113 Utility & Library " diskette into your floppy drive A: or B:
  3. Make a directory in your hard disk and change to this directory
    C> mkdir 8113
    C> cd 8113
  4. Copy the content from drive A: or B: to C:
    C> xcopy a:*.* c: /s
  5. Make sure the contents of the diskette are copied correctly.



4.3 C Language Library

The ACL-8113's analog-to-digital conversion library was constructed to provide a simple programming interface for communicating with the ACL-8113 card. The library provides easy to use functions which allow programmers to use the features of the card in a high-level way.

The version of this library included in the diskette is DOS only. To be compatible with the various compilers, you can compile the source of the library which also included in the diskette. Borland C and Microsoft C are currently supported. Borland users compiler the file 8113_BOR.C and Microsoft C users compiler the file 8113_MIC.C, respectively.

The detailed function description is specified in the following sections :

4.3.1 _8113_Initial

@ Description

An ACL-8113 card is initialized according to the card number and the corresponding base address. Every ACL-8113 32-channel A/D Card have to be initialized by this function before calling other functions.

@ Syntax

int _8113_Initial(int card_number, int base_addresss )

@ Argument :

card_number : The card number to be initialized, up to eight cards can be initialized in one system, the card number must be 0,..., 7.

base_address : this parameter tells the library which I/O base address is jumper selected on the card. Please refer to I/O base address setting of ACL-8113.

@ Return Code :

ERR_NoRrror
ERR_InvalidBoardNumber
ERR_BaseAddressError

@ Example :

#include  "8113.h"


main()
{
         int      ErrCode;

         Errcode = _8113_Initial( CARD_1, 0x220 ); 
         if( ErrCode != NoError )
    {
              printf( " The initializtion of ACL-8113 card is failed \n");
              printf( " Base Address is 0x220 \n");   
                   exit(0);
    }

         ErrCode = _8113_Initial( CARD_2, 0x230 );
         if( ErrCode != NoError )          exit(0);
      .
 .
 .
}



4.3.2 _8113_ActCard_Set

@ Description

This function is used to switch active card which the A/D operations can be applied. After more than one cards are initialized by the function _8113_Initial, you have to use this function to select which card is activate currently.

Note: In this library, up to eight ACL-8113 cards can be initialized.

@ Syntax

int _8113_ActCard_Set( int card_number)

@ Argument :

card_number : The card number must be initialized; up to 8 cards can be initialized in one system. The valid vaule is from 0 to 7.

@ Return Code :

ERR_NoRrror
ERR_InvalidBoardNumber
ERR_BaseAddressError

@ Example :

#include "8113.h"

main()
{
     _8113_Initial( CARD_1, 0x210 ); 
     _8113_Initial( CARD_2, 0x220 );
     /* Assume NoError when Initialize ACL-8113 */

     _8113_ActCard_Set( CARD_1 );
     /*     ..... You can perform certain functions to Card_1 here     */

     _8113_ActCard_Set( CARD_2 );
     /*     ..... You can perform certain functions               to Card_2 here     */
     
}



4.3.3 _8113_Channel_Select/Deselect

@ Description

The library functions that do the A/D conversions on multiple channels at once. You may select multiple channels to do the conversions on. The channels are not necessary to select as contiguous, i.e. the channels can be selected in any order, but the conversion sequence will be done in numerical order. The following functions are used to support A/D channel selection and deselection.

_8113_Channel_Select : selects a particular channel for conversion.
_8113_Channel_Deselect : removes a channel from the list of selected channles.
_8113_Channel_Clear : clears all the channles from the list of slected list, and no channel is selected.
_8113_ChannelNo_Get : returns the number of selected channels.

@ Syntax

int _8113_Channel_Select( int channel )
int _8113_Channel_Deselect( int channel)
int _8113_Channel_Clear( void)
int _8113_ChannelNo_Get( int *no)

@ Argument :

channel : channel number to perform A/D conversion
( 0 ... 31)

@ Return Code :

ERR_NoRrror
ERR_InvalidBoardNumber
ERR_BaseAddressError

@ Example :

#include "8113.h"

main()
{

     _8113_Initial( CARD_1, 0x220 ); 
     /* Assume NoError when Initialize ACL-8113 */

_8113_ActCard_Set( CARD_1);
/* select CARD_1 as active card */

     _8113_Channel_Select( 3 );
     printf( "AD channel 3 is now selected.\n" );

_8113_Channel_Select( 5); /* channel 5 is selected */
_8113_Channel_Select( 7); /* channel 7 is selected */
.
.
_8113_MAD_Acquire( );
/* The analog signals in channel 3, 5 and 7 will be converted to digital data and save in the Data8113[3], Data8113[5], 
and Data8113[7] */
.
.
..

_8113_Channel_Clear();
/* all the channels in the selected list are removed */
}



4.3.4 _8113_Gain_Select

@ Description

This function is used to set the A/D gain by means of software. The initial value of gain is `x1' which is set by the ACL-8113 hardware. The relationships between gain and input voltage ranges are specified by following tables:

When input voltage range is set +10V(JP1) and Bipolar mode(JP2), the relationship between gain and input voltage range is listed in the following table.

Input Range (V) Gain Gain Code
±5 V X 1 AD_GAIN_1
±2.5 V X 2 AD_GAIN_2
±1.25 V X 4 AD_GAIN_4
±0.625 V X 8 AD_GAIN_8

When input voltage range is set +10V(JP1) and Unipolar mode(JP2), the relationship between gain and input voltage range is listed in the following table.

Input Range (V) Gain Gain Code
0 ~ 10 V X 1 AD_GAIN_1
0 ~ 5 V X 2 AD_GAIN_2
0 ~ 2.5 V X 4 AD_GAIN_4
0 ~ 1.25 V X 8 AD_GAIN_8

@ Syntax

int _8113_Gain_Select (int gain_code )

@ Argument :

gain_code :      the programmable gain of A/D conversion, the                          
     possible values are:
     AD_GAIN_1, AD_GAIN_2, AD_GAIN_4, 
     and AD_GAIN_8.

@ Return Code :

ERR_NoRrror
ERR_InvalidBoardNumber
ERR_BaseAddressError
     
@ Example :

#include  "8113.h"

main()
{

         _8113_Initial( CARD_1, 0x220 ); 
         /* Assume NoError when Initialize ACL-8113 */

         _8113_Gain_Select( AD_GAIN_8 );
         printf( "The gain of AD channels is now 8 times.\n" );
      /* If the input range is biploar, then the analog voltage is  bewteen 
± 0.625V  */
   ...


}



4.3.5 _8113_AD_Acquire

@ Description :

This function is used to poll the AD conversion data from a specified channel. It will trigger the AD conversion, and read the 12 bits A/D data until the data is ready (`data ready' bit is become to low).

It is a special A/D conversion function, if you do not want to get converted data from the selected channels list.

@ Syntax :

int _8113_AD_Aquire( int channel, int *ad_data )

@ Argument :
channel : converted channel no.
ad_data : 12 bits A/D converted value, the value should within 0 to 4095.

@ Return Code :

NoError
Board_No_Init
AD_Aquire_Time_Out

@ Example :

#include "8113.h"

main()
{
         int      ad_data;
         int      ErrCode;
     
         _8113_Initial( CARD_1, 0x220 ); 
         /* Assume NoError when Initialize ACL-8113 */

    _8113_ActCard_Set( CARD_1);

         /* converter channel 3 to digital data */
         ErrCode = _8113_AD_Aquire( 3, &ad_data );

         if( ErrCode == NoError )
                  printf( "The AD value is %d.\n", ad_data );
         else
                  printf( "AD conversion error happen\n" );
}



4.3.6 _8113_MAD_Acquire

@ Description

This function does one A/D conversion on each of the selected channels, and puts the data in the array call ` Data_8113', which is defined in the file "8113.h". The data array is defined as :

extern unsigned Data_8113[31];

If the channels in the selected list are 3, 8, 9, and 15, then the converted values for channel 3 will be stored in Data_8113[3], channel 8 in Data_8113[8], ..., etc.

@ Syntax

int _8113_MAD_Aquire( )

@ Return Code :

ERR_NoRrror
ERR_InvalidBoardNumber
ERR_BaseAddressError

@ Example :

#include  "8113.h"
main()
{


     _8113_Initial( CARD_1, 0x220 ); 
     /* Assume NoError when Initialize ACL-8113 */

_8113_ActCard_Set( CARD_1);
/* select CARD_1 as active card */

     _8113_Channel_Select( 3 );
     printf( "AD channel 3 is now selected.\n" );

_8113_Channel_Select( 5); /* channel 5 is selected */
_8113_Channel_Select( 7); /* channel 7 is selected */
.
.
_8113_MAD_Acquire( );
/* The analog signals in channel 3, 5 and 7 will be converted to digital data and save in the Data_8113[3], Data_8113[5], 
and Data_8113[7] */
.
.
..

_8113_Channel_Clear();
/* all the channels in the selected list are removed */
}




5. Calibration

In data acquisition process, how to calibrate your measurement devices to maintain its accuracy is very important. This chapter will guide you to calibrate your ACL-8113 to an accuracy condition.


5.1 What do you need

Before calibrating your ACL-8113 card, you should prepare some equipment for the calibration:

  1. Calibration program : once the program is executed, it will guide you to do the calibration. This program is included in the delivered package.

  2. one 6 1/2 digit multimeter

  3. a voltage calibrator or very stable and noise free DC voltage generator.



5.2 VR Assignment

There are four variable resistors (VR) on the ACL-8113 board to allow you making accurate adjustment on A/D and D/A channels. The functionality of each VR is listed below:

VR1 A/D Bipolar offset adjustment
VR2 A/D Bipolar full-scale adjustment
VR3 Programmable amplifier offset adjustment
VR4 A/D Bipolar full-scale adjustment



5.3 Bipolar A/D Adjustment
  1. Set jumper JP1 to "10V" and JP2 to "BI" position

  2. Short the A.GND and AI0 ( Channel 0 analog input)

  3. Trim VR3 until the reading of the A/D conversion data flickers between 2047 and 2048.

  4. Trim the VR1 until the reading of the A/D conversion data flickers between 2047 and 2048.
  5. Set Gain as x1, and applied +5V voltage to AI0. Adjust VR2 until the reading of the A/D conversion data flickers between 4094 and 4095.



5.4 Unipolar A/D Adjustment
  1. Set jumper JP1 to "10V" and JP2 to "UN" position

  2. Short the A.GND and AI0 ( Channel 0 analog input)

  3. Trim the VR3 until the reading of the A/D conversion data flickers between 0000 and 0001.

  4. Set Gain as x1, and applied +10V voltage to AI0. Adjust VR4 until the reading of the A/D conversion data flickers between 4094 and 4095.




Appendix A . I/O Port Address Map

I/O Address Device
000-01F DMA controller 1
020-03F interrupt controller
040-05F Timer
060-06F Keyboard
070-07F Real-time clock
080-09F DMA page register
0A0-0BF interrupt controller 2
0C0-0DF DMA controller
0F0-0FF Math coprocessor
100-1EF not usable
1F0-1F8 Fixed disk
200-207 Game I/O
278-27F Parallel printer port 2 ( LPT2: )
2F8-2FF Serial Port 2 ( COM2: )
300-31F Prototype card
360-36F Reserved
378-37F Parallel printer port 1 ( LPT1: )
3B0-3BF Monochrome display
3C0-3CF Reserved
3D0-3DF Color graphics display
3F0-3F7 Diskette controller
3F8-3FF Serial port 1 ( COM 1: )




Product Warranty/Service

Seller warrants that equipment furnished will be free form defects in material and workmanship for a period of one year from the confirmed date of purchase of the original buyer and that upon written notice of any such defect, Seller will, at its option, repair or replace the defective item under the terms of this warranty, subject to the provisions and specific exclusions listed herein.

This warranty shall not apply to equipment that has been previously repaired or altered outside our plant in any way as to, in the judgment of the manufacturer, affect its reliability. Nor will it apply if the equipment has been used in a manner exceeding its specifications or if the serial number has been removed.

Seller does not assume any liability for consequential damages as a result from our products uses, and in any event our liability shall not exceed the original selling price of the equipment.

The equipment warranty shall constitute the sole and exclusive remedy of any Buyer of Seller's equipment and the sole and exclusive liability of the Seller, its successors or assigns, in connection with equipment purchased and in lieu of all other warranties expressed implied or statutory, including, but not limited to, any implied warranty of merchant ability or fitness and all other obligations or liabilities of seller, its successors or assigns.

The equipment must be returned postage-prepaid. Package it securely and insure it. You will be charged for parts and labor if you lack proof of date of purchase, or if the warranty period is expired.






©1995 Circuit Specialists, Inc.