® Table of Contents 1. Description ..................5 2. Installation of the WITIO-PCIe192 ..........6 ULTRA 2.1 Installation of the card into your system ..............6 3. Connectors..................7 3.1 Position of the connectors on the board ..............7 3.2 Pin assignment of CN1 ..................8 3.3 Pin assignment of CN2 ..................9...
Page 4
® driver ..............82 development files ..........82 ® 14.2 Installation of the Windows ® 14.3 Programming the WITIO-PCIe192 with wasco drivers ........85 14.4 Access to the WITIO-PCIe192 ..............86 ULTRA 14.5 Assignment of the Memory Mapped I/O Addresses ..........86 15. Accessories ..................87 ®...
® 1. Description The WITIO-PCIe192 (Boardname: wasco-PCIe8296) features 192 ULTRA digital inputs/outputs adjustable to input/output levels of 3,3V or 5V by jumpers. The channels can be programmed in groups of eight channels each as input or output. Every input channel is interrupt-capable and has a programmable digital filter (0 up to 65535µs).
® 2. Installation of the WITIO-PCIe192 ULTRA 2.1 Installation of the card into your system Before you insert the WITIO-PCIe192 unplug the power cord or make sure, there is no current to/in the computer. Inserting into a running system may...
The addresses relevant to the WITIO-PCIe192 arise depending on the BIOS assigned base address. Access to the WITIO-PCIe192 is ex- clusively in double-word access. For reasons of compatibility the wasco driver features only process or allow for the least significant byte.
® 5. 192 Digital Inputs / Outputs For digital input / output, the WITIO-PCIe192 provides three identically ULTRA constructed connectors with 64 digital IOs each. These 64 digital IOs are arranged in groups of eight channels each (PortA to PortH). You can configure the direction (input or output) of each port indi- vidually via a register access.
® 5.3 Read / write outputs Writing to the register DOUTyCNx sets the outputs. Each connector has two of these registers (DOUT0CNx und DOUT1CNx), in each of which 32 IO pins (4 ports) aggregate. If not all of the register ports are configured as output, then only the output ranges in the register are taken into account by the card.
® 5.5 Level adjustment You can configure the voltage level for each of the connectors (IOs and VCC-PINs) with +3.3V and +5V. This is done by setting a jumper on the jumper block of the corresponding connector. JP3 Voltage Level...
Page 20
® Register DDIRCNx (x = number of the connector): 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 DDIRCNx <7:0> Bit 31 - 8 reserved (value 0 is to be written) Bit 7 - 0 DDIRCNx <7:0>...
® 6. Advanced Functions of Digital Inputs 6.1 Digital inputs with digital filters Each one of the digital inputs of the board WASCO-PCIe8296 has its own configurable digital filter to filter spurious pulses and transients of the input signal. For that the filter checks whether or not a signal is applied long enough, as shown in fig.
® 6.2 Interrupt functions of the digital inputs To detect changes to the digital inputs without periodically querying the input state via PC, the WITIO-PCIe192 offers several interrupt options. ULTRA On one hand the card is able to trigger an interrupt on one of the inputs on a rising edge.
Page 23
® After the interrupt has been triggered, the source must be determined in the relevant interrupt service routine by reading the register DINIFyCNx Then the bit has to be cleared by setting the source channel bit in the re- gister DINIFyrCNx .
Page 24
6.2.2 Port changes If the digital inputs often need to be queried to detect changes, another interrupt function can be used to relieve the PC. For this the WASCO- PCIe8296 provides the possibiltiy to trigger an interrupt in the event of a change at the inputs.
Page 26
® Register DINFILyCNx 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 DINFILyCNx < 31:24> 23:16 DINFILyCNx < 23:16> 15:8 DINFILyCNx < 15:8> DINFILyCNx < 7:0> Bit 31- 0 DINFILyCNx <31:0> (default = 0) The value determines the filter duration of the filter y of the connec- tor x in µs...
® 7. Advanced Functions of the Digital Outputs 7.1 Basic function The basic function of the digital outputs allows the output of LOW and HIGH signals at the single outputs by writing to the 32-bit register DOUTyCNx In these registers every single bit stands for one digital output, as shown in table Port Addresses.
® 8. Counter The board WASCO-PCIe8296 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.
® 9. Timer The available 32-bit timers can be used as timers or as configurable in- terval interrupt triggers. For this, intervals between 0 and 4294967295µs can be adjusted in steps of 1µs. 9.1 Using as an interval interrupt trigger 1.
Page 44
® 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 45
® 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 dura- tion of the timer.
® 10. Input Capture Unit The Input Capture Units (IC-Unit) allow the user to measure pulse duration and period duration 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.
® 11. Output Compare Unit The board WASCO-PCIe8296 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 52
® 11.1.2 Calculation of the register values OCPERIODx = Period_duration_in_µs + 1 [µs] OCUNITORx = Pulse_duration_in_µs [µs] OCTIMER = clocks [µs] 11.1.3 Application example 1. Deactivate the OC unit by clearing the corresponding bit in the register OCUNITxe 2.Connect the OC unit to the required digital output. For this, select the...
® 11.2 Pulse output In addition to the PWM, the OC unit makes it possible to output discrete µs-accurate pulses at the digital outputs. 11.2.1 Functionality To output discrete positive pulses you first have to configure the registers. Then, each time the en-bit is cleared and then set in the register OCUNITxe, you can issue a pulse as shown in the figure below: μs...
Page 54
® 11.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 digital output. For this, select the source in the DOUTMUXyCNx register (see chapter „Assigning digital...
® 12. 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 12.1. Here all possible interrupt sources (partially already processed) are merged.
Page 63
® As several sources of a digital 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 re- gister INTCON.
Page 68
® 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 (value 0 is to be written) Bit 0 INTe<0> (default = 0) Enable or lock the card‘s interrupt function...
Page 69
® 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> INTCON <1:0> reserved Bit 31 - 7 reserved (value 0 is written) Bit 6 INTCON<6>: indicates an interrupt from one of the OC Units...
Page 70
® Register DINIF0eCNx (x = Connector Number): 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 DINIF0eCNx <31:24> 23:16 DINIF0eCNx <23:16> 15:8 DINIF0eCNx <15:8> DINIF0eCNx <7:0> Bit 31 - 0 DINIF0eCNx<31:0> (default = 0) In this register section single digital inputs can be enabled as a source to trigger an interrupt on a positive edge.
Page 71
® Register DINIF0rCNx (x = Connector Number): 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 DINIF0rCNx <31:24> 23:16 DINIF0rCNx <32:16> 15:8 DINIF0rCNx <15:8> DINIF0rCNx <7:0> Bit 31 - 0 DINIF0rCNx<31:0> Each bit corresponds to a digital input.
Page 72
® Register DINIF0CNx (x = Connector Number): 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 DINIF0CNx <15:8> DINIF0CNx <7:0> Bit 31 - 0 DINIF0CNx<31:0> indicates whether or not a rising edge is applied to one of the digital inputs. Each bit corresponds to a digital input (e.g.
Page 73
® Register DINICe: 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 DINICe<0> (default = 0) Enable interrupt function to detect...
Page 74
® Register DINICC1eCNx: (x = Connector Number): 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 DINICC0eCNx<31:24> 23:16 DINICC0eCNx<23:16> 15:8 DINICC0eCNx<15:8> DINICC0eCNx<7:0> Bit 31 - 0 DINICC1eCNx<15:0> (default = 0) Enable or disable single digital inputs for the interrupt function to detect changes to the digital inputs.
Page 75
® Register DINIC: 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 DINIC<0> Bit 31 - 1 undefined Bit 0 DINIC<0> indicates whether a change has occurred to an enabled digital input 0 = no change...
Page 76
® 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 one counter (e.g. Counter 0 => COUNTIRr<0>, Counter 13 => COUNTIRr<13>). If an interrupt has been triggered by a counter, its signal bit has to be reset in register COUNTIR.
Page 77
® 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> (default = 0) this enables the interrupt functions of the timers to be enabled.
Page 78
® 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 trig- gered by one of the timers.
Page 79
® 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 one IC Unit (e.g.
® 13. 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 Byte (8 Bit) and is...
® ® 14. Programmierung unter Windows ® 14.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 84
® window appears: (A WASCO-PCIe8117 is used as an example) If your card has been detected in the system, the board name WASCO- PCIe8296, 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 installing development files of Kithara by means of the setup pro- gram the folder wasco contains of the relevant development files and the sample programs. Further sample programs specified for access to the WITIO-PCIe192 you can find on the enclosed CD or please visit our homepage.
The acess to the WITIO-PCIe192 is done exclusively via the board ULTRA name (card type) WASCO-PCIe8296 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, as shown in following table using a few...
® 15.3 Single components for self-assembly Connection parts EDP-No. SCSI-II Connector 68-pin for flat ribbon cable A-553200 SCSI-II Socket 68-pin for flat ribbon cable A-557200 SCSI-II Connector 68-pin for Solder Connection A-555340 Slot bracket with cutout for 68-pin connector...
® 17. Specifications Inputs / Outputs Channels: 192 Output level 3.3V/5V, adjustable by jumper All of the inputs with programmable input filter, edge interrupt and change interrupt Output current: 5 mA per channel Programmable in 8-Bit-groups as inputs or outputs...
® 18. Product Liability Act Information on Product Liability The Product Liability Act (Act on Liability for Defective Products - ProdHaftG) in Germany regulates the manufacturer‘s liability for damages caused by defective products. The obligation to pay compensation may already exist, if the product’s...
Page 95
® * unplug the mains plug before you open the device or make sure, there is no current to/in the unit. * You only may start up any components, boards or equipment, if they have been installed in a touch-proof casing before. During installation, the the equipment must be de-energized.
® 19. Declaration of Conformity This is to certify, that the CE marked product WITIO-PCIe192 ULTRA EDP Number A-864810 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 97
® Reference system for intended use This PC expansion card is not a stand-alone device. The CE-conformity only can be assessed when using additional computer components simultaneously. Thus the information to the CE conformity exclusively refers to the following reference system for the intended use of the PC...