background image

PIO-D64/PIO-

D64U User’s Manual ( Ver.1.

6, Mar. 2015, PMH-007-16 ) -----  5 

1.  Introduction 

 

The  PIO-D64U  card  is  the  new  generation  product  that  ICP  DAS  provides  to 
meet RoHS compliance requirement. The new PIO-D64U card is designed as a 
drop-in replacement for the PIO-D64, and users can replace the PIO-D64 by the 
PIO-D64U directly without software/driver modification. 
 
The  PIO-D64U  universal  PCI  card  supports  3.3  V/5  V  PCI  bus  while  the  PIO-
D64  supports  5  V  PCI  bus.  These  cards  provide  32-ch  digital  input and  32-ch 
digital  output that  consist of  two  16-bit  input  ports and  two  16-bit  output  ports. 
The PIO-D64U  and  PIO-D64 also offer 6-ch  counter/timer with  four-clock 
sources,  2  MHz,  1  MHz,  500  kHz  and  250  kHz.  The  user  can  use  the  clock 
source  from  the  soldering  pad. 3 of  the  6-ch  timer/  counter  are  for general 
purposes  such  as frequency  measurement,  event  counting  and  pulse 
generation; the other 3 channels are for interrupt function. 
 
The PIO-D64U also adds a Card ID switch and pull-high/ pull-low resisters for DI 
on-board. Users can set Card ID and recognize the board by the ID via software 
when using two or more PIO-D64U cards in one computer. The pull-high/ pull-
low  resisters  allow  the  DI  status  to  be  specified  when  the  DI  channels  are 
unconnected; the DI status may remain in high or low status other than floating. 
 
The  PIO-D64/D64U  supports  various  OS  such  as  Linux,  DOS,  Windows 
98/NT/2000  and  Windows  32/64-bit  Windows  XP/2003/Vista/7/8.  It  also 
provides the DLL and Active X control, and various language  sample program 
in Turbo C++, Borland c++, Microsoft C++, Visual C++, Borland Delphi, Borland 
C++  Builder,  Visual  Basic,  C#.NET,  Visual  Basic.NET  and  LabVIEW  to  help 
users to quickly and easily develop their applications. 

ГК

 

Атлант

 

Инжиниринг

 – 

официальный

 

представитель

 

в

 

РФ

 

и

 

СНГ

 

+7(495)109-02-08 [email protected] www.bbrc.ru 

Summary of Contents for PIO-D64

Page 1: ...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 assu...

Page 2: ...ion 17 2 7 1 Interrupt Block Diagram of PIO D64 PIO D64U 18 2 7 2 INT_CHAN_0 19 2 7 3 INT_CHAN_1 20 2 7 4 INT_CHAN_2 21 2 8 Daughter Boards 22 2 8 1 DB 16P Isolated Input Board 22 2 8 2 DB 16R Relay B...

Page 3: ...ODIO_InputByte 40 5 4 3 PIODIO_OutputWord 41 5 4 4 PIODIO_InputWord 41 5 5 Driver Relative Functions 42 5 5 1 PIODIO_GetDriverVersion 42 5 5 2 PIODIO_DriverInit 42 5 5 3 PIODIO_SearchCard 43 5 5 4 PIO...

Page 4: ...007 16 4 6 1 Digital Input Output 52 6 2 Interrupt of EXTIRQ 52 6 3 Counter Function of counter0 53 Appendix 54 Appendix A Related DOS Software 54 A 1 Where is the related software 54 A 2 DOS LIB Fun...

Page 5: ...mer counter are for general purposes such as frequency measurement event counting and pulse generation the other 3 channels are for interrupt function The PIO D64U also adds a Card ID switch and pull...

Page 6: ...ctable 32 digital output channels Four independent programmable 16 bit timers counters One 32 bit timer with a 4 MHz clock base Provide clock source 2 MHz 1 MHz 500 KHz 250 KHz Interrupt source 3 chan...

