ICPDAS PCI-FC16U User Manual

Page 1
PCI-FC16U Series Board
User Manual
16-ch Counter/Frequency Board with 32-ch Programmable DIO
Version 1.2, Apr. 2017
This manual relates to the following boards: PCI-FC16U.
WARRANTY
All products manufactured by ICP DAS are warranted against defective materials
for a period of one year from the date of delivery to the original purchaser.
WARNING
ICP DAS assumes no liability for damages consequent to the use of this product.
ICP DAS reserves the right to change this manual at any time without notice. The
information furnished by ICP DAS is believed to be accurate and reliable. However,
no responsibility is assumed by ICP DAS for its use, nor for any infringements of
patents or other rights of third parties resulting from its use.
COPYRIGHT
Copyright © 2017 by ICP DAS. All rights are reserved.
TRADEMARKS
Names are used for identification purposes only and may be registered
trademarks of their respective companies.
CONTACT US
If you have any questions, feel to contact us by email at: service@icpdas.com or service.icpdas@gmail.com
We will respond to you within 2 working days.
Page 2
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 2
TABLE OF CONTENTS
PACKING LIST ................................................................................................................................................................ 4
1. INTRODUCTION ................................................................................................................................................. 5
1.1 OVERVIEW ............................................................................................................................................................ 5
1.2 FEATURES .............................................................................................................................................................. 6
1.3 APPLICATIONS ........................................................................................................................................................ 6
1.4 SPECIFICATIONS ...................................................................................................................................................... 7
2 HARDWARE CONFIGURATION ............................................................................................................................ 9
2.1 BOARD LAYOUT ...................................................................................................................................................... 9
2.2 JUMPER SETTINGS ................................................................................................................................................. 10
2.2.1 JP1: Digital I/O Mode .................................................................................................................................. 10
2.2.2 JP3: Digital Input Pull-high/low ................................................................................................................... 11
2.3 CARD ID SWITCH (SW1) ....................................................................................................................................... 12
2.4 SYSTEM BLOCK DIAGRAM ....................................................................................................................................... 13
2.5 PIN ASSIGNMENTS ................................................................................................................................................ 14
3 HARDWARE INSTALLATION ............................................................................................................................... 15
4 SOFTWARE INSTALLATION ................................................................................................................................ 19
4.1 OBTAINING/INSTALLING THE DRIVER INSTALLER PACKAGE ........................................................................................ 19
4.2 PLUG AND PLAY DRIVER INSTALLATION ...................................................................................................................... 21
4.3 VERIFYING THE INSTALLATION .................................................................................................................................. 23
4.3.1 Accessing Windows Device Manager .......................................................................................................... 23
4.3.2 Check the Installation .................................................................................................................................. 26
5 TESTING THE PCI-FC16U BOARD ......................................................................................................................... 27
5.1 SELF-TEST WIRING ................................................................................................................................................ 27
5.2 EXECUTE THE TEST PROGRAM ................................................................................................................................. 28
6 I/O REGISTER ADDRESSES ................................................................................................................................... 30
6.1 HARDWARE ID ..................................................................................................................................................... 30
6.2 I/O ADDRESS MAPPING ......................................................................................................................................... 31
6.3 BAR 1: DIGITAL I/O REGISTERS ................................................................................................................................ 32
6.3.1 Read/Write 16-bit Data for Port A/B ........................................................................................................... 32
6.3.2 Input/Output Selection Control ................................................................................................................... 32
6.3.3 Read Card ID and DIO Jumper Settings ....................................................................................................... 33
Page 3
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 3
6.4 BAR 2 AND BAR3: TIMER REGISTERS ........................................................................................................................ 34
6.4.1 Get/Set Channel Mode ................................................................................................................................ 34
6.4.2 Get/Set Speed Mode ................................................................................................................................... 34
6.4.3 Write/Read Data ......................................................................................................................................... 35
7 DOS LIB FUNCTION DESCRIPTION ....................................................................................................................... 36
7.1 ERROR CODE TABLE ............................................................................................................................................... 37
7.2 DRIVER FUNCTION ................................................................................................................................................ 38
PCIFC16_DriverInit ..................................................................................................................................................... 38
PCIFC16_DriverClose ................................................................................................................................................. 38
PCIFC16_GetConfigAddressSpace .............................................................................................................................. 39
7.3 DIGITAL I/O FUNCTION .......................................................................................................................................... 41
PCIFC16_SetDIOMode32 ........................................................................................................................................... 41
PCIFC16_WriteDO ...................................................................................................................................................... 42
PCIFC16_ReadDI ........................................................................................................................................................ 43
7.4 COUNTER/FREQUENCY FUNCTION............................................................................................................................ 44
PCIFC16_SetChannelMode ........................................................................................................................................ 44
PCIFC16_ReadFrequency ........................................................................................................................................... 45
PCIFC16_ReadCounter ............................................................................................................................................... 46
APPENDIX: DAUGHTER BOARDS .................................................................................................................................. 47
DB-37 .............................................................................................................................................................................. 47
DN-37 ............................................................................................................................................................................. 47
DB-16P ISOLATED INPUT BOARD ........................................................................................................................................... 48
DB-16R RELAY BOARD ........................................................................................................................................................ 49
Page 4
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 4
Packing List
The shipping package should contain the following items:
One PCI-FC16U Series Board
One printed Quick Start Guide
One Software Utility CD
One CA-4002 D-Sub Connector
Note:
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 need to ship or store the product in the future.
Page 5
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 5
1. Introduction
The PCI-FC16U User Manual contains information about using the ICP DAS PCI-FC16U Series
multifunction board with UniDAQ. PCI-FC16U board feature up to 16 Counter/Frequency channels
and 32 Programmable Digital Input/Output channels. This chapter provides basic information you
need to get started using your PCI-FC16U board.
1.1 Overview
The PCI-FC16U is a 32-bit hardware-type high-speed Counter/Frequency board that supports both
the 3.3 V and the 5 V Universal PCI bus. The card provides 16 channels that can be individually
configured for either frequency measurement or up-counter applications, and can support
high-frequency signals up to 250 kHz. The PCI-FC16U board also includes 32 programmable Digital
I/O channels.
The PCI-FC16U board includes an onboard Card ID switch that enables the board to be easily
recognized via software if two or more boards are installed in the same computer. The
pull-high/pull-low resistors allow the DI status to be predefined as either high or low instead of
remaining floating if the DI channels are disconnected or interrupted.
The PCI-FC16U board supports a variety of operating systems, such as Linux, DOS, 32/64-bit
Windows XP/2003/2008/7/8 and Windows 10. ICP DAS also provides a DLL and Active X control for
the PCI-FC16U, together with sample programs in various languages, including Turbo C++, Borland
C++, Visual C++, Borland Delphi, Borland C++ Builder, V isual Basic, C#.NET, Visual Basic.NET and
LabVIEW, enabling help users to quickly and easily develop their custom applications.
Page 6
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 6
1.2 Features
The following is an overview of the general features provided by the PCI-FC16U board. Refer to
Section 1.3 for more details.
Universal PCI Interface supports both the 5 V and the 3.3 V PCI bus Supports Card ID (SMD Switch) 16-channel Up Counter or Frequency Measurement.
(Pulse Width = 2 μs Min.)
Digital Filter: 1 ~ 32767 (μs) 32 Programmable Digital I/O Channels Pull-high and Pull-low Resistors for DI Channels +/- 2 kV ESD Protection for each channels
1.3 Applications
Counter Measurement Frequency Measurement
Page 7
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 7
1.4 Specifications
The following is an overview of the specifications for the various models in the PCI-FC16U
Model
PCI-FC16U
Counter/Frequency
Mode
Counter &
Frequency
16-ch Up Counter
16-ch Frequency
Digital Noise Filter
1 ~ 32767 μs
Isolated
Input Level
ON Voltage Level
+4.5 VDC ~ +30 VDC
OFF Voltage Level
+1 VDC Max.
Min. Pulse Width
2 μs
Input Frequency
1 Hz ~ (typically ) 250 kHz (both counter mode and frequency
mode)
where 250 kHz is calculated as followings:
Supposed that duty cycle = 50%, refer to Minimum Pulse Duration
of High Level, we have pulse period = 2 μs x 2 = 4 μs, which is 250
kHz as a max.
Max. Frequency:
Refer to Min. Pulse Duration of High Level, Max. Frequency is
highly affected by duty cycle.
Frequency Accuracy = ± 0.4 %
EEPROM
128 KB
Isolated Voltage
2500 VDC
ESD Protection
2 kV (Contact for each channel)
Programmable I/O
Channels
32
Digital Input
Compatibility
5 V/TTL
Input Voltage
Logic 0: 0.8 V (Max.)
Logic 1: 2.0 V (Min.)
Pull-high/low
Yes
Response Speed
1.0 MHz (Typical)
Page 8
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 8
Model
PCI-FC16U
Digital Output
Compatibility
5 V/TTL
Output Voltage
Logic 0: 0.4 V (Max.)
Logic 1: 2.4 V (Min.)
Output Capability
Sink: 2.4 @ 0.8 V
Source: 0.8 @ 2.0 V
Response Speed
1.0 MHz (Typical)
General
Bus Type
3.3 V/ 5 V Universal PCI, 32-bit, 33 MHz
Data Bus
16it
Card ID
Yes (4-bit)
I/O Connector
Female DB37 x 1
20-pin box header x 2
Dimensions (L x W x D)
170 mm x 88 mm x 22 mm
Power Consumption
700 mA @ 5 V Max.
Operating Temperature
0 ~ 60 °C
Storage Temperature
-20 ~ 70 °C
Humidity
5 ~ 85% RH, Non-condensing
Page 9
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 9
2 Hardware Configuration
2.1 Board Layout
The following is an overview of the board layout for each of the PCI-FC16U board.
PA
PB
CON1
CON
3
CON2
PCI
-
FC
16
U
SW1
1 2 3 4
JP
3
GND
VCC
JP1
HW PA DI PB DI
SW
x x
DO DO
x x
JP1
DIO-S0
DIO-S1 DIO-S2
CON1
The terminal for PB. Refer to Section 2.5 Pin Assignments
CON2
The terminal for PA. Refer to Section 2.5 Pin Assignments
CON3
The terminal for Counter/Frequency. Refer to Section 2.5 Pin Assignments
JP1
Digital Input/Output Mode Settings. Refer to Section 2.2.1 “JP1 (Digital I/O Mode)
JP3
Digital Input Pull-high/low Settings. Refer to Section 2.2.2 JP3 (DI Pull-high/low)
SW1
DIP Switch used to configure the Board ID. Refer to Section 2.3 Card ID Switch
(SW1)
Page 10
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 10
2.2 Jumper Settings
2.2.1 JP1: Digital I/O Mode
Jumper JP1 is used to configure the Digital I/O direction mode as either Software Programmable
(short pins 2 and 3) or Jumper Selectable (short pins 1 and 2). The default setting is Jumper
Selectable Mode.
JP1
Jumper Selectable
(Default)
Software Programmable
DIO-S0
1
HW
32
SW
1
SW
32
HW
Software Programmable Mode:
Refer to Section 6.3 Bar1: Digital I/O Registers for details of how to configure Port A (PA) and Port
B (PB) when the DIO-S0 jumper is set to Software Programmable Mode. The DIO-S1 and DIO-S2
jumpers are not used when the DIO-S0 jumper is set to Software Program Mode.
Jumper Selectable Mode:
DIO-S1 (Port A, PA) and DIO-S2 (Port B, PB) are used to configure the I/O ports as either DI (short
pins 1 and 2) or DO (Short pins 2 and 3), when the DIO-S0 Jumper is set to Jumper Selectable Mode.
The default Settings is DI.
JP1
DIO-S0 is Jumper Selectable Mode
DI
(Default)
DO
DIO-S1 (Port A)
DIO-S2 (Port B)
1
2 3
1
2 3
Page 11
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 11
2.2.2 JP3: Digital Input Pull-high/low
Jumper JP3 is used to set the Digital Input to either Pull-high or Pull-low. Shorting pins 1 and 2 will
set the Digital I/O to Pull-high. To set the Digital I/O to Pull-low, pins 2 and 3 should be shorted. The
default setting is Pull-low.
Jumper
Pull-low
(Default)
Pull-high
JP3
1 32
VCC
GND
1 32
VCC
GND
Page 12
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 12
2.3 Card ID Switch (SW1)
The PCI-FC16U includes an onboard Card ID switch (SW1) that enables the board to be recognized
via software if two or more boards are installed in the same computer. The default Card ID is 0x0.
For more details regarding the SW1 Card ID settings, refer to the table below.
NO
1 2 3 4
ID 0
ID 1
ID 2
ID 3
SW1
(Default Settings)
Card ID (Hex)
1
ID0
2
ID1 3 ID2 4 ID3
(*) 0x0
ON
ON
ON
ON
0x1
OFF
ON
ON
ON
0x2
ON
OFF
ON
ON
0x3
OFF
OFF
ON
ON
0x4
ON
ON
OFF
ON
0x5
OFF
ON
OFF
ON
0x6
ON
OFF
OFF
ON
0x7
OFF
OFF
OFF
ON
0x8
ON
ON
ON
OFF
0x9
OFF
ON
ON
OFF
0xA
ON
OFF
ON
OFF
0xB
OFF
OFF
ON
OFF
0xC
ON
ON
OFF
OFF
0xD
OFF
ON
OFF
OFF
0xE
ON
OFF
OFF
OFF
0xF
OFF
OFF
OFF
OFF
(*) Default Settings; OFF 1; ON 0
Page 13
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 13
2.4 System Block Diagram
The following is the block diagram for the PCI-FC16U:
Up/Down
Counter
Up/Down
Counter
Up Counter
CNT0-CNT7
PCI-FC16U
C0A+ C0A-
C0B+ C0B-
Up/Down
Counter
Up/Down
Counter
Up Counter
CNT8-CNT15
C7A+
C7A­C7B+
C7B-
PCI Bridge
32-ch
Programmable
DIO
32-ch Digital Input/Output
Jumper
DIO
Setting
Card ID
Page 14
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 14
2.5 Pin Assignments
Note:
1. “N.C.” is the abbreviation of “Not Connected”.
2. CON1 and CON2 are TTL Compatible.
Page 15
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 15
3 Hardware Installation
Note:
It is recommended that the driver is installed before installing the hardware as the computer may
need to be restarted once the driver is installed in certain operating systems, such as Windows 2000
or Windows XP, etc. Installing the driver first helps reduce the time required for installation and
restarting the computer.
To install the PCI-FC16U board, follow the procedure described below:
Step 1: Install the driver for the PCI-FC16U board on your computer.
For detailed information about
installing the driver, refer to Chapter
4 Software Installation.
Step 2: Configure the Card ID using the DIP Switch (SW1).
For detailed information about the Card ID, refer to Section 2.3 Card ID
Switch (SW1).
Page 16
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 16
Step 3: Shut down and switch off
the power to the computer, and
then disconnect the power
supply.
Step 4: Remove the cover from the
computer.
Step 5: Select a vacant PCI slot.
Page 17
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 17
Step 6: Unscrew and remove the PCI slot cover
from the computer case.
Step 7: Remove the connector cover from the
PCI-FC16U board.
Step 8: Carefully insert the PCI-FC16U board
into the PCI slot by gently pushing down on
both sides of the card until it slides into the
PCI connector.
Page 18
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 18
Step 9: Confirm that the card is correctly inserted in
the motherboard, and then secure the PCI-FC16U
board in place using the retaining screw that was
removed in Step 6.
Step 10: Replace the covers on the
computer.
Step 11: Re-attach any cables, insert the power cord and then switch on the power to the
computer.
Once the computer reboots, follow
any message prompts that may be
displayed to complete the Plug and
Play installation procedure. Refer
to Chapter 4 Software Installation
for more information.
Page 19
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 19
4 Software Installation
This chapter provides a detailed description of the process for installing the driver for the PCI-FC16U
board as well as how to verify whether the PCI-FC16U board was properly installed. PCI-FC16U
board can be used on DOS, Linux and 32/64-bit versions of Windows XP/2003/2008/7/8/10 based
systems, and the drivers are fully Plug and Play compliant for easy installation.
4.1 Obtaining/Installing the Driver Installer
Package
The driver installation package for PCI-FC16U board can be found on the companion CD-ROM, or
can be obtained from the ICP DAS FTP web site. Install the appropriate driver for your operating
system. The location and website addresses for the installation package are indicated below.
UniDAQ Driver/SDK
Operating
System
Windows 2000, 32/64-bit Windows XP, 32/64-bit Windows 2003, 32/64-bit Windows 7, 32/64-bit Windows 2008, 32/64-bit Windows 8
and 32/64-bit Windows 10
Driver Name
UniDAQ Driver/SDK (unidaq_win_setup_xxxx.exe)
CD-ROM
CD:\\ NAPDOS\PCI\UniDAQ\DLL\Driver\
Web site
http://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/
Installing
Procedure
To install the UniDAQ driver, follow the procedure described below.
Step 1: Double-click the UniDAQ_Win_Setupxxx.exe icon to begin the
installation process.
Step 2: When the Welcome to the ICP DAS UniDAQ Driver Setup Wizard screen
is displayed, click the Next>” button to start the installation.
Page 20
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 20
Installation
Procedure
Step 3: On the Information screen, verify that the DAQ card is included in the
list of supported devices, then click the “Next>” button.
Step 4: On the Select Destination Location screen, click the “Next>” button to
install the software in the default folder, C:\ICPDAS\UniDAQ.
Step 5: On the Select Components screen, verify that the DAQ Card is in the
list of device, and then click the “Next>” button to continue.
Step 6: On the “Select Additional Tasks” screen, click the “Next>” button to
continue.
Step 7: On the “Download Information” screen, click the Next>” button to
continue.
Step 8: Once the installation has completed, click “No, I will restart my
computer later”, and then click the Finish” button.
For more detailed information about how to install the UniDAQ driver, refer to
Section 2.2 Install UniDAQ Driver DLL” of the UniDAQ Software Manual, which
can be found in the \NAPDOS\PCI\UniDAQ\Manual\ folder on the companion
CD, or can be downloaded from:
http://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/manual/
Page 21
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 21
4.2 Plug and Play Driver Installation
Step 1: Correctly shut down and power off your
computer and disconnect the power supply, and then
install the PCI-FC16U board into the computer.
For detailed information about the hardware
installation of the PCI-FC16U board, refer to Chapter 3
Hardware Installation.
Step 2: Power on the computer and complete the Plug and Play installation.
Note: More recent operating systems, such as Windows 7/8 will automatically detect the
new hardware and install the necessary drivers etc., so Steps 3 to 5 can be skipped.
Step 3: Select “Install the software
automatically [Recommended]” and
click the “Next>” button.
Page 22
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 22
Step 4: Click the “Finish” button.
Step 5: Windows pops up “Found New Hardware” dialog box again.
Page 23
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 23
4.3 Verifying the Installation
To verify that the driver was correctly installed, use the Windows Device Manager to view and
update the device drivers installed on the computer, and to ensure that the hardware is operating
correctly. The following is a description of how access the Device Manager in each of the major
versions of Windows. Refer to the appropriate description for the specific operating system to verify
the installation.
4.3.1 Accessing Windows Device Manager
Windows 2000/XP
Step 1: Click the Start” button and then point to Settings” and click Control Panel”.
Double-click the “System” icon to open the “System Properties dialog box.
Step 2: Click the Hardware” tab and then click the “Device Manager” button.
Page 24
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 24
Windows Server 2003
Step 1: Click the Start button and point to “Administrative Tools, and then click the Computer
Management option.
Step 2: Expand the System Tools item in the console tree, and then click Device Manager”.
Windows 7
Step 1: Click the Start button, and then click Control Panel”.
Step 2: Click System and Maintenance, and then click Device Manager”.
Alternatively,
Step 1: Click the Start button.
Step 2: In the Search field, type
Device Manager and then press
Enter.
Note that Administrator privileges are required for this operation. If you are prompted for an
administrator password or confirmation, enter the password or provide confirmation by clicking the
Yes button in the User Account Control message.
Page 25
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 25
Windows 8
Step 1: To display the Start screen icon
from the desktop view, hover the mouse
cursor over the bottom-left corner of screen.
Step 2: Right-click the Start screen icon and
then click “Device Manager”.
Alternatively, press [Windows Key] +[X] to
open the Start Menu, and then select Device
Manager from the options list.
Windows 10
Step 1: Press [Windows Key] +[X] shortcut
keys together
or
right-click or press and hold on
the Start button, then select Device
Manager from the context menu.
Step 2: Select the Device Manager item:
Right-click
Right-click
Page 26
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 26
4.3.2 Check the Installation
Check that the PCI-FC16U board is correctly listed in the Device Manager, as illustrated below.
Installation successful
Page 27
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 27
5 Testing the PCI-FC16U Board
This chapter provides detailed information about the Self-Test process, which is used to confirm
that the PCI-FC16U board is operating correctly. Before beginning the Self-Test process, ensure
that both the hardware and driver installation procedures are fully completed. For detailed
information about the hardware and driver installation, refer to Chapter 3 Hardware Installation and
Chapter 4 Software Installation.
5.1 Self-Test Wiring
Before beginning the Self-Test procedure, ensure that the following items are available: A CA-2002 Cable
(Optional, Website: http://www.icpdas.com/products/Accessories/cable/cable_selection.htm)
Wiring for the Digital Input/Output Test:
Step 1: Keep set the JP1 jumper to SW position (See Section 4 Jumper Settings).
Step 2: Connect the CON1 to CON2 on the PCI-FC16U board using the CA-2002 cable (optional).
CA-2002 Cable
Page 28
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 28
5.2 Execute the Test Program
Step 1: In Windows 7, click the Start”
button, point to All Programs, and
then click the “ICPDAS” folder. Point to
UniDAQ Development Kits”and then
click the “UniDAQ Utility” to execute
the UniDAQ Utility Program.
Step 2: Confirm that the PCI-FC16U board has been
successfully installed in the Host system. Note that
the device numbers start from 0.
Step 3: Click the TEST” button to start the test.
Page 29
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 29
Step 4: Check the results of the Digital Input/Output functions test.
1. Click the Digital Output tab.
2. Select Port0 from the Port Number drop-down menu.
3. Check the checkboxes for channels 0, 2, 4 and 6.
4. Click the Digital Input tab.
5. Select Port1 from the Port Number drop-down menu.
6. The DI indicators will turn red when the corresponding DO channels 0, 2, 4 and 6 are
ON.
  
Page 30
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 30
6 I/O Register Addresses
6.1 Hardware ID
During the power-on stage, the Plug and Play BIOS will assign an appropriate I/O address to each
PCI-FC16U board installed in the system. Each card includes four fixed ID numbers that are used to
identify the card, and are indicated below:
Model
PCI-FC16U
Vendor ID (HEX)
0x10B5
Device ID (HEX)
0x3001
Sub-Vendor ID (HEX)
0x00FC
Sub-Device ID (HEX)
0x0016
Page 31
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 31
6.2 I/O Address Mapping
An overview of the registers for the PCI-FC16U board is given below. The address of each register
can be determined by simply adding the offset value to the base address of the corresponding Bar
number. More detailed descriptions of each register can be found in the following.
Bar No.
Offset
Register Function Description
Read
Write
1
(DIO)
00H
Read Digital I/O Port A
Write Digital I/O Port A
04H
Read Digital I/O Port B
Write Digital I/O Port B
0CH
Get DIO Jumper Status and Card ID
Set Port A and Port B Configuration
2
(Timer0)
20H
Read Channel Mode
Set Channel Mode
24H
Read Speed Mode
Set Speed Mode
40H
Read Counter Value (bit 0 to 7)
Select Channel
44H
Read Counter Value (bit 8 to 15)
Latch Channel
48H
Read Counter Value (bit 16 to 23)
N/A
4CH
Read Counter Value (bit 24 to 31)
Clear the Channel
3
(Timer1)
20H
Read Channel Mode
Set Channel Mode
24H
Read Speed Mode
Set Speed Mode
40H
Read Counter Value (bit 0 to 7)
Select Channel
44H
Read Counter Value (bit 8 to 15)
Latch Channel
48H
Read Counter Value (bit 16 to 23)
N/A
4CH
Read Counter Value (bit 24 to 31)
Clear the Channel
Note: The length of the register is 16-bits.
Page 32
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 32
6.3 Bar 1: Digital I/O Registers
6.3.1 Read/Write 16-bit Data for Port A/B
(Read/Write) wBaseDIO+0x00 Read/Write 16-bit Data for Port A (Read/Write) wBaseDIO+0x04 Read/Write 16-bit Data for Port B
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data
DF
DE
DD
DC
DB
DA
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
That is 16-bit I/O ports in the PCI-FC16U. This I/O port can be configured as DI or DO port. Each port
is easy to read/write by access his owns data register.
For Example:
outpw(wBaseDIO+0x0,wDoValue); // Control the DO states wDiValue = inpw(wBaseDIO+0x0); // Read the DI states
6.3.2 Input/Output Selection Control
(Write) wBaseDIO+0x0C I/O Selection Control
Bit 1 0
Data
Port B
Port A
This register provides the function for configuration Digital Input/Output port of the PCI-FC16U.
Every I/O port can be programmed as DI or DO port.
Note that all ports are used as DI ports when the PC is first turned on and S2 for jumper JP1 must set
to Soft position (See Section 2.2.1 JP1: Digital I/O Mode for detail information).
Port x = 1 This port is used as a DO port Port x = 0 This port is used as a DI port
Page 33
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 33
6.3.3 Read Card ID and DIO Jumper Settings
(Read) wBaseDIO+0x0C Read Card ID and DIO Jumper Settings
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data x x x x x S0
S1
S2 x x x x
ID3
ID2
ID1
ID0
This register reads the Card ID (SW1) and DIO jumper JP1 settings (See Section 2.3 Card ID Switch
(SW1) and Section 2.2.1 JP1: Digital I/O Mode for detail information)
For Example:
wCardID = inportb(wBaseDIO+0x0C)&0xF; // Read Card ID number
wJumper = (inportb(wBaseDIO+0xC)>>8)&0x7;
DIO Port Configuration
wJumper
S0
S1
S2
JP1-S0
Port A
Port B
0x0 0 x x SW x x
0x4 1 0 0 HW
DI
DI
0x5 1 0 1 HW
DI
DO
0x6 1 1 0 HW
DO
DI
0x7 1 1 1 HW
DO
DO
Page 34
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 34
6.4 Bar 2 and Bar3: Timer Registers
6.4.1 Get/Set Channel Mode
(Read/Write) wBaseTimer0+0x20 Get/Set channel mode (channel 0 to 7) (Read/Write) wBaseTimer1+0x20 Get/Set channel mode (channel 8 to 15)
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data x x x x x x x x
S7
S6
S5
S4
S3
S2
S1
S0
This register is used to get/set the channel configuration mode.
S x = 1 This channel is used as a frequency channel S x = 0 This channel is used as a counter channel
Data
S7
S6
S5
S4
S3
S2
S1
S0
Bar 2 (wBase Timer0)
CH7
CH6
CH5
CH4
CH3
CH2
CH1
CH0
Bar 3 (wBase Timer1)
CH15
CH14
CH13
CH12
CH11
CH10
CH8
CH8
6.4.2 Get/Set Speed Mode
(Read/Write) wBaseTimer0+0x24 Get/Set speed mode (channel 0 to 7) (Read/Write) wBaseTimer1+0x24 Get/Set speed mode (channel 8 to 15)
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data x x x x x x x x
S7
S6
S5
S4
S3
S2
S1
S0
This register is used to get/set the speed mode for frequency channel.
S x = 0 Set to low speed mode (1 Hz ~ 1 kHz) S x = 1 Set to high speed mode (1 kHz ~ 250 kHz)
Data
S7
S6
S5
S4
S3
S2
S1
S0
Bar 2 (wBase Timer0)
CH7
CH6
CH5
CH4
CH3
CH2
CH1
CH0
Bar 3 (wBase Timer1)
CH15
CH14
CH13
CH12
CH11
CH10
CH8
CH8
Page 35
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 35
6.4.3 Write/Read Data
(Write) wBaseTimer0+0x40 Select channel 0 to 7 (Write) wBaseTimer1+0x40 Select channel 8 to 15
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data x x x x X x x X
D7
D 6
D 5
D 4
D 3
D 2
D 1
D 0
(Write) wBaseTimer0+0x44 Latch channel 0 to 7 (Write) wBaseTimer1+0x44 Latch channel 8 to 15
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data x x x x x x x X
D7
D 6
D 5
D 4
D 3
D 2
D 1
D 0
(Read) wBaseTimer0+0x40/0x44/0x48/0x4C Read Data (channel 0 to 7) (Read) wBaseTimer1+0x40/0x44/0x48/0x4C Read Data (channel 8 to 15)
Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
Data x x x x x x x X
D7
D 6
D 5
D 4
D 3
D 2
D 1
D 0
This register is used to get the value for frequency/counter channel.
For Example:
outw(wBase+0x40,0x08|(wChannel%8)); //Select Channel
outw(wBase+0x44,0x00|(wChannel%8)); //Latch Channel
A = inpw(wBase+0x40); //Get the count value (bit 0 ~7)
B = inpw(wBase+0x44); //Get the count value (bit 8 ~15)
C = inpw(wBase+0x48); //Get the count value (bit 16 ~ 23)
D = inpw(wBase+0x4C); //Get the count value (bit 24 ~ 31)
Value = (D<<24)|(C<<16)|(B<<8)|A // Get the 32-bit count value
Page 36
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 36
7 DOS Lib Function Description
All of the functions provided for PCI-FC16U are listed below in Sections 7.1 to 7.4. This list of
functions is expanded on in the text that follows. However, in order to make a clear and simplified
description of the functions, the attributes of the input and output parameters for every function is
indicated as [input] and [output] respectively, as shown in following table. Furthermore, the error
code of all functions supported by PCI-FC16U is also listed in Section 7.1 Error Code Table.
Keyword
Parameter must be set by the user before
calling the function
Data/value from this parameter is
retrieved after calling the function
[Input]
Yes
No
[Output]
No
Yes
[Input, Output]
Yes
Yes
Page 37
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 37
7.1 Error Code Table
For the most errors, it is recommended to check:
1. Does the device driver installs successful?
2. Does the card have plugged?
3. Does the card conflicts with other device?
4. Close other applications to free the system resources.
5. Try to use another slot to plug the card.
6. Restart your system to try again.
The return codes are defined as follows:
Error Code
ID
Error String
0
NoError
OK! No Error!
1
DriverHandleError
Device driver opened error
2
DriverCallError
Got the error while calling the driver functions
3
FindBoardError
Can’t find the board on the system
4
TimeOut
Timeout
5
ExceedBoardNumber
Invalid board number(Valid range: 0 to TotalBoard-1)
6
NotFoundBoard
Can’t detect the board on the system
7
InvalidChannel
Invalid channel number
8
AIQueueError
Driver buffer error
9
FIFOError
Device FIFO error
10
InvalidEEPBlock
Invalid EEPROM Block
11
InvalidEEPAddr
Invalid EEPROM Address
12
InvalidCfgCode
Invalid Gain Code
Page 38
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 38
7.2 Driver Function
PCIFC16_DriverInit
This function can detect all the PCI-FC16U cards in the system. It is implemented based on the PCI
Plug and Play mechanism. It will find all the PCI-FC16U cards installed in this system and save all
their resources into the library.
Syntax:
WORD PCIFC16_DriverInit(WORD *wBoards);
Parameters:
wBoards
[Output] Number of boards found in this PC
Returns:
Refer to Section 7.1 Error Code Table.
PCIFC16_DriverClose
Release the PCI-FC16U driver resource.
Syntax:
WORD PCIFC16_DriverClose(void);
Parameters:
None
Returns:
Refer to Section 7.1 Error Code Table.
Page 39
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 39
PCIFC16_GetConfigAddressSpace
The user can use this function to save the resources found on all the PCI-FC16U Cards installed on
the system. Then the application program can control all the PCI-FC16U cards functions directly.
Syntax:
WORD PCIFC16_GetConfigAddressSpace (WORD wBoardNo,
WORD *wBaseAddr,
WORD *wBaseDIO,
WORD *wBaseTimer0,
WORD *wBaseTimer1,
WORD *wIrqNo,
WORD *wModeID,
WORD *wCardID
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wBaseAddr
[Output] The section 0 base address of the board
wBaseDIO
[Output] The section 1 base address of the board
wBaseTimer0
[Output] The section 2 base address of the board
wBaseTimer1
[Output] The section 3 base address of the board
Page 40
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 40
wIrqNo
[Output] The IRQ number that the board using
wModeID
[Output] Get the Model ID number, 0xFC16 is PCI-FC16U
wCardID
[Output] Get the Card ID number
Returns:
Refer to Section 7.1 Error Code Table.
Page 41
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 41
7.3 Digital I/O Function
PCIFC16_SetDIOMode32
Set the Digital Input/Output Port for the Port A and Port B.
Syntax:
WORD PCIFC16_SetDIOMode32(WORD wBoardNO,
WORD wDirection
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wDirection
[Input] Set the Digital Input/Output Port to DI or DO Port, as follow:
Bit 1 (Port B)
Bit 0 (Port A)
wDirection
Input
Input
0
Output
Output
1
Returns:
Refer to Section 7.1 Error Code Table.
Page 42
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 42
PCIFC16_WriteDO
Send the 16-bit data to the specified I/O port
Syntax:
WORD PCIFC16_WriteDO (WORD wBoardNO,
WORD wPortNo,
WORD wValue
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wPortNo
[Input] Port Number (Port A is 0, Port B is 1), as follow:
wPortNo
Port A
0
Port B
1
wValue
[Input] 16-bit data send to I/O port
Returns:
Refer to Section 7.1 Error Code Table.
Page 43
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 43
PCIFC16_ReadDI
Reads the 16-bit data from specified I/O port
Syntax:
WORD PCIFC16_ReadDI (WORD wBoardNO,
WORD wPortNo,
WORD *wValue
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wPortNo
[Input] Port Number (Port A is 0, Port B is 1), as follow:
wPortNo
Port A
0
Port B
1
wValue
[Output] 16-bit data, receive from I/O port
Returns:
Refer to Section 7.1 Error Code Table.
Page 44
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 44
7.4 Counter/Frequency Function
PCIFC16_SetChannelMode
This function set the channel mode for Counter/Frequency channel.
Syntax:
WORD PCIFC16_SetChannelMode (WORD wBoardNO,
WORD wChannel,
WORD wMode,
WORD wDelayMs
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wChannel
[Input] User set the channel number of Counter/Frequency, while wChannel is 0 that is first
channel, and wChannel is 1 that is second channel. And so on.
wMode
[Input] Set channel mode, as follow:
Mode
wMode
Frequency (1 Hz ~ 1 kHz)
0x02
Up Counter
0x03
Frequency (1 kHz ~ 250 kHz)
0x12
wDelayMs
[Input] The channel must have delay time on frequency modes that depend on source
frequency. The default settings is 1 ms.
Returns:
Refer to Section 7.1 Error Code Table.
Page 45
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 45
PCIFC16_ReadFrequency
This function could read frequency from signal.
Syntax:
WORD PCIFC16_ReadFrequency (WORD wBoardNO,
WORD wChannel,
WORD *fValue,
DWORD dwTimeOutMs,
WORD *wStatus
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wChannel
[Input] User set the channel number of Counter/Frequency, while wChannel is 0 that is first
channel, and wChannel is 1 that is second channel. And so on.
*fValue
[Output] Get the read Frequency data.
dwTimeOutMs
[Input] Set the timeout for Counter/Frequency. The default settings is 1 ms.
The unit is ms.
wStatus
[Output] Get the Counter/Frequency status.
Status
wStatus
Ready
0
Timeout
1
Launch
2
Returns:
Refer to Section 7.1 Error Code Table.
Page 46
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 46
PCIFC16_ReadCounter
This function could read the counter/frequency data.
Syntax:
WORD PCIFC16_ReadCounter (WORD wBoardNO,
WORD wChannel,
DWORD dwDataCount
);
Parameters:
wBoardNo
[Input] The Board number for PCI-FC16U board. (Start from 0)
wChannel
[Input] User set the channel number of Counter/Frequency, while wChannel is 0 that is first
channel, and wChannel is 1 that is second channel. And so on.
dwDataCount
[Input] Get the read Counter data.
Returns:
Refer to Section 7.1 Error Code Table.
Page 47
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 47
Appendix: Daughter Boards
DB-37
The DB-37 is a general purpose daughter board for D-sub 37 pins. It is designed for easy wire
connection via pin-to-pin.
DN-37
The DN-37 is a general purpose daughter board for DB-37 pins with DIN-Rail Mountings. They are
also designed for easy wire connection via pin-to-pin.
37-Pin
DB-37
PCI-FC16U
37-Pin
DN-37
PCI-FC16U
Page 48
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 48
DB-16P Isolated Input Board
The DB-16P is a 16-channel isolated digital input daughter board. The optically isolated inputs of the
DB-16P are consisted of are bi-directional optocoupler with resistor for current sensing. You can use
the DB-16P to sense DC signal from TTL levels up to 24 V or use the DB-16P to sense a wide range of
AC signals. You can use this board to isolate the computer from large common-mode voltage,
ground loops and transient voltage spike that often occur in industrial environments.
V+
V-
20-Pin cable
DI
PCI-FC16U
DI
AC or DC Signal 0 V~24 V
Opto-Isolated
DB-16P
R
PCI-FC16U
Page 49
16-ch Counter/Frequency Board with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 49
DB-16R Relay Board
The DB-16R, 16-channel relay output board, consists of 16 Form C relays for efficient switching of
load by programmed control. It is connector and functionally compatible with 785 series board but
with industrial type terminal block. The relay is energized by applying 5 voltage signal to the
appropriate relay channel on the 20-pin flat connector. There are 16 enunciator LEDs for each relay,
light when their associated relay is activated. To avoid overloading your PC’s power supply, this
board provides a screw terminal for external power supply.
Note: Relay controls load up to 0.5 A @ 110 VAC or 1A @ 24 VDC
PCI-FC16U
20-Pin cable
DO
DB-16R
Normally Open
Normally Closed
Com
Form C Relay
Loading...