Tektronix PIO-24 Users Guide

PIO-24 Parallel Digital Interface Board
User’s Guide
A GREATER MEASURE OF CONFIDENCE
The information contained in this manual is believed to be accurate and reliable. However, the man­ufacturer assumes no responsibility for its use; nor for any infringements of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent rights of the manufacturer.
THE MANUFACTURER SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RELATED TO THE USE OF THIS PRODUCT. THIS PROD­UCT IS NOT DESIGNED WITH COMPONENTS OF A LEVEL OF RELIABILITY THAT IS SUITED FOR USE IN LIFE SUPPORT OR CRITICAL APPLICATIONS.
DriverLINX, SSTNET, and LabOBJX are registered trademarks and DriverLINX/VB is a trade­mark of Scientific Software Tools, Inc.
Microsoft and Windows are registered trademarks and Visual C++ and Visual Basic are trade­marks of Microsoft Corporation.
Borland is a registered trademark and Borland C++, Delphi, and Turbo Pascal are trademarks of Borland International, Inc.
IBM is a registered trademark of International Business Machines Corporation.
Acrobat is a registered trademark of Adobe Systems Incorporated.
All other brand and product names are trademarks or registered trademarks of their respective companies.
Copyright © Keithley Instruments, Inc., 1999, 1991.
All rights reserved. Reproduction or adaptation of any part of this documentation
beyond that permitted by Section 117 of the 1979 United States Copyright Act
without permission of the Copyright owner is unlawful.
WARRANTY
Hardware
Keithley Instruments, Inc. warrants that, for a period of one (1) year from the date of shipment (3 years for Models 2000, 2001, 2002, 2010 and 2700), the Keithley Hardware product will be free from defects in materials or workmanship. This warranty will be honored provided the defect has not been caused by use of the Keithley Hardware not in accordance with the instructions for the product. This warranty shall be null and void upon: (1) any modification of Keithley Hardware that is made by other than Keithley and not approved in writing by Keithley or (2) operation of the Keithley Hardware outside of the environmental specifications therefore.
Upon receiving notification of a defect in the Keithley Hardware during the warranty period, Keithley will, at its option, either repair or replace such Keithley Hardware. During the first ninety days of the warranty period, Keithley will, at its option, supply the necessary on site labor to return the product to the condition prior to the notification of a defect. Failure to notify Keithley of a defect during the warranty shall relieve Keithley of its obligations and liabilities under this warranty.
Other Hardware
The portion of the product that is not manufactured by Keithley (Other Hardware) shall not be covered by this warranty, and Keithley shall have no duty of obligation to enforce any manufacturers' warranties on behalf of the customer. On those other manufacturers’ products that Keithley purchases for resale, Keithley shall have no duty of obligation to enforce any manufacturers’ warranties on behalf of the customer.
Software
Keithley warrants that for a period of one (1) year from date of shipment, the Keithley produced portion of the software or firmware (Keithley Software) will conform in all material respects with the published specifications provided such Keithley Software is used on the product for which it is intended and otherwise in accordance with the instructions therefore. Keithley does not warrant that operation of the Keithley Software will be uninterrupted or error-free and/or that the Keithley Software will be adequate for the customer's intended application and/or use. This warranty shall be null and void upon any modification of the Keithley Software that is made by other than Keithley and not approved in writing by Keithley.
If Keithley receives notification of a Keithley Software nonconformity that is covered by this warranty during the warranty period, Keithley will review the conditions described in such notice. Such notice must state the published specification(s) to which the Keithley Software fails to conform and the manner in which the Keithley Software fails to conform to such published specification(s) with sufficient specificity to permit Keithley to correct such nonconformity. If Keithley deter­mines that the Keithley Software does not conform with the published specifications, Keithley will, at its option, provide either the programming services necessary to correct such nonconformity or develop a program change to bypass such nonconformity in the Keithley Software. Failure to notify Keithley of a nonconformity during the warranty shall relieve Keithley of its obligations and liabilities under this warranty.
Other Software
OEM software that is not produced by Keithley (Other Software) shall not be covered by this warranty, and Keithley shall have no duty or obligation to enforce any OEM's warranties on behalf of the customer.
Other Items
Keithley warrants the following items for 90 days from the date of shipment: probes, cables, rechargeable batteries, diskettes, and documentation.
Items not Covered under Warranty
This warranty does not apply to fuses, non-rechargeable batteries, damage from battery leakage, or problems arising from normal wear or failure to follow instructions.
Limitation of Warranty
This warranty does not apply to defects resulting from product modification made by Purchaser without Keithley's express written consent, or by misuse of any product or part.
Disclaimer of Warranties
EXCEPT FOR THE EXPRESS WARRANTIES ABOVE KEITHLEY DISCLAIMS ALL OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ALL IMPLIED WARRANTIES OF MERCHANT­ABILITY AND FITNESS FOR A PARTICULAR PURPOSE. KEITHLEY DISCLAIMS ALL WARRANTIES WITH RESPECT TO THE OTHER HARDWARE AND OTHER SOFTWARE.
Limitation of Liability
KEITHLEY INSTRUMENTS SHALL IN NO EVENT, REGARDLESS OF CAUSE, ASSUME RESPONSIBILITY FOR OR BE LIABLE FOR: (1) ECONOMICAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT, SPECIAL, PUNITIVE OR EXEMPLARY DAMAGES, WHETHER CLAIMED UNDER CONTRACT, TORT OR ANY OTHER LEGAL THEORY, (2) LOSS OF OR DAMAGE TO THE CUSTOMER'S DATA OR PROGRAMMING, OR (3) PENALTIES OR PENALTY CLAUSES OF ANY DESCRIPTION OR INDEMNIFICATION OF THE CUSTOMER OR OTHERS FOR COSTS, DAM­AGES, OR EXPENSES RELATED TO THE GOODS OR SERVICES PROVIDED UNDER THIS WARRANTY.
Keithley Instruments, Inc.
Sales Offices: BELGIUM: Bergensesteenweg 709 • B-1600 Sint-Pieters-Leeuw • 02-363 00 40 • Fax: 02/363 00 64
CHINA: Yuan Chen Xin Building, Room 705 • 12 Yumin Road, Dewai, Madian • Beijing 100029 • 8610-6202-2886 • Fax: 8610-6202-2892 FINLAND: Tietäjäntie 2 • 02130 Espoo • Phone: 09-54 75 08 10 • Fax: 09-25 10 51 00 FRANCE: 3, allée des Garays • 91127 Palaiseau Cédex • 01-64 53 20 20 • Fax: 01-60 11 77 26 GERMANY: Landsberger Strasse 65 • 82110 Germering • 089/84 93 07-40 • Fax: 089/84 93 07-34 GREAT BRITAIN: Unit 2 Commerce Park, Brunel Road • Theale • Berkshire RG7 4AB • 0118 929 7500 • Fax: 0118 929 7519 INDIA: Flat 2B, Willocrissa • 14, Rest House Crescent • Bangalore 560 001 • 91-80-509-1320/21 • Fax: 91-80-509-1322 ITALY: Viale San Gimignano, 38 • 20146 Milano • 02-48 39 16 01 • Fax: 02-48 30 22 74 JAPAN: New Pier Takeshiba North Tower 13F • 11-1, Kaigan 1-chome • Minato-ku, Tokyo 105-0022 • 81-3-5733-7555 • Fax: 81-3-5733-7556 KOREA: 2FL., URI Building • 2-14 Yangjae-Dong • Seocho-Gu, Seoul 137-888 • 82-2-574-7778 • Fax: 82-2-574-7838 NETHERLANDS: Postbus 559 • 4200 AN Gorinchem • 0183-635333 • Fax: 0183-630821 SWEDEN: c/o Regus Business Centre • Frosundaviks Allé 15, 4tr • 169 70 Solna • 08-509 04 679 • Fax: 08-655 26 10 SWITZERLAND: Kriesbachstrasse 4 • 8600 Dübendorf • 01-821 94 44 • Fax: 01-820 30 81 TAIWAN: 1FL., 85 Po Ai Street • Hsinchu, Taiwan, R.O.C. • 886-3-572-9077• Fax: 886-3-572-9031
28775 Aurora Road • Cleveland, Ohio 44139 • 440-248-0400 • Fax: 440-248-6168
1-888-KEITHLEY (534-8453) • www.keithley.com
4/02
PIO-24 Parallel Digital Interface Board
User’s Guide
©1991, Keithley Instruments, Inc.
All rights reserved.
Cleveland, Ohio, U.S.A.
Third Printing, April 2001
Part Number: 64230 Rev. C
Manual Print History
The print history shown below lists the printing dates of all Revisions and Addenda created for this manual. The Revision Level letter increases alphabetically as the man­ual undergoes subsequent updates. Addenda, which are released between Revisions, contain important change information that the user should incorporate immediately into the manual. Addenda are numbered sequentially. When a new Revision is created, all Addenda associated with the previous Revision of the manual are incorporated into the new Revision of the manual. Each new Revision includes a revised copy of this print history page.
Revision A (Part Number 64230) ...................................................................................... July 1991
Revision B (Part Number 64230) ...................................................................................... July 1999
Revision C (Part Number 64230) .................................................................................... April 2001
All Keithley product names are trademarks or registered trademarks of Keithley Instruments, Inc. Other brand names are trademarks or registered trademarks of their respective holders.
S
The following safety precautions should be observed before using this product and any associated instrumentation. Although some instruments and accessories would normally be used with non-hazardous voltages, there are situations where hazardous conditions may be present.
This product is intended for use by qualified personnel who recognize shock hazards and are familiar with the safety precautions required to avoid possible injury. Read and follow all installation, operation, and maintenance information carefully before using the product. Refer to the manual for complete product specifications.
If the product is used in a manner not specified, the protection provided by the product may be impaired.
The types of product users are:
Responsible body is the individual or group responsible for the use and maintenance of equipment, for ensuring that
the equipment is operated within its specifications and operating limits, and for ensuring that operators are adequately trained.
Operators use the product for its intended function. They must be trained in electrical safety procedures and proper use
of the instrument. They must be protected from electric shock and contact with hazardous live circuits.
Maintenance personnel perform routine procedures on the product to keep it operating properly, for example, setting
the line voltage or replacing consumable materials. Maintenance procedures are described in the manual. The proce­dures explicitly state if the operator may perform them. Otherwise, they should be performed only by service personnel.
Service personnel are trained to work on live circuits, and perform safe installations and repairs of products. Only
properly trained service personnel may perform installation and service procedures.
Keithley products are designed for use with electrical signals that are rated Installation Category I and Installation Category II, as described in the International Electrotechnical Commission (IEC) Standard IEC 60664. Most mea­surement, control, and data I/O signals are Installation Category I and must not be directly connected to mains voltage or to voltage sources with high transient over-voltages. Installation Category II connections require protection for high transient over-voltages often associated with local AC mains connections. Assume all measurement, control, and data I/O connections are for connection to Category I sources unless otherwise marked or described in the Manual.
Exercise extreme caution when a shock hazard is present. Lethal voltage may be present on cable connector jacks or test fixtures. The American National Standards Institute (ANSI) states that a shock hazard exists when voltage levels greater than 30V RMS, 42.4V peak, or 60VDC are present.
age is present in any unknown circuit before measuring.
Operators of this product must be protected from electric shock at all times. The responsible body must ensure that operators are prevented access and/or insulated from every connection point. In some cases, connections must be ex­posed to potential human contact. Product operators in these circumstances must be trained to protect themselves from the risk of electric shock. If the circuit is capable of operating at or above 1000 volts,
may be exposed.
Do not connect switching cards directly to unlimited power circuits. They are intended to be used with impedance limited sources. NEVER connect switching cards directly to AC mains. When connecting sources to switching cards, install protective devices to limit fault current and voltage to the card.
Before operating an instrument, make sure the line cord is connected to a properly grounded power receptacle. Inspect the connecting cables, test leads, and jumpers for possible wear, cracks, or breaks before each use.
afety Precautions
A good safety practice is to expect that hazardous volt-
no conductive part of the circuit
5/02
When installing equipment where access to the main power cord is restricted, such as rack mounting, a separate main input power disconnect device must be provided, in close proximity to the equipment and within easy reach of the operator.
For maximum safety, do not touch the product, test cables, or any other instruments while power is applied to the cir­cuit under test. ALWAYS remove power from the entire test system and discharge any capacitors before: connecting or disconnecting cables or jumpers, installing or removing switching cards, or making internal changes, such as in­stalling or removing jumpers.
Do not touch any object that could provide a current path to the common side of the circuit under test or power line (earth) ground. Always make measurements with dry hands while standing on a dry, insulated surface capable of withstanding the voltage being measured.
The instrument and accessories must be used in accordance with its specifications and operating instructions or the safety of the equipment may be impaired.
Do not exceed the maximum signal levels of the instruments and accessories, as defined in the specifications and op­erating information, and as shown on the instrument or test fixture panels, or switching card.
When fuses are used in a product, replace with same type and rating for continued protection against fire hazard.
Chassis connections must only be used as shield connections for measuring circuits, NOT as safety earth ground con­nections.
If you are using a test fixture, keep the lid closed while power is applied to the device under test. Safe operation re­quires the use of a lid interlock.
If or is present, connect it to safety earth ground using the wire recommended in the user documentation.
!
The symbol on an instrument indicates that the user should refer to the operating instructions located in the manual.
The symbol on an instrument shows that it can source or measure 1000 volts or more, including the combined effect of normal and common mode voltages. Use standard safety precautions to avoid personal contact with these voltages.
The
WARNING
associated information very carefully before performing the indicated procedure.
The
CAUTION
the warranty.
Instrumentation and accessories shall not be connected to humans.
Before performing any maintenance, disconnect the line cord and all test cables.
To maintain protection from electric shock and fire, replacement components in mains circuits, including the power transformer, test leads, and input jacks, must be purchased from Keithley Instruments. Standard fuses, with applicable national safety approvals, may be used if the rating and type are the same. Other components that are not safety related may be purchased from other suppliers as long as they are equivalent to the original component. (Note that selected parts should be purchased only through Keithley Instruments to maintain accuracy and functionality of the product.) If you are unsure about the applicability of a replacement component, call a Keithley Instruments office for information.
To clean an instrument, use a damp cloth or mild, water based cleaner. Clean the exterior of the instrument only. Do not apply cleaner directly to the instrument or allow liquids to enter or spill on the instrument. Products that consist of a circuit board with no case or chassis (e.g., data acquisition board for installation into a computer) should never require cleaning if handled according to instructions. If the board becomes contaminated and operation is affected, the board should be returned to the factory for proper cleaning/servicing.
heading in a manual explains dangers that might result in personal injury or death. Always read the
heading in a manual explains hazards that could damage the instrument. Such damage may invalidate