Page 7: ...urce 15 mA 2 0 V Response Speed 1 MHz Timer Counter Channels 6 Independent x 3 EVTIRQ x 1 TMRIRQ x 1 EXTIRQ x 1 Resolution 16 bit Compatibility 5 V TTL Input Frequency 10 MHz max Reference Clock Inter...

Page 8: ...er demo programs and other resources How to install the software How to test the card Attention If any of these items is missed or damaged contact the dealer from whom you purchased the product Save t...

Page 9: ...PIO D64 PIO D64U User s Manual Ver 1 6 Mar 2015 PMH 007 16 9 2 Hardware configuration 2 1 Board Layout Figure 2 1 7 495 109 02 08 sales bbrc ru www bbrc ru...

Page 10: ...s on the PIO D64 PIO D64U These I O port locations are given as below and illustrated in Figure 2 1 Connector of PIO D64 PIO D64U Description CN1 DO0 DO15 CN2 DI0 DI15 CN3 DO16 DO31 CN4 DI16 DI31 Besi...

Page 11: ...PIO D64 PIO D64U User s Manual Ver 1 6 Mar 2015 PMH 007 16 11 All signals are TTL compatible 7 495 109 02 08 sales bbrc ru www bbrc ru...

Page 12: ...tes are clear to low state by the RESET signal Fore more information about RESET signal please refer to Sec 3 1 1 Note that the RESET is in Low state in order to clear all DO states to low level signa...

Page 13: ...all DI operation is enable Note that when the PC is power up all operation of DI port is disabled because RESET is in low level Besides user may need to latch input data by external strobe single in s...

Page 14: ...gure 2 4 The pin assignment is presented in Sec 2 3 Figure 2 4 The second 8254 chip is used to generate interrupt trigger signals as shown in Figure 2 5 The Counter3 accept event signal and will gener...

Page 15: ...Manual Ver 1 6 Mar 2015 PMH 007 16 15 Figure 2 5 Note Refer to Sec 2 3 for more information about pin assignment Refer to Sec 2 7 for more information about operation of interrupt 7 495 109 02 08 sal...

Page 16: ...5 PMH 007 16 16 2 6 Clock source The PIO D64 PIO D64U provides wide range clock source as below table By jumper setting of JP1 user can select suitable clock output from the corresponding P4 soldering...

Page 17: ...e signals as follows refer to DEMO6 C of DOS operation system 1 Read the new status of all interrupt signal sources refer to Sec 3 1 5 2 Compare the new status with the old status to identify the acti...

Page 18: ...rupt the PC The priority of INT_CHAN_0 1 2 is the same If all these three signals are active at the same time then INT will be active only once a time So the interrupt service routine has to read the...

Page 19: ...terrupt signal The INT_CHAN_0 must be fixed in low level state normally and generated a high_pulse to interrupt the PC 1 The EN0 can be used to enable disable the INT_CHAN_0 as follows refer to Figure...

Page 20: ...N5 When the amount of event is the same as counter3 setting the interrupt of INT_CHAN_1 will be trigger The INT_CHAN_1 must be fixed in low level state normally and generated a high_pulse to interrupt...

Page 21: ...state normally and generated a high_pulse to interrupt the PC Because Counter4 and Counter5 are cascaded together it can be used as 32 bit timer base on 4 MHz clock source 1 The EN2 can be used to en...

Page 22: ...r with a resistor for current limiting 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...

Page 23: ...ay are energized by applying 12 V 24 V voltage signal to the appropriated relay channel on the 20 pin flat connector There are 16 enunciator LED s on the relay daughter board The LED s light when thei...

Page 24: ...e signal to the appropriate relay channel on the 20 pin flat cable connector just used 16 relays or 50 pin flat cable connector OPTO 22 compatible for DIO 24 series There are 24 enunciator LED s on th...

