® Table of Contents 1. Description ..................5 2. Installation of the OPTOIO-PCIe32 ...........6 ULTRA 2.1 Installation of the card into your system ..............6 3. Connectors..................7 3.1 Position of the connector plugs on the board ............7 3.2 Pin assignment of CN1 ..................8 3.3 Pin assignment of CN2 ..................9...
Page 4
® 13.1 Installation of the Windows driver ..............77 development files ..........77 ® 13.2 Installation of the Windows 13.3 Programming the OPTOIO-PCIe32 with wasco ® driver ........80 13.4 Access to the OPTOIO-PCIe32 ..............81 ULTRA 13.5 Assignment of the Memory Mapped I/O Addresses .......... 81 13.6 Compatibility to OPTOIO-PCI32...
® 1. Description OPTOIO-PCIe32 (board name: WASCO-PCIe8132) provides 32 digital ULTRA inputs and 32 digital outputs, every single channel is galvanically isolated by optocouplers of high quality. Special, high-power output optocouplers handle a switching current of up to 150 mA. Each input or output is pro- tected from harmful voltage peaks and pulses by additional protection diodes.
® 2. Installation of the OPTOIO-PCIe32 ULTRA 2.1 Installation of the card into your system Before you insert the OPTOIO-PCIe32 unplug the power cord or make sure, there is no current to/in the computer. Inserting the interface card in...
® 4.2 Access to the system components You can access to the hardware components of the OPTOIO-PCIe32 by reading from or writing to Memory Mapped I/O addresses using library func- tions. The addresses relevant to the OPTOIO-PCIe32 arise depending on the BIOS assigned base address.
® 5. 32 Optocoupler Isolated Digital Inputs The OPTOIO-PCIe32 provides 32 input channels, each of which is optically isolated by optocouplers. The isolation voltage between GND and input is 500 V . The voltage within the input channels is limited to 50 V 5.1 Pin assignment of the input optocouplers...
Page 14
® For the data of the two input voltage ranges, please refer to the following table: Jumper HIGH closed 0...1 V 5...15 V open 0...2 V 14...30 V IN16 IN24 IN00 IN08 IN17 IN25 IN01 IN09 IN02 IN10 IN18...
AND-link operation. 5.6 Optocoupler inputs with digital filters Each of the optocoupler inputs of the board WASCO-PCIe8132 has its own configurable digital filter to filter spurious pulses and transients of the input signal.
® Using the filters please note that the optocoupler inputs on one hand have response times much longer than 1µs and on the other hand may vary in steepness of rising and falling curves. This is not considered at the filter configuration, as the optocouplers may show varying component tolerances.
Page 18
® 5.7.1 Edge detection In order to detect rising edges at the optocoupler inputs, each single input provides an edge detection with connectable interrupt function. For this purpose, a 32-bit interrupt register (OPTOINIF) is provided which makes available one bit per input channel for edge detection. As soon as the card detects a rising edge, the respective bit is set in register OPTOINIF.
Page 19
® Application example: You want an edge detection with interrupt triggering on channel IN01. The following example lists each step of how to perform the configuration and what needs to be done in the interrupt service routine to re-enable the interrupt.
Page 20
5.7.2 Port Changes If the optocoupler inputs often need to be queried to detect changes, another interrupt function can be used to relieve the PC. For this the WASCO- PCIe8132 provides the possibiltiy to trigger an interrupt in the event of a change at the inputs.
® 6. 32 Optocoupler Outputs The OPTOIO-PCIe32 provides 32 output channels, each of which is op- tically isolated by optocouplers likewise. The isolation voltage between GND and output is 500 V. 6.1 Pin assignment of the output optocouplers 6.2 Optocoupler data Voltage CE: max.
® 6.4 Functions of the optocoupler outputs 6.4.1 Basic function The basic function of the optocoupler outputs allows the locking or enabling of the single outputs by writing to the 32-bit register OPTOOUT. In this register every single bit stands for one optocoupler output, as shown in table Port Addresses.
® 7. Counter The board WASCO-PCIe8132 provides a total of 32 32-bit event counters (rising edges). Every single counter can be freely assigned to one digital input. Furthermore, each counter can trigger an interrupt in the event of an overflow.
® 8. Timer The available 32-bit timers can be used as a timer or for configurable in- terval interrupt triggering. For this, intervals between 0 and 4294967295µs can be adjusted in steps of 1µs. 8.1 Using as an interval interrupt trigger 1.
Page 45
® Register TIMERxe: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 reserved 23:16 reserved 15:8 reserved reserved Bit 31 - 1 reserved (value 0 is written) Bit 0 TIMERxe<0> (default = 0) start or stop the timer...
Page 46
® Register TIMERCOMPx: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 TIMERCOMPx<31:24> 23:16 TIMERCOMPx<23:16> 15:8 TIMERCOMPx<15:8> TIMERCOMPx<7:0> Bit 31 - 0 TIMERCOMPx<0> (default = 0) The value of the register TIMERCOMP determines the interval duration of the timer...
® 9. Input Capture Unit The Input Capture Units (IC-Unit) allow to measure pulse duration and period of received signals. Each one of the units has its own 32-bit timer for time measurement in steps of 1µs, and can be assigned to any digital input by programming.
Page 48
® 9.1.2 Interrupt function In addition to the measurement of the period and the pulse duration, it is possible to trigger an interrupt after completion. For this you activate the interrupt function by setting the corresponding bit in register ICUNITRe.
® 10. Output Compare Unit The board WASCO-PCIe8132 brings the option to the user to link a PWM function to the outputs or to return discrete pulses via the Output Compare Units. In this case, square-wave signals with a period duration of 2 to 2 µs and a pulse duration of 1 to 2...
Page 54
® The application of the two-level pulse duration register ensures the com- plete return of each period prior to transfer, if the pulse duration is changed during OC operating. If you want to skip the first period after starting the OC unit, in which no pulse at the output is emitted, you can preload the timer accordingly with another value than 0 (->...
® 10.2 Pulse output In addition to the PWM, the OC unit makes it possible to output separate µs-accurate pulses at the optocoupler outputs. 10.2.1 Functionality To output separate positive pulses (= optocoupler enabled) you firstly have to configure the registers. Then, each time the en-bit is cleared and...
Page 56
® 10.2.3 Application example 1. How to configure the OC unit a) Deactivate the unit by clearing (= 0) the en-Bit in the register OCUNITxe b) Connect the OC unit to the required optocoupler output. For this, select the source in the OPTOOUTMUXx register (see chapter 6.4.2 optocoupler output multiplexer) c) Preload the OC timer of the OC unit with the value 0.
® 11. Interruptcontroller The interrupt controller is used to process the single interrupts from the various possible sources. It can enable single interrupt sources or can detect the sources of triggered interrupts. The 32 bit register INTCON is the Central Unit as shown in fig 11.1. Here all possible interrupt sources (partially already processed) are merged.
Page 62
® As several sources of an optocoupler input edge interrupt are to consider, the source lines to the register INTCON usually are conditioned. This means, an additional 32 bit register can be applied to the respective bit of the register INTCON. In case of an edge detection of the optocoupler inputs, this is the register OPTOINF.
Page 65
® Register INTe: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 reserved 23:16 reserved 15:8 reserved reserved Bit 31 - 1 reserved (write the vlaue 0) Bit 0 INTe<0> (default = 0) Enable or lock the card‘s interrupt function...
Page 66
® Register INTCON: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 reserved 23:16 reserved 15:8 reserved reserved INTCON <6:4> reserved INTCON <1:0> Bit 31 - 7 reserved (value 0 is written) Bit 6 INTCON<6>: signals an interrupt from one of the OC Units...
Page 67
® Register OPTOINIFe Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 OPTOINIFe <31:24> 23:16 OPTOINIFe <23:16> 15:8 OPTOINIFe <15:8> OPTOINIFe <7:0> Bit 31 - 0 OPTOINIFe<31:0> In this register section single optocoupler inputs can be enabled as a source to trigger an interrupt on a posi- tive edge.
Page 68
® Register OPTOINIF Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 OPTOINIF <31:24> 23:16 OPTOINIF <23:16> 15:8 OPTOINIF <15:8> OPTOINIF <7:0> Bit 31 - 0 OPTOINIF<31:0> indicates, whether there is a rising edge on one of the optocoupler inputs. Every bit corresponds to an opto- coupler input (e.g.
Page 69
® Register OPTOINICCe: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 OPTOINICCe<31:24> 23:16 OPTOINICCe<23:16> 15:8 OPTOINICCe<15:8> OPTOINICCe<7:0> Bit 31 - 0 OPTOINICCe<31:0> (default = 0) Enable or lock single optocoupler inputs for interrupt function to de- tect changes on the optocoupler inputs. Each bit corresponds to an optocoupler input.
Page 70
® Register OPTOINIC: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 OPTOINIC<0> Bit 31 - 1 undefined Bit 0 OPTOINIC<0> indicates a change on an enabled optocoupler input 0 = no change 1 = change to an enabled optocoupler input...
Page 71
® Register COUNTIRr: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 COUNTIRr<31:24> 23:16 COUNTIRr<23:16> 15:8 COUNTIRr<15:8> COUNTIRr<7:0> Bit 31 - 0 COUNTIRr<31:0> Each bit corresponds to a counter (e.g. Counter 0 => COUNTIRr<0>, Counter 13 => COUNTIRr<13>).
Page 72
® Register TIMERIRe: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 reserved 23:16 reserved 15:8 reserved reserved TIMERIRe <1:0> Bit 31 - 2 reserved (value 0 is written) Bit 1 - 0 TIMERIRe<1:0> This enables the interrupt functions of the timers.
Page 73
® Register TIMERIR: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 reserved 23:16 reserved 15:8 reserved reserved TIMERIR <1:0> Bit 31 - 2 reserved (value 0 is written) Bit 1 - 0 TIMERIR<1:0> indicates whether an interrupt has been triggered from a timer.
Page 74
® Register ICUNITIRr: Range 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 reserved 23:16 reserved 15:8 reserved reserved ICUNITIRr<7:0> Bit 31 - 2 reserved (value 0 is written) Bit 1 - 0 ICUNITIRr<1:0> Each bit corresponds to an IC Unit (e.g.
® 12. Board Identification The board identification is used to differentiate Jumper between several PC cards of the same type on the computer. This is done by a jumper block, which can be read by software. The board identification to be read consists of one word (16 Bit) and is...
® ® 13. Programming under Windows ® 13.1 Installation of the Windows driver In order to implement the card under Windows ® , it is necessary to install a special driver, which allows access to the card. The operating system ®...
Page 79
ULTRA If your card has been detected in the system, the board name WASCO- PCIe8132, Board-ID, I/O address as well as the possible interrupt number of the respective card are displayed in this window. Furthermore, the driver version and the location of the driver file can be queried via the „Information“...
After installation of the development files of Kithara by means of the setup program the folder wasco contains of the relevant development files and the sample programs. Further sample programs specified for access to the OPTOIO-PCIe32 you can find on the enclosed CD or please visit our homepage.
The acess to the OPTOIO-PCIe32 is done exclusively via board name ULTRA (card type) WASCO-PCIe8132 13.5 Assignment of the Memory Mapped I/O Addresses The Memory Mapped I/O addresses of the single hardware components depend on the base address, as shown in following table using a few...
® 13.6 Compatibility to OPTOIO-PCI32 STANDARD Developping the OPTOIO-PCIe32 and its drivers special regard was ULTRA attended to use identical accesses as to OPTOIO-PCI32. This enables you to swapp from PCI to PCIe with existing programs in a very easy way.
Please check all settings of your computer or contact your system administrator. (As this are BIOS settings of the computer we cannot expand on this issue. We refer to your systems manual.) Did you install the latest driver version for the wasco ® drivers? Updates you can find here: http://www.messcomp.com...
® 16. Specifications Optocoupler Inputs Optocouplers 32 channels, optically isolated Galvanic isolation even between every single channel with each two separate connectors Overvoltage protection by protection diodes Two different input voltage ranges selectable by jumpers: Range 1 high = 14..30 Volt low = 0..2 Volt...
® 17. Product Liability Act Information about Product Liability The Product Liability Act (Act on Liability for Defective Products - Prod- HaftG) in Germany regulates the manufacturer‘s liability for damages caused by defective products. The obligation to pay compensation can be given, if the product’s pres-...
Page 88
® * unplug the power plug before you open the unit or make sure, there is no current to/in the unit. * You only may put into operation any components, boards or devices if they have been installed inside a secure touch-protected casing before.
® 18. CE Confirmation This is to certify, that the product OPTOIO-PCIe32 ULTRA EDP Number A-840810 comply with the requirements of the relevant EMC directives 2014/30/ EU. This declaration will lose its validity, if the instructions given in this manual for the intended use of the products are not fully complied with.
Page 90
® Reference system for intended use This PC expansion card is not a stand-alone device. The CE-conformity only can be assessed when additional computer components are in use simultaneously. Thus the CE conformity only can be confirmed when using the following reference system for the intended use of the PC...