Table of Contents

1 Introduction
General description .................................................................... 1-2
Product change notice ................................................................ 1-4
Applications ............................................................................... 1-5
Accessories ................................................................................. 1-5
Specifications ............................................................................. 1-6
Connections ................................................................................ 1-7
2 Installation
General ....................................................................................... 2-2
Unpacking and inspecting .......................................................... 2-2
Switch and jumper settings ........................................................ 2-2
Base address switch ............................................................ 2-3
J8 slot jumper ............................................................................. 2-4
Interrupt level selection ....................................................... 2-4
Installing and configuring DriverLINX for PIO-24 boards ....... 2-5
Before installing DriverLINX ............................................. 2-5
Selecting the DriverLINX components to install ................ 2-6
Installing DriverLINX ......................................................... 2-6
Configuration with DriverLINX ......................................... 2-7
Hardware installation ................................................................. 2-7
Using power from the PIO-24 .................................................... 2-8
3 I/O Address Map
General ....................................................................................... 3-2
4 Configuring DriverLINX
General ....................................................................................... 4-2
I/O bit tests ................................................................................. 4-4
General information ............................................................ 4-4
Output set test ..................................................................... 4-7
Input read test .................................................................... 4-11
5 Programming
General ....................................................................................... 5-2
Control Byte ............................................................................... 5-2
Selecting an application programming interface ........................ 5-3
DriverLINX interface .......................................................... 5-4
Direct I/O application programming interface .................... 5-5
Installing the Direct I/O Driver ........................................... 5-5
Configuring the Direct I/O Driver ....................................... 5-6
Programming the Direct I/O Interface ................................. 5-6
6 Troubleshooting
General ....................................................................................... 6-2
Using the DriverLINX Event Viewer .................................. 6-2
Device initialization error messages .................................... 6-2
Problem isolation ........................................................................ 6-3
Testing the board and host computer .......................................... 6-5
Testing the accessory slot and I/O connections .......................... 6-5
Technical support ........................................................................ 6-6

List of Illustrations

1 Introduction
Figure 1-1 PIO-24 block diagram ............................................................ 1-2
Figure 1-2 Poor implementation of monitoring a digital input ............... 1-4
Figure 1-3 Better implementation of monitoring a digital input ............. 1-5
Figure 1-4 I/O connector, rear view ......................................................... 1-7
2 Installation
Figure 2-1 Switch and jumper layout ...................................................... 2-3
Figure 2-2 Diagram of the base address switch (S2) ............................... 2-3
4 Configuring DriverLINX
Figure 4-1 An AIO Panel example .......................................................... 4-4
Figure 4-2 DIO channel tab example ...................................................... 4-5
Figure 4-3 Configuring the digital I/O channels as inputs and outputs ... 4-6
Figure 4-4 Configuring channel 0 for output bit pattern A ...................... 4-7
Figure 4-5 An AIO Panel example .......................................................... 4-8
Figure 4-6 Configuring the digital I/O channels as inputs and outputs ... 4-9
Figure 4-7 Configuring channel 0 for output bit pattern A ...................... 4-9
Figure 4-8 Configuring channel 0 for output bit pattern B .................... 4-10