Page 25: ...37 No No Yes DN 37 No No Yes ADP 37 PCI No Yes Yes ADP 50 PCI No Yes No DB 24P No Yes No DB 24PD No Yes Yes DB 16P8R No Yes Yes DB 24R No Yes No DB 24RD No Yes Yes DB 24C Yes Yes Yes DB 24PR Yes Yes...

Page 26: ...D 0x0002 Sub vendor ID 0x80 Sub device ID 0x01 Sub aux ID 0x20 REV 2 0 Vendor ID 0xE159 Device ID 0x0001 Sub vendor ID 0x4080 Sub device ID 0x01 Sub aux ID 0x20 The utility program PIO_PISO EXE will d...

Page 27: ...ent sinking 80 08 00 PISO A64 64 isolated D O Current sourcing 80 08 50 PISO P64 64 isolated D I 80 08 10 PISO P32C32 32 isolated D O Current sinking 32 isolated D I 80 08 20 PISO P32A32 32 isolated D...

Page 28: ...nd the others is demonstrated as below The simplest way to identify which card is card_0 is to use wSlotBus wSlotDevice as follows 1 Remove all PIO D64 PIO D64U from this PC 2 Install one PIO D64 PIO...

Page 29: ...SO card by following steps Step1 Using the information of wSlotBus and wSlotDevice in table 3 2 Step2 Input board number into funtion PIO_GetConfigAddressSpace to get the specified card s information...

Page 30: ...se 5 INT mask control register Same wBase 7 Aux pin status register Same wBase 0x2a INT polarity control register Same wBase 0xc0 DI0 DI7 DO0 DO7 wBase 0xc4 DI8 DI15 DO8 DO15 wBase 0xc8 DI16 DI23 DO16...

Page 31: ...Control Register Read Write wBase 2 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Aux7 Aux6 Aux5 Aux4 Aux3 Aux2 Aux1 Aux0 Note Refer to Sec 3 1 for more information about wBase Aux 0 this Aux is use...

Page 32: ...interrupt signal default EN2 1 enable INT_CHAN_2 as a interrupt signal EN3 0 disable INT_CHAN_3 as a interrupt signal default EN3 1 enable INT_CHAN_3 as a interrupt signal outportb wBase 5 0 disable...

Page 33: ...Register Read Write wBase 0x2A Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 0 0 0 INV2 INV1 INV0 Note Refer to Sec 3 1 for more information about wBase INV0 1 2 0 select the invert signal from...

Page 34: ...byte first then high counter byte M2 M1 M0 000 mode0 interrupt on terminal count 001 mode1 programmable one shot 010 mode2 rate generator 011 mode3 square wave generator 100 mode4 software triggered...

Page 35: ...UTO32 EXE in this CD Step 2 Click the item Install Toolkits Software Manuals Step 3 Click the item PCI Bus DAQ Card Step 4 Click PIO DIO Step 5 Click install Toolkit for Windows 98 Or Me NT 2K XP 2003...

Page 36: ...D64 PIO D64U and power on your PC Windows 98 Me 2K and 32 bit Windows XP 2003 Vista 7 can find a PCI card device and ask user to provide a PIODIO inf to install hardware driver on the computer If use...

Page 37: ...re is presented as following figure The user application program developed by designate tools like VB Delphi and Borland C Builder can call PIODIO DLL driver in user mode And then DLL driver will call...

Page 38: ...t reset interrupt count 11 PIODIO_IrqMaskError Irq Mask is 1 2 4 8 or 1 to 0xF 12 PIODIO_ActiveModeError Active Mode is 1 2 or 1 to 3 13 PIODIO_GetActiveFlagError Can t get interrupt active flag 14 PI...

Page 39: ...on is provided for testing DLL linkage purpose Syntax short PIODIO_ShortSub short nA short nB Parameter nA Input 2 bytes short data type value nB Input 2 bytes short data type value Return The value o...

