Nexys Video Keyboard Demo
The Keyboard Demo project demonstrates a simple usage of the Nexys Video's USB-HID and USB-UART ports. The behavior is as follows:
* The user presses a key on the keyboard, this sends a keyboard scan code to the Nexys Video. This scan code is read and transmitted to a terminal application via the USB-UART bridge. A scan code pair of F0xx indicates that key xx has been released.
|8 user switches||X|
|8 user LEDs||X|
|128×32 monochrome OLED display||X|
|160-pin FMC LPC connector||X|
|Micro SD card connector||X|
|HDMI Sink and HDMI Source||X|
|Audio codec w/ four 3.5mm jacks||X|
|6 user push buttons||X|
|10/100/1000 Ethernet PHY||X|
|512MiB 800Mt/s DDR3 Memory||X|
|Four Pmod ports||X|
|Pmod for XADC signals||X|
|USB HID Host||X|
- Nexys Video FPGA board
- Micro-USB cable
- USB Keyboard
- Nexys Video 12 Volt Power Supply
- Vivado Design Suite 2016.4
- Newer versions can be used, but the procedure may vary slightly
Nexys Video Keyboard Demo Project Repository – ZIP Archive GIT Repo
Download and Launch the Nexys Video Keyboard Demo
1) Follow the Using Digilent Github Demo Projects Tutorial. This is an HDL design project, and as such does not support Vivado SDK, select the tutorial options appropriate for a Vivado-only design. Return to this guide when prompted to check for extra hardware requirements and setup.
2) In order to fully use this demo, you will need to connect a serial terminal to your Nexys Video. Plug your board into your computer with a Micro USB cable and make sure that board is turned on. Then open a serial terminal (such as TeraTerm) on your computer. In the terminal application setup the serial port to connect to the appropriate port for your board, with a baud rate of 9600. Then return to the Github Projects Tutorial to finish programming and running the demo.
Using The Nexys Video Keyboard Demo
1. Key Press
When a button is pressed, the value of the scan code will be converted to ASCII and transmitted to the terminal. In the picture, 'a' is pressed, so a scan code of “1C” is sent to the terminal.
2. Key Release
When the 'a' key is released, a scan code of “F0 1C” is sent.
3. Multiple Key Presses
When multiple keys are pressed their scan codes are sent in order. In this case, Q (“15”) was pressed, followed by W (“1D”).