List of Tables

1 Introduction
Table 1-1 Specifications ......................................................................... 1-6
2 Installation
Table 2-1 I/O address map ..................................................................... 2-4
3 I/O Address Map
Table 3-1 PIO-24 locations .................................................................... 3-2
5 Programming
Table 5-1 Mode 0 control words and port directions ............................. 5-3
6 Troubleshooting
Table 6-1 Troubleshooting information ................................................. 6-3
1

Introduction

1-2 Introduction

General description

Figure 1-1
PIO-24 block diagram
PC Bus
D0
Data
D7
A0
Address
A9
IOR/
IOW/
IRQ2
Interrupt
IRQ7
P O W E R
Data Bus
Buffer
Address
Decoder
Interrupt
Selector
Level
Address Selector Switch
Direction
Control
L A T C H
Rear Connector
D R I V E R
B U F F E R
PA PB PC
Interrupt Input
Interrupt Enable +5V
-5V +12V
-12V Common
Digital I/O
24 Lines of
Referring to the block diagram, the PIO-24 is a high-current, 24-line, parallel, dig­ital I/O interface board for the IBM PC or PC-compatible. The board emulates an 8255 Programmable Peripheral Interface Control Word MODE 0. (While the Keithley PIO-12 also uses an 8255 Programmable Peripheral Interface chip, it drives much less current than the PIO-24.)
The PIO-24 and computer with DriverLINX software requires:
an IBM PC or compatible AT (386, or Pentium CPU) with minimum of 2 MB of memory
at least one floppy disk drive, and one fixed disk drive
Microsoft Windows 95/98, or Windows NT 4.0 or higher
a compiler supporting Microsoft Windows development
a mouse is highly recommended.
Introduction 1-3
The following software is available for operating PIO-24 boards:
PIO-24 standard software package
— Shipped with PIO-24 boards. Includes DriverLINX for Microsoft Windows 95/98 or Windows NT and function libraries for writing application programs under Windows in a high­level language such as Microsoft Visual C++, Microsoft Visual Basic; Borland Delphi support files; utility programs; and language-specific example programs.
DriverLINX
— the high-performance real-time data-acquisition device driv-
ers for Windows application development including:
DriverLINX API DLLs and drivers supporting the PIO-24 hardware
AIO Panel —
A DriverLINX program that verifies the installation and configuration of DriverLINX to your PIO-24 board and demonstrates several virtual bench-top instruments
Learn DriverLINX —
an interactive learning and demonstration program
for DriverLINX that includes a Digital Storage Oscilloscope
Source Code —
DriverLINX Application Programming Interface files —
for the sample programs
for the PIO-24
compiler
DriverLINX On-line Help System —
provides immediate help as you
operate DriverLINX
Supplemental Documentation —
on DriverLINX installation and config­uration; analog and digital I/O programming; counter/timer program­ming; technical reference; and information specific to the PIO-24 hardware
.
The major features of PIO-24 board are as follows:
Three TTL/CMOS-compatible, digital I/O ports: PA, PB, and PC. PA and PB are both byte wide (8-bit) and are usable as inputs or outputs. PC is also byte wide but is adaptable for use as two separate 4-bit ports: PC Lower and PC Upper, each of which is usable as an input or output.
An interrupt input channel with a corresponding interrupt-enable line. Inter­rupts can be directed to any of six interrupt levels available on the PC Bus. PIO-24 interrupts are unlatched and edge-sensitive.
The PIO-24 performs a 10-bit I/O address decode and communicates with the PC Bus as an 8-bit peripheral. The address map uses four consecutive I/O addresses. Multiple PIO-24s may be installed in a computer at different Base Addresses.
+5V, +12V, and -12V power levels from the PC supplies are provided on the rear connector. The 37-pin D connector of the PIO-24 is pin-compatible with the PIO-12 and is usable with all the accessories of the PIO-12.
1-4 Introduction

Product change notice

A component change was implemented in March 1999, reducing the input load current of the PIO-24 digital I/O card for improved consistency. The input load cur­rent on the newly designed board is now specification of drive current, such as the ERB-24, were accidentally being turned on when power was first applied to the PIO-24. The specific change involved changing parts U3, U6, and U9, the digital input latches. The older design used 74LS373 octal tri-state latches, which had a higher input load current than the 74HCT373 parts that are now being used. In existing designs using the PIO-24, this reduction in input load current will generally cause no problems. However, if the existing design depends on this input load current being near the -450µA limit, this change is important. The reduc­tion in input load current reduces the possibility of the input state being driven high if the input is floating. Figure 1-2 shows an application monitoring a contact switch that would be a problem as a result of the new design, and Figure 1-3 shows the correct implementation of this application that would work with either design.
Figure 1-2
Poor implementation of monitoring a digital input
-450µA. This change was made because some devices having low
-2µA, which continues to meet the product
<450uA
R=unknown
PIO-24
In Figure 1-2, the digital input would probably float high with an older design board because of the higher input load current. When the switch is closed, the input will be pulled low. While this would work on an older design of the PIO-24, this is a poor implementation because the input load current can vary from one board to the next. In the case of a new design board, this would not work because of the lower load current.
Figure 1-3
Better implementation of monitoring a digital input
PIO-24
In Figure 1-3, the digital input is guaranteed to be pulled high because of the 10k ohm resistor. This implementation would work on both the old and new design of the PIO-24 and is the preferred implementation to avoid dependence on a specific level of input load current.
Introduction 1-5
+5 Volts
10k ohm

Applications

Applications for the PIO-24 include all parallel digital I/O activities such as communicating with peripherals, operating relays, reading switch inputs, etc. Keithley Instruments applications engineers welcome inquiries into installation, operation, and applications of the PIO-24. To inquire, dial (440) 248-0400 and ask for technical support.

Accessories

Accessory products available for the PIO-24 include the SFC-37 Mating Connec­tor, the C-1800 Flat Cable, the STA-U Screw Connector Panel, and the mechanical and solid-state relay board Models ERB-24, ERA-01, SRA-01, and SSIO-24.
1-6 Introduction
Specifications
Table 1-1
Specifications
Parameters Minimum Maximum
LOGIC INPUTS & OUTPUTS
Input low voltage -0.5 +0.8V Input high voltage 2.0 5.0V Input low load current PA, PB & PC - -0.4mA
INTERRUPT ENABLE/ (10Kohm Pull-up Resistor included)
INTERRUPT - 0.4mA
Input Load High Current PA, PB, PC - 70µa INTERRUPT ENABLE/ - 20µa INTERRUPT - 20µa
Output low voltage PA, PB, PC
(Isink = 64mA)
Output high voltage PA, PB, PC:
Bus Loading Power Consumption 400mA typ. @ +5V ENVIRONMENTAL
Operating Temperature Range: 0˚ to 70˚C
Storage Temperature Range: -40˚ to 100˚C
Humidity: 0 to 90%
Size: Half Slot
- -0.9mA
- 0.55V
Isource = 15mA 2.0V Isource = 3mA 2.7V
Noncondensing

Connections

Figure 1-4 shows a rear view of the 37-pin D male I/O connector. The mating con-
nector is a 37-pin D female (Part No. SFC-37).
Figure 1-4
I/O connector, rear view
Introduction 1-7
Dig. Com.
Dig. Com.
+12V
Dig. Com.
Dig. Com.
PC Power SuppliesPB Port
Dig. Com.
Interrupt Enable
Interrupt Input
+5V
-12V
-5V
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
19 18 17 16 15 14 13 12
11
10
37
PA0
36
PA1
35
PA2
34
PA3
33
PA4
32
PA5
31
PA6
30
PA7
29
PC0 28 27 26 25 24 23 22 21 20
PC1
PC2
PC3
PC4
PC5
PC6
PC7
Dig. Com.
+5V
9 8 7 6 5 4 3 2 1
PA PortPC Port
Upper Lower
2

Installation

2-2 Installation

General

This chapter contains instructions for installing the PIO-24. The chapter begins with procedures for unpacking and inspection and follows with descriptions of the options and methods for setting all configurable parameters. Hardware installation is the final topic.

Unpacking and inspecting

