wiki:HardwareUsersGuides/UserIOBoard_v1.0/Inputs

Version 1 (modified by murphpo, 16 years ago) (diff)

--

WARP User I/O Board Trackball & Buttons

The user I/O board provides three kinds of input- a trackball, push buttons and a DIP switch. These components are shown here and described in detail below.

Trackball

The trackball is supplied by SparkFun Electronics. SparkFun also hosts a copy of the original datasheet.

The trackball contains five mechanical switches and has 8 pins tied to FPGA I/O via the daughtercard headers. The switches and their corresponding pins are illustrated below.

When the user scrolls the trackball up/down/left/right, the corresponding direction's switch alternates between closed and open. The switches for each axis (X and Y) share a common pin (XSCN and YSCN). The FPGA should drive these common pins high. The other pins are pulled low by discrete resistors on the User I/O Board. The FPGA can monitor these pins for a logic 1 to detect scrolling.

The trackball also has a switch to detect when the ball is pushed. This switch is normally open; when closed, it shorts pins SEL1 and SEL2. SEL1 should be driven high by the FGPA. SEL2 is pulled low and will show a logic 1 when the trackball is pushed.

The trackball input signals are debounced in hardware with simple RC circuits. It is recommended that user designs employ digital debouncing as well.

Push Buttons

There are 8 discrete push buttons on the User I/O Board. Six are miniture buttons along the left edge of the LCD screen. These buttons are ideal for applications where the LCD is used interactively. Two larger push buttons are provided for general use. All 8 buttons are tied to dedicated FPGA I/O via the daughtercard headers.

Each button is debounced in hardware with a simple RC circuit. It is recommended that user designs employ digital debouncing as well.