P104-GPIO96 Digital I/O Module

Programmable Digital I/O PC/104-Plus Module with Customizable Personality

P104-GPIO96 Digital I/O Module


FPGA-based design with in-the-field reconfigurability
96 buffered, programmable digital I/O
Byte-wide, nibble-wide and bit-wide port direction control
5V logic level
8 32-bit counter/timers
4 24-bit pulse-width modulators
1 PCI Express x1 lane host interface
PC/104-Plus form-factor compliant
PC/104-Plus (ISA + PCI) stackable expansion
-40°C to +85°C operating temperature
Universal Driver software support


P104-GPIO96 is a PC/104-Plus general purpose digital I/O module integrating Diamond’s using a high-capacity PCI Express FPGA for maximum density and flexibility.

P104-GPIO96 is a programmable PCI-104 DIO module using a high-capacity (700K gate equivalent) PCI Express FPGA for maximum density and flexibility. The base hardware configuration features 96 digital I/O lines grouped into 12 8-bit ports. All ports have I/O buffers to protect the FPGA and feature 5V logic drive levels. The ports are organized into a combination of byte-wide, nibble-wide, and bit-wide direction control for maximum flexibility and application compatibility.

The built-in FPGA personality provides multiple configuration options. All 96 I/O lines may be used in common I/O mode; Six of these ports can be reconfigured to enable an array of additional features, including 8 32-bit up/down counter/timers with programmable input source and gate, 4 24-bit PWM circuits with 0-100% duty cycle capability and interrupt/latched mode operation.

The flash-based design enables easy field upgrades using a Diamond-provided software utility (no cable or third-party software required!) as well as custom code development. Universal Driver software support (described below) is included for Linux, Windows XP, Windows Embedded CE/Standard.

Block Diagrams

FP-GPIO96 Block Diagram

PC/104-Plus Adapter Board Block Diagram

Universal Driver Software

Diamond’s exclusive Universal Driver Software is included at no charge along with the P104-GPIO96 I/O module. It provides a high-level programming library for all of our I/O boards, as well as for the data acquisition circuitry on our SBCs and Embedded-Ready Subsystems. All data acquisition features are supported by easy-to-use function calls, resulting in a reduced learning curve and shortened application development time. The Universal Driver works with Linux and Windows XP. Application examples and projects are included for each function, each board, and each operating system, in order to provide a quick starting point for learning and development.


Base FPGALatticeECP3, 700K gate equivalents
Input clock50MHz
FPGA code storageFlash memory, field upgradeable via JTAG
Total I/O lines96
Primary I/O48 lines with 3 8-bit and 2 4-bit; configurable pull-up/down resistors
Secondary I/O48 lines with 6 8-bit buffers; configurable pull-up/down resistors
Counter/timers8 32-bit up/down counters (alternate mode)
Max counting frequency(coming soon)
Counter modesCounter, rate/square-wave generator, pulse-width modulator, programmable one-shot, hardware/software triggered strobe
Output currentPorts A, B & D: 24mA per pin max; 200mA per port max
Port C low: 24mA per pin max
Port C high: -24mA per pin max
Ports E & F: 32mA per pin max
Input current+/-340uA max
Form FactorPC/104-Plus
ExpansionPC/104-Plus (ISA + PCI) stackable expansion
Dimensions3.55 x 3.775 in. (90 x 96 mm)
Power supply3.3VDC ±5%
Operating temperature-40°C to +85°C standard
Weight3.4oz (96g)

    Contact Form