After removing the wrapped board from its outer shipping carton, proceed as follows:
1. Place one hand firmly on a metal portion of the computer chassis (the com­puter must be turned OFF and grounded) to discharge static electricity from the package and your body, thereby preventing damage to board components.
2. Carefully unwrap the board from its antistatic wrapping material.
3. Inspect the board for signs of damage. If any damage is apparent, return the board to the factory.
4. Check the contents of your package against its packing list to be sure the order is complete. Report any missing items immediately.
You may find it advisable to retain the packing material in case the board must be
returned to the factory.

Switch and jumper settings

The PIO-24 contains a switch for setting Base Address and jumper pads for select­ing Interrupt Level and board location. Each is shown in Figure 2-1 and described in the following subsections.
Figure 2-1
Switch and jumper layout
Installation 2-3
INTERRUPT LEVEL
234567X
BASE ADDRESS
98765432
ON
12345678
Base address switch
The Base Address switch is preset at the factory for 300 Hex, as shown in
Figure 2-2.
Figure 2-2
Diagram of the base address switch (S2)
12345678
ON
SLOT
J8
Address
Line
Address Line Values:
A9 A8 A7 A6 A5 A4 A3 A2
Decimal Hex
512 256 128
64 32 16
8 4
Switch settings indicate a value of
512 + 256 = 768 Decimal
or
200 + 100 = 300 Hex
200 100
80 40 20 10
8 4
2-4 Installation
The factory-preset Base Address of 300 Hex is within the address range shown in the following table as without conflict, thereby eliminating any need for address selection and configura­tion. However, if you have a need to change the Base Address from its preset value, you must select an address within a range of 200 to 3FC Hex (512 to 1020 Decimal). In addition, the address must be on a 4-byte boundary and must not conflict with addresses already in use for other devices. As an aid to selecting a usable 3-digit Hex number, Table 2-1 is an industry-standard I/O address map for the full 000 to 3FF range.
Table 2-1
I/O address map
Hex Range Usage Hex Range Usage
000 to 1FF Internal system 380 to 38C SDLC comm. 200 to 20F Game 380 to 389 Binary comm. 2 210 to 217 Expansion unit 3A0 to 3A9 Binary comm. 1 220 to 24F Reserved 3B0 to 3BF Mono dsp/LPT1: 278 to 27F Reserved 3C0 to 3CF Reserved 2F0 to 2F7 LPT2: 3D0 to 3DF Color graphics 2F8 to 2FF COM2: 3E0 to 3E7 Reserved 300 to 31F Prototype card 3F0 to 3F7 Floppy disk 320 to 32F Hard disk 3F8 to 3FF COM1:
387 to 37F LPT1:
Reserved
. This default value will function in most computers

J8 slot jumper

This jumper pad offers two selections: J8 Slot or Off, as shown in Figure 2-1. Placing a jumper on the upper pins enables the board to occupy the J8 slot of an IBM PC-XT (the J8 slot is rightmost on the PC-XT motherboard). Placing the jumper on the lower two pins simply turns this option off.
Interrupt level selection
You may select one of six Interrupt Levels (IRQ2 to IRQ7) from the PC Bus, or you may disable the Interrupt Levels. Each choice is jumper-selectable on a pad located as shown in Figure 2-1. Postions 2 to 7 on the pad correspond to IRQ2 to IRQ7, respectively. Position X disables the Interrupt Levels.
Installing and configuring DriverLINX for PIO-24 boards
Installation 2-5
IMPORTANT
IMPORTANT
As a precaution against a system crash the first time you install and test any new hardware, you should exit all other programs and, if you use a disk cache, disable write caching. If the sys­tem does crash and you’re using disk compression software or a disk cache utility, and as a precaution after any crash, run the utility that checks the directory structures.
Before you begin installing any hardware or software for the PIO-24, read the
Guide
and the
Keithley PIO Series
DriverLINX software. They are accessed from the DriverLINX CD-ROM after you have installed Adobe Acrobat.
Before installing DriverLINX
1. Inventory your PIO-24 board’s configuration settings.
2. Determine the resources your PIO-24 board requires.
3. Inventory your computer’s resources already allocated to other installed devices.
4. Determine whether your computer has sufficient resources for your PIO-24 board.
5. Determine whether your PIO-24 board can use your computer’s free resources.
6. Set any jumpers/switches to configure your PIO-24 board to use your com­puter’s free resources.
7. Set any other jumpers/switches to configure your PIO-24 board the way you want the board to operate.
8. Install your PIO-24 board into an appropriate free slot in your computer.
DriverLINX Installation and Configuration
Using DriverLINX with your Hardware—
manuals that are packaged with the
2-6 Installation
Selecting the DriverLINX components to install
Installing DriverLINX
For your convenience in installing and un-installing just the DriverLINX compo­nents you need, the DriverLINX CD Browser will assist you in selecting the compo­nents to install:
Install Drivers
for configuring your hardware and running third-party data-acquisition appli­cations that require DriverLINX.
Install Interfaces
programs that you will need to develop custom applications for DriverLINX using C/C++, Visual Basic, Delphi, and LabVIEW.
Install Documentation
mentation for DriverLINX that you can read, search, and print using the Adobe Acrobat Reader.
Install Acrobat
Reader for the DriverLINX electronic documentation.
1. Insert the DriverLINX CD-ROM into your computer’s CD-ROM Drive.
2. Start the DriverLINX setup program. On most systems, wait a few seconds for automatic start-up. Otherwise, run the setup.exe program from the CD-ROM.
3. The DriverLINX CD-ROM Browser Map window appears on the screen. Click ‘Install Drivers,’ and follow the series of on-screen instructions.
— This required component installs only the files you need
— This optional component installs the files and example
— This optional component installs electronic docu-
— This optional component installs the Adobe Acrobat
NOTE
To display an explanation of a menu option on the DriverLINX CD browser map that appears next and on subsequent setup screens, place the mouse pointer over the menu item. A star next to a menu item means that the was selected previously.
4. Select ‘Read Me First,’ and follow the instructions.
5. Select ‘Install Documentation.’ If you do not have Adobe Acrobat installed on your computer, install it by selecting ‘Install Adobe Acrobat.’
6. Open the manuals appropriate to the PIO-24 installation and read them before installing your PIO-24 board or configuring DriverLINX:
Installation and Configuration
Using DriverLINX with Your Hardware—Keithley PIO Series
DriverLINX Technical Reference Manual
DriverLINX Digital I/O Programming Guide
DriverLINX Analog I/O Programming Guide
DriverLINX Counter/Timer Programming Guide
Appendix, I/O Port, Interrupt, and DMA Channel Usage
Other manuals appropriate to your installation.
item
Configuration with DriverLINX
Follow the DriverLINX on-screen instructions for installation of drivers and
interfaces. Refer to the
DriverLINX with Your Hardware—Keithley PIO Series manuals.
DriverLINX Installation and Configuration Guide and Using
Installation 2-7
NOTE
specify the base address and interrupt level by setting switches on the board.
Be sure to note and follow all programming differences between installa­tions for Windows NT and Windows 95/98.
Before you configure DriverLINX for operation with the PIO-24 board, you must

Hardware installation

WARNING
1. Turn off power to the PC and all attached equipment.
2. Remove the cover of the PC as follows: First remove the cover-mounting screws from the rear panel of the computer. Then, slide the cover of the com­puter about 3/4 of the way forward. Finally, tilt the cover upwards and remove.
3. Choose an available option slot. Loosen and remove the screw at the top of the blank adapter plate. Then slide the plate up and out to remove.
4. Hold the PIO-24 board in one hand placing your other hand on any metallic part of the PC/AT chassis (but not on any components). This will safely dis­charge any static electricity from your body.
5. Make sure the board switches have been properly set (refer to the preceding section).
6. Align the board connector with the desired accessory slot and with the corre­sponding rear-panel slot. Gently press the board downward into the socket. Secure the board in place by inserting the rear-panel adapter-plate screw.
7. Replace the computer's cover. Tilt the cover up and slide it onto the system's base, making sure the front of the cover is under the rail along the front of the frame. Replace the mounting screws.
8. Plug in all cords and cables. Turn the power to the computer back on.
Any attempt to insert or remove a board with the computer power on could damage your computer.
You are now ready to make any necessary system connections.
2-8 Installation

Using power from the PIO-24

