Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
learn:programmable-logic:tutorials:basys-3-keyboard-demo:start [2016/08/02 22:05] – Arthur Brown | learn:programmable-logic:tutorials:basys-3-keyboard-demo:start [2022/03/31 23:10] (current) – Arthur Brown | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | ~~NOSEMANTIC~~ | ||
+ | ~~REDIRECT>/ | ||
+ | {{tag> | ||
- | {{: | ||
- | |||
- | ===== Overview ===== | ||
- | ==== Features Used ==== | ||
- | |||
- | |||
- | | ^ Not Used ^ Used ^ | ||
- | ^ 16 user switches | ||
- | ^ 16 user LEDs | | X | | ||
- | ^ 5 user pushbuttons | ||
- | ^ 4-digit 7-segment display | ||
- | ^ 4 Pmod connectors | ||
- | ^ XADC Analog input | ||
- | ^ 12-bit VGA output | ||
- | ^ USB-UART Bridge | ||
- | ^ Serial Flash for application data | ||
- | ^ USB HID Host with mouse | ||
- | ^ USB HID Host with keyboard | ||
- | |||
- | ===== Description ===== | ||
- | |||
- | The Keyboard Demo project demonstrates a simple usage of the Basys3' | ||
- | 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 Basys3. This scan code is read and transmitted to a terminal application via the USB-UART bridge. When a new scan code is read, it is shifted into the ASCII string from the right. A scan code of F0xx indicates that key xx has been released. | ||
- | | ||
- | ------- | ||
- | |||
- | ===== Prerequisites ===== | ||
- | |||
- | ===Skills=== | ||
- | * **Basic familiarity with Vivado** | ||
- | * //This experience can be found by walking through our " | ||
- | |||
- | ===Hardware=== | ||
- | * **Basys3 FPGA board** | ||
- | * **Micro-USB cable** | ||
- | * **USB Keyboard** | ||
- | |||
- | ===Software=== | ||
- | * **Vivado Design Suite 2016.X** | ||
- | * // | ||
- | |||
- | ----- | ||
- | |||
- | ===== Downloads ===== | ||
- | Basys3 Support Repository -- [[https:// | ||
- | |||
- | ------- | ||
- | ===== How to... ===== | ||
- | |||
- | |||
- | |||
- | ==== 1. Generate the Project ==== | ||
- | |||
- | >1.1) Download the repository linked in the download section and place it in the location of your choosing. | ||
- | |||
- | >1.2) Generate the **Keyboard** project within the " | ||
- | |||
- | ==== 2. Build the Project ==== | ||
- | |||
- | >2.1) Click **Generate Bitstream** on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically. | ||
- | > | ||
- | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
- | > | ||
- | > | ||
- | |||
- | ==== 3. Program the Board ==== | ||
- | |||
- | >3.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option. | ||
- | > | ||
- | > | ||
- | |||
- | >3.2) Click program to load the project onto your Basys3. | ||
- | |||
- | ==== 4. Run the Project ==== | ||
- | |||
- | This portion will help you run the demo and observe all its features. | ||
- | |||
- | >4.1) Terminal Setup | ||
- | > | ||
- | >Connect to your board by opening the associated COM port. Then set up your terminal for 8 bit data, a baud rate of 9600, no parity bit, and one stop bit. | ||
- | > | ||
- | > | ||
- | |||
- | >4.2) 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, ' | ||
- | > | ||
- | > | ||
- | |||
- | >4.3) Key Release | ||
- | > | ||
- | >When the ' | ||
- | > | ||
- | > | ||
- | |||
- | >4.4) Multi key press | ||
- | > | ||
- | >When multiple keys are pressed their scan codes are sent in order. In this case, Q (" | ||
- | > | ||
- | > | ||
- | |||
- | {{tag> |