Output withstand voltage: 5V~35V DC, recommended to use 24V power supply.
Current limit: The maximum current for a single channel is 500mA, but when all channels are turned on simultaneously, the total current must not exceed 120mA (@ 24V), otherwise overheating protection may be triggered or device life may be shortened. In actual design, the total power consumption should be calculated, and if necessary, grouping drivers or adding external power amplifiers should be used.
Switching speed: 10kHz, suitable for medium and low-speed switch control, such as indicator lights, small relays, solid-state relays, etc.
In addition, the connector provides VDD and V5V pins, where VDD is the external power input (used for output side driving) and V5V is the onboard isolated power output (maximum) 200mA@40 At ℃, it can provide power for low-power sensors or optocouplers, simplifying external wiring.
Register Programming and Interrupt Management
The register access of PCIe-7432 is different from that of a regular 8/16 bit I/O card, as all registers are 32-bit wide and only support 32-bit I/O instructions (such as the x86 IN/OUT instruction specifying a WORD). The base address is automatically assigned by PCIe BIOS without the need for jumper settings. The software uses the _7432_Initial function to enumerate and obtain the base address and IRQ number.
1. Register Address Mapping
Offset address read operation and write operation
Read 32-bit DI status and write 32-bit DO status from Base+0x00
Base+0x40 undefined write arbitrary value clear interrupt
Note: The physical ports corresponding to read and write at offset 0x00 are the same, but they are independently used as input and output buffers. DI data is read-only, DO data is write only (without read back function, if the output status needs to be confirmed, the software needs to keep a copy or provide external feedback).
2. Digital input/output data format
The correspondence between data bits and channels is clear:
DI0~DI7 corresponds to bit0~7 of Base+0
DI8~DI15 correspond to bit0~7 of Base+1
DI16~DI23 correspond to Base+2
DI24~DI31 correspond to Base+3
DO is the same. Therefore, when reading DI, a 32-bit read operation can obtain all 32 channel states, and the same goes for writing DO. This design reduces the number of bus interactions and improves data throughput.
3. Interruption mechanism
Only DI channel 0 and channel 1 support interrupt triggering, and both are sensitive to rising edges (low to high jump). The software can enable or disable interrupts for each channel separately through _7432/Set-INT_Control (parameter int1Flag corresponds to channel 0, int2Flag corresponds to channel 1). When enabled, once the corresponding channel detects a rising edge, the hardware generates a PCIe interrupt request.
Interrupt handling process:
In Windows, call W_7432/INT_Snable and pass in an event handle array (two elements corresponding to two interrupt sources). The driver will set the event signal when an interrupt occurs.
The user thread waits for the event (WaitForSingleObject). After receiving the event, it calls _7432_Get_IRQ_Status to query which channel triggered the interrupt (1 returned by int1Status and int2Status indicates that the corresponding source is valid).
After processing the logic, write any value to Base+0x40 to clear the interrupt (hardware automatically clears). Note that if not cleared, subsequent rising edges of the same channel will not be able to trigger interrupts again.
This interrupt mechanism is suitable for capturing emergency stop signals, counting pulses, or synchronously triggering other actions, avoiding the delay and resource occupation caused by CPU polling.

Software Library and Development Key Points
ADLINK provides PCIS-DASK driver package, supporting Windows 7/8.1 and earlier systems, including DLL and C/C++function libraries. Appendix A lists the main function prototypes (divided into DOS and Windows versions, with different naming prefixes). Summary of key functions:
Initialization: _7432Initial (or Windows version W_7432Initial), returns the number of cards and PCI information structure.
Digital input: _7432_DI reads 32-bit data.
Digital output: _7432_DO writes 32-bit data.
Interrupt control: _7432_Set-INT_Control enables/disables channel 0/1 interrupts.
Retrieve interrupt status: _7432/Get_iRQ_Status to query the current interrupt source.
Interrupt enable/disable: W-7432-IND_Enable Create event handle and bind interrupt; W_7432/INT_Sisable closes interrupt.
Development precautions:
Be sure to install the driver before installing the hardware, otherwise the system may recognize it as an unknown device.
Since registers are 32-bit, U32 or unsigned int type variables should be used in C language to avoid using short or char.
The interrupt service routine should read the DI status as soon as possible and clear the interrupt to avoid missed triggering.
In practical applications, if two interrupt sources need to be used simultaneously, the sources need to be distinguished based on the status flag in interrupt processing, and different branch logics need to be executed.
Practical Guide to Installation and Configuration