Power from the PC's internal supply is available on the PIO-24 rear connector. In the applications this board is likely to see, the availability of PC internal power is a convenience. However, you are advised avoid the following conditions:
1. Short circuits, overloads, or the application of other external voltages. All of these conditions may damage the PC system board and result in costly repairs. The PC power supply is designed to shutdown on a short circuit, but you should not rely on this characteristic.
2. A power draw in excess of the capacity of the PC power supply and its inter­nal loads (see connector and trace width limitations, Keithley recommends that you limit power draw to 1A from the +5V and +12V supplies (if available). The -12V and -5V supplies are capable of much lower loads.
In situations where the PIO-24 is used with a dedicated peripheral (for example, a switch pad) and the cabling and design loads are fixed, you may find it more feasible to use the PIO-24 power outputs. In most other cases, however, you are advised to power external devices from their own supplies.
IBM PC Technical Reference Manual
not
to use PC's power unless you can safely
). Because of PC board
NOTE
NOTE
set appropriately and that you have noted the switch settings so that you can match these settings when you program the configuration using DriverLINX. Refer to the
DriverLINX Installation and Configuration Guide Hardware—Keithley PIO Series
installing boards.
Typically, base addresses between 300h and 370h are available for use. However, keep in mind that a network board, a sound board, a CD-ROM, or other data acquisition board may use a base address within this space.
DriverLINX allows you to set base addresses between 200h and 3FCh. If you are using your PIO-24 board, you must make sure that the four adja­cent I/O addresses, needed for the PIO-24, are not used by other devices in the computer.
If switches on the board are changed after the software has been installed, the software will need to be reconfigured.
Before installing a PIO-24 board in your computer, make sure that the switches are
and
Using DriverLINX with Your
manuals.
Refer to the documentation provided with your computer for more information on
3

I/O Address Map

3-2 I/O Address Map

General

The PIO-24 uses four locations in I/O address space as shown in Table 3-1. Note that the PIO-24 requires a full block of four I/O addresses.
Table 3-1
PIO-24 locations
Location Function Type
Base Address +0 PA Port Read/Write
Base Address +1 PB Port Read/Write
Base Address +2 PC Port Read/Write
Base Address +3 Control Write only
4
Configuring DriverLINX
4-2 Configuring DriverLINX

General

After you have successfully installed the PIO-24 board in your computer, start Windows to run DriverLINX. For detailed instructions on installing DriverLINX, see the documentation provided on the DriverLINX CD-ROM; especially the
DriverLINX Installation and Configuration Guide and Using DriverLINX with Your Hardware—Keithley PIO Series manuals.
NOTE Be sure to note and follow differences in programming between Windows
NT and Windows 95/98 as appropriate for your system.
Run “Learn DriverLINX” (LearnDL.exe) from the DriverLINX program group to tell DriverLINX how you configured your PIO-24 board and to verify that everything is properly installed and configured.
1. Start Windows as you normally would and select the Program Manager win­dow. Install DriverLINX if you have not previously done so.
2. Either select the “Learn DriverLINX” icon created when you installed Driver­LINX or enter “<drive>:/DRVLNX/LEARNDL” in the Command Line edit box. The command line edit box is activated by selecting the Run... option. <drive> is the letter of the hard disk drive where DriverLINX is installed.
3. Immediately after loading Learn DL, the Open DriverLINX DLL dialog box appears. Select the name of the hardware-specific DLL from the list for your PIO-24 board. The name is an abbreviation of the board’s model number.
4. From the main menu bar of Learn DL, select the Device menu and choose
Select....
5. Select the Logical Device you wish to configure and then click on the OK button (return).
6. Again select the Device menu and then choose the Configure... option to dis­play the Device Configuration Dialog Box.
7. From the Model list, select the model name for the PIO-24 board you are configuring.
8. If the value displayed in the Address edit box is not correct, type the correct value into the box. You may enter the address in decimal or hexadecimal using the c-notation for hex, (that is, 768 decimal = 0x300 hexadecimal).
Configuring DriverLINX 4-3
9. Choose the correct options for the Analog, Digital, and Counter/Timer Sec­tions by first clicking on the appropriate radio button in the middle of the dia­log box and then completing the group of dialog fields in the lower third of the dialog box. Be sure to click on both the Input and Output radio buttons for the Analog and Digital groups to see all the dialog fields.
10. After you have made your selections, save the configuration parameters by clicking on the OK button. This will create or update the configuration for DriverLINX.
11. Repeat the preceding steps, starting at step 5, for each Logical Device you wish to configure.
You can use DriverLINX to verify board operation:
1. To physically initialize the PIO-24, select Device/Initialize from the main menu in Learn DriverLINX.
2. The first time the PIO-24 is initialized, or after a configuration change, DriverLINX runs a diagnostic program to verify the operation and accuracy of the configuration settings.
After you install the PIO-24 board and configure DriverLINX for the desired PIO-24 configuration, you can attach an accessory board and wire the appropriate sig­nals to the board. Before writing your application program, you can test the functions of the PIO-24 board using the DriverLINX AIO Panel.
4-4 Configuring DriverLINX

I/O bit tests

