GPIO-MM is a PC/104 digital I/O module based on an FPGA, allowing multiple feature sets to be implemented on the same hardware platform. The FPGA is a Xilinx Spartan 2 RAM-based device with 200K gates (XC2S200). An on-board configuraton flash memory device stores the FPGA code for automatic loading on power-up, and new code can be downloaded using a JTAG cable connected to a PC. Several standard off the shelf personalities are available, and custom ones can be developed either by users with Xilinx tools or by Diamond as a customization service.
The right side I/O connector includes ESD protection circuitry for increased reliability, while the left side I/O connector offers high-drive logic buffers for increased load compatibility, along with jumper-configured pull-up / pull-down resistors. All digital I/O pins are set to input on power-up to avoid conflicts with external circuitry.
Hardware configuration options include jumper-selectable base address and DMA level, plus a 10-position jumper lock for user-definable field configurability when used with custom designs. A 256-byte EEPROM provides convenient non-volatile storage for user-defined functionality. The board also includes the layout for an optional RS-232/422/485 serial port, so that a multi-protocol serial port can be integrated into custom designs.
GPIO-MM contains 8 diagnostic LEDs located in the lower left corner. Off-the-shelf configurations use these LEDs to identify the personality programmed onto the board, while custom designs can use them for any purpose. An additional programmable LED in the lower right corner offers a simple way to verify successful FPGA programming.
Standard feature sets include:
- 10 "9513" style 16-bit counter/timers + 8 fixed digital inputs + 8 fixed digital outputs + 48 buffered programmable digital I/O
- 48 programmable digital I/O + 48 buffered programmable digital I/O
The GPIO-MM code includes two 9513 counter/timer cores, each containing 5 16-bit counters. This core is based on the popular high performance AMD9513 counter/timer IC. These counters offer extreme flexibility, with programmable input sources, programmable output waveforms, programmable up / down count, one-shot vs. continuous counting, PWM function, and more. Counters can be cascaded together to form 32-bit, 48-bit, etc. wide counters. An input clock of 40MHz provides fine resolution for timing applications.
Customers of Diamond's older generation products will appreciate the backward compatibility option of GPIO-MM. The base model GPIO-MM-XT includes all the features of the QMM-5 / QMM-10 board plus the GMM-48 board on one board, with identical register maps. the right side connector duplicates the I/O connector of QMM-10, while the left side connector combines all 48 digital I/O of GMM-48 on a single connector for higher integration and greater compactness. Software applications using previous versions of our Universal Driver software will work on the GPIO-MM-XT without any changes.