Page 40: ...GetConfigAddressSpace Only the low WORD is valid bOutputVal Input 8 bit data send to I O port Only the low BYTE is valid Return None 5 4 2 PIODIO_InputByte Description Read the 8 bits data from the sp...

Page 41: ...IO_GetConfigAddressSpace Only the low WORD is valid WOutputVal Input 16 bit data send to I O port Only the low WORD is valid Return None 5 4 4 PIODIO_InputWord Description Obtain the 16 bits data from...

Page 42: ...sion Parameter wDriverVersion Output address of wDriverVersion Return Please refer to Section 5 1 Error Code 5 5 2 PIODIO_DriverInit Description This subroutine opens the PIODIO driver and allocates t...

Page 43: ...D64U boards may have different Sub IDs This function will find the total board of PIO D64 PIO D64U including all versions no matter what version Sub ID you input Following is the example demonstratio...

Page 44: ...D wSubDevice WORD wSubAux WORD wSlotBus WORD wSlotDevice Parameter wBoardNo Input PIODIO board number wAddrBase Output The base address of PIODIO board Only the low WORD is valid wIrqNo Output The IRQ...

Page 45: ...etCount void Parameter None Return Please refer to Section 5 1 Error Code 5 6 2 PIODIO_IntGetCount Description This subroutine will read the counter value of the interrupt defined in device driver Syn...

Page 46: ...ws API function CreateEvent to create the event object wInterruptSource Input What the Interrupt Source to be used Please refer to the following table Table 5 3 wInterruptSource Description 0 EXTIRQ 1...

Page 47: ...PIO D64 PIO D64U User s Manual Ver 1 6 Mar 2015 PMH 007 16 47 5 6 5 Architecture of Interrupt mode Figure 5 2 7 495 109 02 08 sales bbrc ru www bbrc ru...

Page 48: ...1 wCounterMode Input The 8254 Counter Mode 0 to 5 wCounterValue Input The 16 bits value for the counter to count Only the lower WORD is valid Return None 5 7 2 PIOD64_ReadCounter Description This subr...

Page 49: ...nput The 8254 Counter Mode 0 to 5 wCounterValue Input The 16 bits value for the counter to count Only the lower WORD is valid Return None 5 7 4 PIOD64_ReadCounterA Description This subroutine is used...

Page 50: ...50 5 7 5 Program Architecture Figure 5 3 Initialize the Device Driver Close the Device Driver Access Control the Device Access Control the Device PIODIO_DriverInit Enable All DI DO PIODIO_InputByte P...

Page 51: ...Win98 Me NT 2K and 32 bit Win XP 2003 Vista 7 After driver installation the related demo programs and development library and declaration header files for different development environments are prese...

Page 52: ...mo program is used to check the digital input and output status of CN2 CN4 and CN1 CN3 Figure 6 1 6 2 Interrupt of EXTIRQ This demo program uses EXTIRQ as interrupt source Then DO0 output a high and l...

Page 53: ...07 16 53 Figure 6 2 6 3 Counter Function of counter0 This demo program uses internal clock to test counter0 function User can select clock suitable clock output from the corresponding P4 soldering pad...

Page 54: ...e model library file TC LIB TCPIO_H LIB TC huge model library file MSC LIB PIO H MSC declaration file MSC LIB MSCPIO_L LIB MSC large model library file MSC LIB MSCPIO_H LIB MSC huge model library file...

Page 55: ...rds 1 6 NotFoundBoard Can t detect the board on the system A 2 2 PIO_DriverInit Description This function can detect all PIO PISO series card in the system It is implemented based on the PCI Plug Play...

Page 56: ...save resource of all PIO PISO cards installed in this system Then the application program can control all functions of PIO PISO series card directly Syntax WORD PIO_GetConfigAddressSpace wBoardNo wBa...

Page 57: ...wDriverVersion Return Please refer to Table A 1 A 2 6 ShowPIOPISO Description This function will show a text string for this special Sub_ID This text string is the same as that defined in PIO H Synta...

Reviews: