Inhaltszusammenfassung für Wasco OPTOIO-PCIe32 ULTRA
Seite 1
OPTOIO-PCIe32 ULTRA EDP-No.: A-840810 32 optocoupler isolated digital inputs 32 optocoupler isolated digital outputs 32*32 bit Counters Timer OC and IC Units Board Identification wasco ® User‘s Guide...
® 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...
Seite 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 with galvanic isolation, individually for each channel. Optocouplers of high quality ensure the potential separation for the inputs and outputs. Special high-power output optocouplers handle a maximum switching current of up to 150 mA.
® 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...
Seite 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.
Seite 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.
Seite 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.
Seite 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 opti- cally isolated by optocouplers as well. The isolation voltage between GND and output is 500 V. 6.1 Pin assignment of the output optocouplers 6.2 Optocoupler data...
® 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.
Seite 30
® Register OPTOOUT: 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 OPTOOUT <31:24> 23:16 OPTOOUT <23:16> 15:8 OPTOOUT <15:8> OPTOOUT <7:0> Bit 31 - 0 OPTOOUT <31:0> (default = 0) The value determines the state of the output optocouplers.
® 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.
Seite 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...
Seite 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.
Seite 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.
Seite 50
® Register ICUNITxe: 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 ICUNITxe<0> (default = 0) Start and stop the IC-Unit...
Seite 51
® Register ICMUXx: 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 ICMUXx <7:0> Bit 31 - 8 reserved (value 0 is written) Bit 7 - 0 ICMUXx <7:0> (default = 0) The register value determines the card peripheral the IC unit is...
Seite 52
® Register ICPULSx: 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 ICPULSx <31:24> 23:16 ICPULSx <23:16> 15:8 ICPULSx <15:8> ICPULSx <7:0> Bit 31 - 0 ICPULSx<31:0> From this register read out the last measured pulse duration in µs...
® 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...
® 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...
Seite 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. Interrupt Controller 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.
Seite 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.
Seite 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...
Seite 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...
Seite 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.
Seite 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.
Seite 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.
Seite 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...
Seite 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>).
Seite 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.
Seite 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.
Seite 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 ®...
Seite 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.
® ® 14. Linux Programming , you can find a Linux wasco ® ® To use the board under Linux driver on the supplied CD or on our website. This is in code form and therefore can be changed and adapted by the customer at any time.
The access to the OPTOIO-PCIe32 is done exclusively via the board ULTRA name (type of card) WASCO-PCIe8132 14.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 according to following table:...
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...
® 17. 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...
® 18. 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-...
Seite 90
® * 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.
® 19. 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.
Seite 92
® 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...