CE433 Embedded Systems
Tutorial 9: Universal Serial Bus (USB)
Name: Audra Benally

Email: albenally1@fortlewis.edu

1. Title: Universal Serial Bus (USB)

2. Introduction: In this lab we learned how to use the USB connections for the FPGA board. We did this by following the tutorial then taking on the challenge to combine the USB modules with the transmitter module from the UART lab. The goal of this task was to display the keystroke from the keyboard (USB connection) on a terminal through the FPGA board.

3. Materials and Methods:
        Materials:

                 - Computer
                 - Basys 3 FPGA Board
                 - Vivado Software
                 - GVim Software
                 - Arduino Serial Monitor
                 - USB connection Computer Keyboard
        Methods:
             The first tasks was to follow the tutorial and show the binary LED output of the keyboard key code. The second task was to display the keystroke on an input terminal.
This was done using the transmitter module from the UART tutorial. The module was modified to take in the code of the keyboard key and used a case/switch code to output the ASCII data of each key. Not all keys were input into the code, the keys that were encoded are the number 0-9 as well as the letters q,w,a, and s.

4. Results:

   
             Figure 1. USB top code, modified for task 2.

   
             Figure 2. Modified transmitter code for task 2.

   

             Video 1. Tasks 1 and 2 displayed in the video.
    Video link: https://youtu.be/hEGFuX0qL_U


5. Discussion
    For this tutorial, the tasks for the turorial went smoothly with very little issue. I was able to transfer the key code on to the terminal with little issue. I got stuck with an problem where the FPGA would continuously send the keyboard stroke to the terminal instead of only once. I was finally able to fix it but the downside is that it can't display the same key multiple times. Other than that, great lab!