General information
1. Start the AIO Panel as follows:
a. In the Start menu, click Programs.
b. Find the DriverLINX Test Panels folder, under which you should find
the AIO Panel entry.
c. Click on the AIO Panel entry. The Analog I/O Panel should appear,
similar to the example in Figure 4-1. (If you have other DriverLINX
devices installed in addition to the digital input/output card you are test-
ing, they will also be listed. In that case, select the desired digital I/O
card and the proper device number before proceeding.)
Figure 4-1
An AIO Panel example
NOTE The “Driver Selection” column will show the actual DriverLINX driver(s)
you have installed.
2. On the AIO Control Panel, click the DIO tab.
Figure 4-2
DIO channel tab example
Configuring DriverLINX 4-5
NOTE The on-screen digital I/O controller works as follows:
Channels 0 to 15 refer to the 8-bit general-purpose registers of your digital input-output card. (Depending on which card is used, the num­ber of valid 8-bit registers will vary.) Bits displayed on the Digital Input Panel and the Digital Output Panel are numbered 0-7 for every channel. Refer elsewhere in this manual for a description of the available ports and their direction.
Invalid channels and settings appear as dark gray squares. For example:
- Non-existent channels always appear as dark gray squares.
- Channels configured as inputs will appear as dark gray squares on
the output panel.
4-6 Configuring DriverLINX
Valid channels and settings appear as white squares when OFF and
The two-digit numeric displays under Input Bits and Output Bits
To configure a valid channel either for input or output, use the Digital
To turn ON output-channel bits, use the Digital Output Panel. First
To read an input-channel bit, use the Digital Input Panel. First select
green squares when ON. (When the manual is printed in black and white, valid channels and settings appear as white squares when OFF and as light gray squares when ON.)
show the hexadecimal values of the adjacent bit patterns.
Channel Configuration Panel. Click on either the Input or Output square below the channel number. Note: this selection will be disabled for channels which are fixed as input or output by hardware design.
select the channel number of the bits to be turned on by clicking on the appropriate square under Channels. Then, turn ON a bit by clicking the appropriate square under Output Bits. Turn OFF a bit in the same way.
the channel number to be checked by clicking the appropriate square under Channels. Then, read the numbered bit under Input Bits. OFF input bits appear as black dots and ON input bits appear as green dots. (When the manual is printed in black and white, OFF input bits appear as black dots and ON input bits appear as light gray dots.)
3. Under Digital I/O Configuration Panel, configure channels as shown in
Figure 4-3. (Actual channels available will vary according to your hardware.)
Figure 4-3
Configuring the digital I/O channels as inputs and outputs
KEITHLEY
Channel Configuration
123456789101112131415
0
Input
Output
NOTE For clarity when the manual is printed in black and white, the control col-
ors in Figure 4-3 and subsequent drawings will be shown as follows:
Color on Actual
Illustration
BLACK DARK GRAY Invalid
WHITE LIGHT GRAY OFF
GRAY GREEN ON
Digital I/O Configuration Panel
Panel Function
4. In the Digital Output Panel under Channels, click on a channel (here, chan­nel 0) as shown in Figure 4-4.
Figure 4-4
Configuring channel 0 for output bit pattern A
Configuring DriverLINX 4-7
KEITHLEY
Channels
1234567
0
8 9 10 11 12 13 14 15
5. In the Digital Output Panel under Output Bits, set the bits of the channel as desired as shown in Figure 4-4. (Click on each bit position to turn it ON or OFF.)
6. In the Digital Input Panel under Channels, click on a channel to select it and display the logical state of its input lines.
Output set test
The output set test checks whether logic levels measured at all output pins agree with output bit patterns set by software, using a DriverLINX graphical interface (AIO Panel).
NOTE This test is performed without user circuits being connected to the outputs.
Perform the output set test as follows:
Digital Output Panel
Output Bits
76543210
55
1. Ready the following equipment:
A digital voltmeter (DVM) or a digital multimeter (DMM) set to measure voltages, or a logic probe capable of reading TTL logic levels.
A suitable accessory and cable for the board being tested.
2. Turn OFF the host computer.
3. Connect the cable and accessory to your board.
4. Turn ON the host computer and boot Windows 95/98/NT.
5. Click the Windows 95/98/NT Start tab.
4-8 Configuring DriverLINX
6. Start the AIO Panel as follows:
a. In the
b. Find the
the
c. Click on the
similar to the example in Figure 4-5. (If you have other DriverLINX devices installed in addition to the digital input/output card you are test­ing, they will also be listed. In that case, select the desired digital I/O card and the proper device number before proceeding.)
Figure 4-5
An AIO Panel example
Start menu, click Programs .
DriverLINX Test Panels folder, under which you should find
AIO Panel entry.
AIO Panel entry. The Analog I/O Panel should appear,
7. On the AIO Panel, click the DIO tab.
NOTE To read an input-channel bit, use the Digital Input Panel. First, select the
channel number to be checked by clicking the appropriate square under Channels. Then, read the numbered bit under Input Bits. OFF input bits appear as black dots and ON input bits appear as green dots. (When the manual is printed in black and white, OFF input bits appear as black dots and ON input bits appear as light gray dots.) Further information about this panel, how to make changes, and how to interpret displays, is given in “I/O Bit Tests” of this section.
8. Under Digital I/O Configuration Panel, configure the output channels to be
tested as shown in Figure 4-6. (Actual output channels available will vary according to your hardware.)
Figure 4-6
Configuring the digital I/O channels as inputs and outputs
Configuring DriverLINX 4-9
KEITHLEY
Channel Configuration
123456789101112131415
0
Input
Output
NOTE In Figure 4-6 and subsequent drawings of digital I/O controller panels, the
squares below invalid channels are colored black instead of dark gray—for clarity when the manual is printed in black and white.
9. In the Digital Output Panel under Channels, click on an output channel (channel 0 in this example) as shown in Figure 4-7.
Figure 4-7
Configuring channel 0 for output bit pattern A
KEITHLEY
Channels
1234567
0
8 9 10 11 12 13 14 15
Digital I/O Configuration Panel
Digital Output Panel
Output Bits
76543210
55
10. In the Digital Output Panel under Output Bits, set the bits of channel 0 for
bit pattern A as shown in Figure 4-7.
4-10 Configuring DriverLINX
11. Measure the voltage between signal ground and each bit of the output port with a DMM or DVM. Make measurements at the cabled mating connector of your accessory.
12. Each bit set to ON in the corresponding I/O terminal, reading typically about 4 volts (minimum of 2.2 volts) at a DMM/DVM. Each bit set to OFF in the logic-low signal at the corresponding I/O terminal, reading typically about 0 volts (maximum of 0.8 volts) at a DMM/DVM. Do one of the following:
NOTE The typical values shown are valid for boards with TTL compatible out-
puts. For boards with relay outputs (REL-16, PDISO-8, and PIO-32) the output will be a relay contact closure. For boards with open collector out­puts (PIO-HV) use a pull up resistor to an appropriate voltage to detect output state. Refer to the hardware description in this user’s guide for more details on the output’s electrical specification.
If the bit patterns set on the AIO Panel do not agree with the logic levels measured at the I/O terminals, the board is not functioning properly. Stop here, and determine why.
If the bit patterns set on the sured at the I/O terminals, then repeat steps 9, 10, and 11 for remaining output channels.
13. In the test (channel
AIO Panel should output a logic-high signal at the
AIO Panel should output a
AIO Panel agree with the logic levels mea-
Digital Output Panel under Channels , click on the output channel to
in this example) as shown in Figure 4-8.
0
Figure 4-8
Configuring channel 0 for output bit pattern B
KEITHLEY
Channels
1234567
0
8 9 10 11 12 13 14 15
14. In the
Digital Output Panel under Output Bits, set the bits of channel 0 for
bit pattern B as shown in Figure 4-8.
15. Measure the voltage between signal ground and each bit of the output port with a DMM or DVM. Make measurements at the STA-50 terminals or the cabled mating connector that is connected to the selected CONN-3160-D1 50-pin connector.
Digital Output Panel
Output Bits
76 5 432 1 0
AA
Configuring DriverLINX 4-11
16. Again, each bit set to ON in the AIO Panel should output a logic-high signal
at the corresponding I/O terminal, reading typically about 4 volts (minimum of 2.2 volts) at a DMM/DVM. Each bit set to OFF in the AIO Panel should output a logic-low signal at the corresponding I/O terminal, reading typically about 0 volts (maximum of 0.8 volts) at a DMM/DVM.
NOTE The typical values shown are valid for boards with TTL compatible out-
puts. For boards with relay outputs (REL-16, PDISO-8, and PIO-32) the output will be a relay contact closure. For boards with open collector out­puts (PIO-HV) use a pull up resistor to an appropriate voltage to detect output state. Refer to the hardware description in this user’s guide for more details on the output’s electrical specification.
If the bit patterns set on the AIO Panel do not agree with the logic levels
measured at the I/O terminals, the board is not functioning properly. Stop here, and determine why.
If the bit patterns set on the AIO Panel do agree with the logic levels
measured at the I/O terminals, and you have performed an output set test for all ports, the board is functioning properly.
17. Repeat steps 13, 14, and 15 for additional output channels.
Input read test
A similar test of input circuitry can be performed by applying an input signal of suitable type to each input line and verifying that the appropriate input indicator changes state. Refer to the hardware description in this user’s guide for more details on the input’s electrical specifications.
5

Programming

5-2 Programming

General

whenever the PC Bus RESET line is asserted, all ports are initially set up in the Input Mode.
set by the Control Register. The PC Port can also be used as a byte-wide port, or it can be split into two ports of four bits (nibble wide). The PC0-3 Lines are known as PC- Lower, and the PC4-7 Lines as PC-Upper. Directions of the PC Upper and Lower ports are independently programmable. Detailed port descriptions are as follows:
The PIO-24 emulates the Intel 8255 PPI Control Word Mode 0. On power up or
The PA and PB Ports are byte-wide, and the direction of all lines within a port is
Port A — Consists of one 8-bit data output latch/buffer and one 8-bit data input latch.
Port B — Consists of one 8-bit data output latch/buffer and one 8-bit data input buffer.
Port C — Consists of one 8-bit data output latch/buffer and one 8-bit data input buffer. This port can be divided into two 4-bit ports under the Mode Control.

Control Byte

At power-up or after a system reset, all PIO-24 lines are configured as inputs. The Control Byte is an 8-bit (byte) hexadecimal number used to configure the direction of the PIO-24 ports: PA, PB, PC (lines 0-3) and PC (4-7). The controlling PIO-24 soft­ware program must output the Control Byte to the PIO-24 to change the directions (input or output) of the ports. It is important to note that there is one byte to control four ports and that when a port is initialized as an output port its lines are in a reset state. The Control Byte is output to the PIO-24 address location at base address+3.
Programming 5-3
To simplify your selection of a Control Byte to match your choice of port direc­tions, use Table 5-1. This chart summarizes information from the Intel Peripheral Data book on control words and their port directions for Mode 0.
Table 5-1
Mode 0 control words and port directions
Port C
Control Byte Port A Port B
80h 81h 82h 83h 88h 89h 8Ah 8Bh
90h 91h 92h 93h 98h 99h 9Ah 9Bh
When a port is programmed as an output, you can return the data that is present on the output lines by reading the same location. Note that this reflects the actual state of the output lines: if one or more is shorted, you are actually reading back the state of the output lines.
Out Out Out Out Out Out Out Out
In In In In In In In In
Out Out In In Out Out In In
Out Out In In Out Out In In
(0 - 3)
Out In Out In Out In Out In
Out In Out In Out In Out In
Port C (4 - 7)
Out Out Out Out In In In In
Out Out Out Out In In In In

Selecting an application programming interface

