Overview

The GPIO-MM is a PC/104 board featuring 48 Digital I/O (DIO) lines, 10 16-bit counter/timers, 8 bits of TTL input, 8 bits of TTL output, and software-controlled interrupt capability. The DIO and counter/timer functions are implemented in FPGA cores, emulating dual 82C55A PPI and dual CTS9513 counter/timer chips. A 50-pin I/O header provides for external DIO connections. Direction on all ports is selected by programming control registers in the FPGA. All I/O lines are buffered with transceivers, whose directions are controlled by logic that responds to the direction control values written to the registers. Each line is capable of sinking 64mA in a logic low state or sourcing 15mA in a logic high state. The board requires only +5V for operation. DIO headers are organized to allow direct interfacing to OPTO-22s isolated I/O racks, including the G4 series, the PB16-H, -J, -K, -L, PB8H, and the PB24HQ. These racks and I/O modules allow up to 3000 VRMS isolation between the computer and the user's signals. All control signals, power, and ground on the DIO header match the corresponding signals on these I/O racks, so a single 50-pin ribbon cable, such as Diamond Systems' C50-18, is all that is needed to make the connection. The FPGA counter/timer cores provide an additional 8-bit TTL output port with up to ±4 mA per bit and a separate 8-bit TTL input port. Both ports can be operated in bit or byte mode. The counter/timer provides ten extremely versatile counters with a wide variety of features, including up or down counting, binary or BCD counting, single or repetitive counting, edge or level gating, output pulse or toggle capability, alarm comparator circuitry, and software or hardware retriggering. All counter features are programmable through software. In addition, an internal series of frequencies is provided, which may be used as internal count sources. The counter/timers can be used to generate retriggerable one-shots, timed pulses, and square waves of variable duty cycle, and to count pulses, measure time intervals between pulses, and measure the frequency and period of a periodic waveform. The GPIO-MM provides access to interrupt levels 3-7, 10-12 and 15 on the PC bus for real-time background applications. Interrupts provide a means for transferring data into or out of PC memory under external control. Using interrupts allows "background" operation, where I/O can be performed while the PC is executing another task , such as running an unrelated applications program. This feature is useful for performing I/O at a controlled rate, since a counter output can be used to drive the interrupt request pin on the I/O header at a periodic rate for a usersupplied interrupt service routine that performs whatever function is necessary in response to the interrupt.

Last updated