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
programmable-logic:nexys-a7:demos:keyboard [2021/05/14 23:07] – ↷ Links adapted because of a move operation Arthur Brownprogrammable-logic:nexys-a7:demos:keyboard [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Nexys A7 Keyboard Demo ====== ====== Nexys A7 Keyboard Demo ======
- 
-<WRAP todo important> 
-== Under Construction == 
-</WRAP> 
  
 {{:reference:programmable-logic:nexys-a7:nexys-a7-top-600.png?400|}} {{:reference:programmable-logic:nexys-a7:nexys-a7-top-600.png?400|}}
Line 9: Line 5:
 ===== Description ===== ===== Description =====
  
-This project is a Vivado demo using the Nexys A7's USB HID Host port and USB UART bridge, written in Verilog. When programmed onto the board, whenever the user presses a key on a keyboard connected to the USB HID port (J5, labeled "USB HOST"), a scan code is sent to the Nexys A7-100T through a PS/2 interface. This scan code is read and transmitted to the computer via the USB-UART bridge. When the key is released, a scan code of 0xF0XX is transmitted, indicating that the key with PS/2 code "XX" has been released. +This project is a Vivado demo using the Nexys A7's USB HID Host port and seven-segment display, written in Verilog. When programmed onto the board, whenever the user presses a key on a keyboard connected to the USB HID port (J5, labeled "USB HOST"), a scan code is shifted into a shift register, the contents of which are displayed on the seven-segment display in hexadecimal. When the key is released, a scan code of 0xF0XX is shifted in, indicating that the key with PS/2 code "XX" has been released. Redundant codes indicating that a key is being held down, typically sent about once every 100 ms, are detected and not shifted into the shift register.
- +
-To use this demo, the Nexys A7 must be connected to a serial terminal on the computer it is connected to over the MicroUSB cable. +
- +
-For example: If the user presses the space bar on a keyboard connected to the Nexys A7, the scan code "29" will be sent to the computer. When the space bar is released, "F0 29" will be printed.+
  
-Additional information on how this demo can be used can be found in appropriate READMEs, linked below.+For example: If the user presses the space bar on a keyboard connected to the Nexys A7, the scan code "29" will be displayed in the final two digits of the display, and when the space bar is released, "F0 29" will be shifted in so that the display reads "XX 29 F0 29".
  
 ---- ----
Line 22: Line 14:
   * Nexys A7 with a MicroUSB Programming Cable   * Nexys A7 with a MicroUSB Programming Cable
   * Vivado installation compatible with the latest release of this demo (2020.1)   * Vivado installation compatible with the latest release of this demo (2020.1)
-    * //See [[programmable-logic:guides:installation|Installing Vivado, Vitis, and Digilent Board Files]] for installation instructions.//+    * //See [[programmable-logic:guides:installing-vivado-and-vitis|Installing Vivado, Vitis, and Digilent Board Files]] for installation instructions.//
   * Serial Terminal application to receive messages printed by the demo   * Serial Terminal application to receive messages printed by the demo
-    * //See [[learn/programmable-logic/tutorials/tera-term]] for more information.//+    * //See [[programmable-logic:guides:serial-terminals:start]] for more information.//
   * USB Keyboard   * USB Keyboard
  
Line 63: Line 55:
 {{page>programmable-logic:guides:using-github-releases#hardware_only_release_programming&noheader}} {{page>programmable-logic:guides:using-github-releases#hardware_only_release_programming&noheader}}
  
-At this point, the demo is now running on your board. Refer to the [[#description|Description]] and [[#functionality|Functionality]] sections of this document for more information on what it does.+At this point, the demo is now running on your board. Refer to the [[#description|Description]] section of this document for more information on what it does.
 </WRAP> </WRAP>
  
Line 78: Line 70:
  
 ---- ----
-<code>{{tag>project nexys-a7}}</code>