Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
learn:programmable-logic:tutorials:nexys-video-keyboard-demo:start [2017/04/27 18:50] – [Description] Andrew Holzerlearn:programmable-logic:tutorials:nexys-video-keyboard-demo:start [2017/10/24 22:36] (current) Arthur Brown
Line 4: Line 4:
  
 ===== Overview ===== ===== Overview =====
 +==== Description ====
 +
 +The Keyboard Demo project demonstrates a simple usage of the Nexys Video'
 +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.
 +      
 ==== Features Used ==== ==== Features Used ====
  
Line 26: Line 33:
  
  
-==== Description ==== 
- 
-The Keyboard Demo project demonstrates a simple usage of the Nexys Video' 
-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. 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 ===== ===== Prerequisites =====
- 
-===Skills=== 
-  * **Basic familiarity with Vivado** 
-    *  //This experience can be found by walking through our "Getting Started with Vivado" guide// 
  
 ===Hardware=== ===Hardware===
Line 45: Line 41:
   * **Micro-USB cable**   * **Micro-USB cable**
   * **USB Keyboard**    * **USB Keyboard** 
 +  * **Nexys Video 12 Volt Power Supply**
  
 ===Software=== ===Software===
-  * **Vivado Design Suite 2016.X**  +  * **Vivado Design Suite 2016.4**  
-    * //Newer/older versions can be used, but the procedure may vary slightly//+    * //Newer versions can be used, but the procedure may vary slightly//
  
 ----- -----
  
 ===== Downloads ===== ===== Downloads =====
-Nexys Video Support Repository -- [[https://github.com/Digilent/NexysVideo/archive/master.zip|ZIP]] [[https://github.com/Digilent/NexysVideo|GIT Repo]]+Nexys Video Keyboard Demo Project Repository -- [[https://github.com/Digilent/Nexys-Video-Keyboard/releases/download/v2016.4-1/Nexys-Video-Keyboard-2016.4-1.zip|ZIP Archive]] [[https://github.com/Digilent/Nexys-Video-Keyboard|GIT Repo]]
  
 ------- -------
-===== How to... ===== 
  
 +===== Download and Launch the Nexys Video Keyboard Demo =====
  
 +>1) Follow the [[:learn:programmable-logic:tutorials:github-demos:start|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.
  
-==== 1. Generate the Project ==== +>2) In order to fully use this demo, you will need to connect serial terminal to your Nexys VideoPlug your board into your computer with a Micro USB cable and make sure that board is turned onThen 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 9600Then return to the Github Projects Tutorial to finish programming and running the demo.
- +
->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 "Projects" folder by following this guide before continuing: [[vivado:github|How to Generate Project from Digilent's Github]] +
- +
-==== 2Build the Project ==== +
- +
->2.1Click **Generate Bitstream** on the left hand menu towards the bottomVivado 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**, **Run Implementation** and then **Generate Bitstream**. +>{{:learn:programmable-logic:tutorials:basys-3-keyboard-demo:keyboard-setup.jpg?nolink&500|}}
-+
->{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_synimpgen.jpg?600|}}+
  
-==== 3. Program the Board ==== +=====Using The Nexys Video Keyboard Demo=====
- +
->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. +
-+
->{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_newtarget.jpg?600|}} +
->{{:learn:programmable-logic:tutorials:basys-3-keyboard-demo:newtarget.jpg?600|}} +
- +
->3.2) Click program to load the project onto your Nexys Video+
- +
-===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 plugging a micro USB cable into the port labeled UART on your board, and opening the associated COM port in a terminal. Then set up your terminal for 8 bit data, a baud rate of 9600, no parity bit, and one stop bit. +
-+
->{{:learn:programmable-logic:tutorials:basys-3-keyboard-demo:keyboard-setup.jpg?nolink&500|}}+
  
->4.2) Key Press+====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. >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.
Line 99: Line 70:
 >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keypress.jpg?nolink&500|}} >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keypress.jpg?nolink&500|}}
  
->4.3) Key Release+====2. Key Release====
 >   >  
 >When the 'a' key is released, a scan code of "F0 1C" is sent. >When the 'a' key is released, a scan code of "F0 1C" is sent.
Line 105: Line 76:
 >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keyrelease.jpg?nolink&500|}} >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keyrelease.jpg?nolink&500|}}
  
->4.4) Multi key press+====3Multiple 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"). >When multiple keys are pressed their scan codes are sent in order. In this case, Q ("15") was pressed, followed by W ("1D").
Line 111: Line 82:
 >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_twokey.jpg?nolink&500|}} >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_twokey.jpg?nolink&500|}}
  
-{{tag>learn programmable-logic tutorial nexys-video}}+{{tag>learn programmable-logic project nexys-video}}