GPIO
General Purpose Input / Output
GPIO Block Diagram
Each channel has independent direction control.
The 1 megohm pulldown produces a 0 level as default for a receiver.
The 91 ohm series resistor matches the cable impedance, creating clean rise and fall edges.
Transceiver supply is 3.3V.
Internal FPGA mux provides selection for the Pulse Generator (output), Time-Interval-Counter (input), or static logic levels (input or output).
GUI (Graphical User Interface)
Default Receiver mode is changed to Driver mode with checkboxes.
State (0 or 1) is updated for both Receivers and Drivers each time the Run button is clicked.
In the above example, the first 3 channels are Drivers, forcing "1,0,1" respectively, and the other 13 channels are Receivers, with Rcvr8 data high, and the others are low.
The "ATE Pass/Fail Parameters" button opens up another dialog box, as follows:
ATE Pass/Fail Receiver values may be programmed to 0, 1, or X ("Don't Care").
If the channel is a Driver, then the box will reflect the programmed value, and will be grayed-out.
This auxiliary dialog box is only needed to program the expected values of the Receivers when using the ATE (Auto-Test) mode.
For example, if the Device Under Test gives 0 on Rcvr4 and 1 on both Rcrv6 and 7, then it will pass the test.
API (Application Programming Interface)
C API:
void Set_GPIO_Direction(int direction_data);
int Get_GPIO_Direction(void);
void Set_GPIO_Drivers(int drive_data);
int Get_GPIO_Drivers(void);
int Get_GPIO_Receivers(void);
void Set_GPIO_Bit(int channel, int bit);
int Get_GPIO_Bit(int channel);
PYTHON API:
set_gpio_direction(output_direction)
get_gpio_direction()
set_gpio_drivers(drive_data)
get_gpio_drivers()
get_gpio_receivers()
set_gpio_bit(channel, bit)
get_gpio_bit(channel)