The PIO Series supports two different device driver interfaces to best match your programming needs. The supported driver interfaces are:
DriverLINX — An interface that is hardware and operating system indepen-
dent and supports multi-tasking, multi-threading applications.
Direct I/O — An interface that is operating system independent and supports
single-tasking, single-threaded access to an Intel 8255-like function call interface.
5-4 Programming
DriverLINX interface
interface be used. The DriverLINX interface has the following advantages:
For maximum portability and versatility, it is recommended that the DriverLINX
Hardware independence — DriverLINX supports ISA, PCMCIA, and PCI
digital I/O boards with a common interface as well as digital ports on analog I/O and counter/timer boards.
Operating system independence — DriverLINX supports Windows 95/98
and Windows NT with a common interface.
Shared hardware access — DriverLINX allows multiple processes or
threads to cooperatively share hardware resources.
Multi-tasking, multi-threading support — DriverLINX provides the syn-
chronization and coordination for multi-tasking, multi-threading applications to safely access shared hardware resources.
Portability — DriverLINX supports older and newer hardware with a
common interface for 16- and 32-bit applications on Windows 95/98 and Windows NT.
Versatility — DriverLINX supports a wide variety of programming styles
and languages including C/C++, Visual Basic, Delphi, and LabVIEW.
Background I/O — DriverLINX supports background I/O using interrupts or
other techniques so your application can overlap processing and data acquisition.
Full hardware support — DriverLINX supports all the hardware’s features.
The DriverLINX interface has a few disadvantages compared to the alternative
interfaces:
Software modifications — Existing applications will require rewriting to use
DriverLINX.
No direct hardware access — Before Windows NT, Microsoft discouraged,
but nevertheless allowed, direct application program access to hardware.
Speed of single-value I/O — Applications, especially those ported from
DOS, that depend on rapid software polling of I/O ports will notice that the operating system time cost for multi-tasking, multithreading synchronization is higher than direct hardware access.
While writing your application to use a multi-product (portable application pro­gramming interface is the best long-term solution) you should consider the alternative API only for special purpose or short-term needs.
Direct I/O application programming interface
The Direct I/O interface uses the methods of an ActiveX Automation object to
access the PIO hardware. This interface has the following advantages:
Operating system independence — Both Windows 95/98 and Windows NT
support this interface.
Intel 8255 emulation — This interface uses the I/O address map and pro-
gramming protocols of Intel’s 8255 chip.
Fast hardware access — This interface provides the fastest access to the
hardware registers of the two interfaces.
Versatility — Most Windows compilers and scripting languages support
ActiveX Automation objects.
Native hardware register access — For special-purpose applications, this
interface also supports product-specific access to the hardware registers.
Speed of single-value I/O — The I/O performance of this interface is the
fastest of the two interfaces when using early binding to the interface.
The Direct I/O interface also has disadvantages:
Incompatible with DriverLINX — Applications cannot use this interface
with DriverLINX for the PIO Series either in the same or another application.
32-bit only interface — 16-bit applications cannot use this interface.
Non-exclusive hardware access — This interface does not synchronize or
coordinate hardware access among threads or processes.
8-bit I/O only — The Intel 8255-based methods only support 8-bit hardware
access.
Supports subset of hardware features — This interface does not support
using interrupts.
ActiveX Interface — Using Automation objects in some C++ compilers is
more difficult than in Visual Basic.
Programming 5-5
Installing the Direct I/O Driver
The normal DriverLINX installation automatically installs the Direct I/O Driver.
This driver is a registered ActiveX object that resides in KISAPIO.DLL.
This driver requires that you install the DriverLINX kernel drivers as it uses their services. On Windows NT, the kernel driver is KMBPIO.SYS. On Windows 95/98, it is KMBPIO.VXD. Follow the normal DriverLINX installation and configuration pro­cedures to install these kernel drivers.
5-6 Programming
Configuring the Direct I/O Driver
using the DriverLINX Configuration Panel utility. The Direct I/O driver does not require any separate configuration.
Programming the Direct I/O Interface
This control is compatible with Microsoft Visual C++ and Visual Basic as well as other ActiveX-hosting languages.
8255 chip. Consult an Intel hardware manual or DriverLINX manual for information on programming the 8255 chip.
IISAPIO Intel 8255 interface
Object Browser to see the VB syntax (see the next subsection, Using the Direct I/O Driver in Visual Basic).
The Direct I/O Driver requires that you configure a DriverLINX Logical Device
The Direct I/O Interface is an ActiveX Automation object hosting one interface.
The methods of the control’s interface, ISAPIO, access the 8-bit ports of an Intel
The following syntax descriptions are shown in C/C++. For Visual Basic, use the
HRESULT Open Device(long Device);
Opens a PIO device Device is the DriverLINX Logical Device number of the PIO board to open.
HRESULT CloseDevice();
Closes a previously opened PIO device. The number of CloseDevice calls must match the number of OpenDevice calls.
HRESULT Read(short Offset, unsigned char * Result);
Reads an 8-bit value from the PIO board. Offset is the value of the register to read relative to the base I/O address. Result is the value read from the register.
HRESULT Write(short Offset, unsigned char Value);
Writes an 8-bit value to the PIO board. Offset is the value of the register to write relative to the base I/O address. Value is the output to write to the register.
HRESULT OpenCount(long *Count);
Returns the number of times a client has called OpenDevice for this Logical Device. Count is the address of the value for the result.
HRESULT Device(long *LogicalDevice);
Returns the Logical Device number if the device is open. Otherwise it returns
-1. LogicalDevice is the address of the value for the result.
Programming 5-7
Using the Direct I/O Driver in Visual Basic
The following instructions are for Version 5 of Microsoft Visual Basic. If you have a different version, consult the Visual Basic documentation.
1. From VB’s P
2. Scroll through the A I/O Library.
3. Check Keithley ISA PIO Direct I/O Library and then click OK.
4. From VB’s V
5. Search for KISAPIOLib.
6. The Object Browser shows the VB syntax for the KISAPIO class.
roject menu, select References....
vailable References, looking for Keithley ISA PIO Direct
iew menu, select Object Browser to display a list of libraries.
Creating a simple Visual Basic application
1. Create a Visual Basic form.
2. Add the following source code to declare, open, close, read, and write a PIO device:
Option Explicit Dim PIO As New KISAPIO Private Sub Close_Click() PIO.CloseDevice End Sub Private Sub btOpen_Click() PIO.OpenDevice (Val(tbDevice)) End Sub Private Sub btRead_Click() tbValue=Hex(PIO.Read(Val(tbAddr))) End Sub Private Sub btWrite_Click_() Dim v As Byte v=Val(tbValue) PIO.Write Val(tbAddr), v End Sub
6

Troubleshooting

6-2 Troubleshooting

General

If your PIO-24 board is not operating properly, use the information in this chapter to isolate the problem. If the problem appears serious enough to warrant technical support, refer to Technical support on page 6-6 for information on how to contact an applications engineer.
Using the DriverLINX Event Viewer
The DriverLINX Event Viewer displays the Windows system event log. Applica­tions and hardware drivers make entries in the system event log to assist in predicting and troubleshooting hardware and software problems.
DriverLINX uses the event log to report problems during driver loading or unex­pected system errors. The event log can assist in troubleshooting resource conflicts and DriverLINX configuration errors. If you are having trouble configuring or initial­izing a Logical Device, check the event log for information from the DriverLINX driver.
Using the DriverLINX Event Viewer, you can view, save and e-mail DriverLINX event log entries under Windows 95/98 or Windows NT. DriverLINX event log entries can help you or technical support troubleshoot data-acquisition hardware and software problems.
Device initialization error messages
During device initialization, DriverLINX performs a thorough test of all possible subsystems on PIO-24 boards as well as the computer interface. If DriverLINX detects any problems or unexpected responses, it reports an error message to help isolate the problem. The device initialization error messages fall into three basic categories:
“Device not found” — Board address does not match hardware setting or
conflicts with another board. Verify the board’s address settings. Also, do not confuse hexadecimal with decimal addresses in the DriverLINX Device Configure dialog box.
“Invalid IRQ level” or “Invalid DMA level” — Selected level does not
match hardware setting, conflicts with another board’s IRQ/DMA levels, or is dedicated to the computer’s internal functions (COM port, disk drive controller, network adapter, etc.)
“Hardware does not match configuration” — Operating mode/range switch
or jumper setting does not match selection(s) made in the DriverLINX Device Configuration dialog box.

Problem isolation

If you encounter a problem with a PIO-24 board, use the instructions in this sec-
tion to isolate the cause of the problem before calling Keithley for technical support.
If your board is not operating properly after using the information in Table 6-1,
continue with the next two sections to further isolate the problem.
Table 6-1
Troubleshooting information
Symptom Possible Cause Possible Solution
Board does not respond
Intermittent operation
Base address is incorrect or not consistent with what the pro­gram is addressing.
The interrupt level is incorrect or not consistent with what the program is addressing.
The board configuration is incorrect.
The board is incorrectly aligned in the accessory slot.
The board is damaged. Contact the Keithley Applications
The most common cause of this problem is that the I/O bus speed is in excess of 8 MHz.
Vibrations or loose connec­tions exist.
The board is overheating. Check environmental and ambient
Electrical noise exists. Provide better shielding or reroute
Troubleshooting 6-3
Check the base-address switch setting on the board against the setting shown in the DriverLINX configuration. If the base address is set correctly, make sure no other computer device is using any of the I/O locations beginning at the specified base address. If necessary, reconfigure the base address.
Make sure no other computer device is using the interrupt level specified in your program. If necessary, reset the interrupt level.
Check the remaining settings in the DriverLINX configuration.
Check the board for proper seating.
Engineering Department.
Reduce the I/O bus speed to a maxi­mum of 8 MHz (to change the I/O bus speed, run BIOS setup). See your computer documentation for instructions on running BIOS setup.
Cushion source of vibration and tighten connections.
temperature. See the documenta­tion for your computer.
unshielded wiring.
6-4 Troubleshooting
Table 6-1 (cont.)
Troubleshooting information
Symptom Possible Cause Possible Solution
Data appears to be invalid
Computer does not boot.
System lockup
The most common cause of this problem is that the I/O bus speed is in excess of 8 MHz.
Reduce the I/O bus speed to a maxi­mum of 8 MHz (to change the I/O bus speed, run BIOS setup). See your computer documentation for instructions on running BIOS setup.
An open connection exists. Check wiring to screw terminal.
Another system resource is using the specified base address.
Reconfigure the base address of the PIO-24 board. Check the I/O assignments of other system resources and reconfigure, if necessary.
Board not seated properly. Check the installation of the board.
The base address setting of the PIO-24 board conflicts with that of another system resource.
The power supply of the host computer is too small to handle all the system resources.
Check the base address settings of your system resources; each address must be unique.
Check the needs of all system resources and obtain a larger power supply.
A timing error occurred. Restart your computer.

Testing the board and host computer

To isolate the problem to the PIO-24 board or to the host computer, use the follow-
ing steps:
CAUTION Removing a board with the power ON can cause damage to your
board and/or computer.
1. Turn the power to the host computer OFF, and remove power connections to the computer.
2. While keeping connections to accessories intact, unplug the cable to the main I/O connector of the PIO-24 board.
3. Remove the board from the computer and visually check for damage. If a board is obviously damaged, refer to Technical support on page 6-6 for infor- mation on returning the board.
4. With the PIO-24 board out of the computer, check the computer for proper operation. Power up the computer and perform any necessary diagnostics.
At this point, if you have another PIO-24 board that you know is functional, you can test the slot and I/O connections using the instructions in the next section. If you do not have another board, refer to the instructions on page 6 before calling Keithley Instruments for technical support.
Troubleshooting 6-5

Testing the accessory slot and I/O connections

When you are sure that the computer is operating properly, test the computer accessory slot and I/O connections using another PIO-24 board that you know is functional. To test the computer accessory slot and the I/O connections, follow these steps:
1. Remove computer power again, and install a PIO-24 board that you know is functional. Do not make any I/O connections.
2. Turn computer power ON and check operation with the functional board in place. This test checks the computer accessory slot. If you were using more than one board when the problem occurred, use the functional board to test the other slot, as well.
3. If the accessory slots are functional, use the functional board to check the I/O connections. Reconnect and check the operation of the I/O connections, one at a time.
4. If operation fails for an I/O connection, check the individual inputs one at a time for shorts and opens.
5. If operation remains normal to this point, the problem is in the PIO-24 board(s) originally in the computer. If you were using more than one board, try each board one at a time in the computer to determine which is faulty.
6. If you cannot isolate the problem, refer to the next section for instructions on obtaining assistance.
6-6 Troubleshooting

Technical support

Before returning any equipment for repair, call Keithley for technical support at:
Monday - Friday, 8:00 a.m. - 5:00 p.m., Eastern Time
An applications engineer will help you diagnose and resolve your problem over the telephone. Please make sure that you have the following information available before you call:
PIO-24 board configuration Model
Computer Manufacturer
Operating system Windows version
Software package Name
Compiler (if applicable) Language
1-888-KEITHLEY
Serial number
Revision code
Base address setting
Interrupt level setting
Number of channels
Output signal (V or I)
Mode (uni. or bip.)
Output span
Number SSH-8 boards
Number EXP boards
CPU type
Clock speed (MHz)
KB of RAM
Video system
BIOS type
Windows mode
Serial number
Version
Invoice/Order number
Manufacturer
Version
Troubleshooting 6-7
Accessories Type
Type
Type
Type
Type
Type
Type
Type
Type
If a telephone resolution is not possible, the applications engineer will issue you a Return Material Authorization (RMA) number and ask you to return the equipment. Include the RMA number with any documentation regarding the equipment.
When returning equipment for repair, include the following information:
Your name, address, and telephone number.
The invoice or order number and date of equipment purchase.
A description of the problem or its symptoms.
The RMA number on the
Repackage the equipment, using the original anti-static wrapping, if possible, and handle it with ground protection. Ship the equipment to:
NOTE If you are submitting your equipment for repair under warranty, you must
include the invoice number and date of purchase.
To enable Keithley to respond as quickly as possible, you must include the RMA number on the outside of the package.
outside of the package.
ATTN.: RMA# _______ Repair Department Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139
Telephone 1-888-KEITHLEY FAX (440) 248-6168

Index

A
Acrobat
for DriverLINX installation 2-5
address
configuration in DriverLINX 4-2
analog output range
configuration in DriverlINX 4-3
B
base address
set before configuration 2-7
browser map
DriverLINX installation 2-6
C
cache
disabling for software installation 2-5
CD ROM
DriverLINX installation 2-6
compiler
required for supporting Windows development 1-2
computer
needed for PIO-24 and DriverLINX 1-2
computer resources
determination for installation 2-5
configuration
using DriverLINX 2-7
counter/timer
configuration in DriverLINX 4-3
E
error messages
device initialization 6-2
event log
used to detect errors 6-2
event viewer
in DriverLINX 6-2
I
I/O bit tests 4-4
General information 4-4 Input read test 4-11 Output set test 4-7
interfaces
installing for applications 2-6
interrupt level
set before configuration 2-7
L
Learn DriverLINX
description 1-3 using for configuration 4-2
logical device
configuration in DriverLINX 4-2
M
manuals
DriverLINX 2-6
memory
requirement for computer 1-2
Microsoft Windows
versions supported 1-2
P
Product change notice 1-4
D
device
menu in DriverLINX 4-2
DriverLINX
API DLLs
description 1-3 configuration with 2-7 event viewer 6-2 installing and configuring 2-5 using to verify board operation 4-3
drivers
installing for applications 2-6
R
RMA
obtaining for material return
S
shipping instructions
for returning material 6-7
switches
setting prior to installation 2-5
6-7
T
technical support
instructions for using 6-6
V
verify
board operation
using DriverLINX 4-3
Specifications are subject to change without notice. All Keithley trademarks and trade names are the property of Keithley Instruments, Inc. All other trademarks and
trade names are the property of their respective companies.
Keithley Instruments, Inc. 28775 Aurora Road • Cleveland, Ohio 44139 • 440-248-0400 • Fax: 440-248-6168
1-888-KEITHLEY (534-8453) • www.keithley.com
Sales Offices: BELGIUM: Bergensesteenweg 709 • B-1600 Sint-Pieters-Leeuw • 02-363 00 40 • Fax: 02/363 00 64
CHINA:
Yuan Chen Xin Building, Room 705 • 12 Yumin Road, Dewai, Madian • Beijing 100029 • 8610-6202-2886 • Fax: 8610-6202-2892
FINLAND: Tietäjäntie 2 • 02130 Espoo • Phone: 09-54 75 08 10 • Fax: 09-25 10 51 00 FRANCE: 3, allée des Garays • 91127 Palaiseau Cédex • 01-64 53 20 20 • Fax: 01-60 11 77 26 GERMANY: Landsberger Strasse 65 • 82110 Germering • 089/84 93 07-40 • Fax: 089/84 93 07-34 GREAT BRITAIN: Unit 2 Commerce Park, Brunel Road • Theale • Berkshire RG7 4AB • 0118 929 7500 • Fax: 0118 929 7519 INDIA: Flat 2B, Willocrissa • 14, Rest House Crescent • Bangalore 560 001 • 91-80-509-1320/21 • Fax: 91-80-509-1322 ITALY: Viale San Gimignano, 38 • 20146 Milano • 02-48 39 16 01 • Fax: 02-48 30 22 74 JAPAN:
New Pier Takeshiba North Tower 13F • 11-1, Kaigan 1-chome • Minato-ku, Tokyo 105-0022 • 81-3-5733-7555 • Fax: 81-3-5733-7556
KOREA: 2FL., URI Building • 2-14 Yangjae-Dong • Seocho-Gu, Seoul 137-888 • 82-2-574-7778 • Fax: 82-2-574-7838 NETHERLANDS: Postbus 559 • 4200 AN Gorinchem • 0183-635333 • Fax: 0183-630821 SWEDEN: c/o Regus Business Centre • Frosundaviks Allé 15, 4tr • 169 70 Solna • 08-509 04 679 • Fax: 08-655 26 10 SWITZERLAND: Kriesbachstrasse 4 • 8600 Dübendorf • 01-821 94 44 • Fax: 01-820 30 81 TAIWAN: 1FL., 85 Po Ai Street • Hsinchu, Taiwan, R.O.C. • 886-3-572-9077• Fax: 886-3-572-9031
© Copyright 2001 Keithley Instruments, Inc.
Printed in the U.S.A.
4/02
Loading...