Week 03: UART, etc...

MIT Fall 2024

You are not logged in.

Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.

Lab Outline

Last week you connected up an ADC and you started collecting data about some analog phenomena: specifically, how far you've turned a potentiometer knob. Now, we'll keep using all that stuff we already built to use an ADC, but instead we'll connect up a much more interesting analog device, a microphone! We'll sample our ADC at a frequency to capture a full audio wave, and we'll set up the headphone jack on our board to be able to reconstruct the wave for us to listen to it, but sometimes when you have useful data like an audio wave you might want to access it somewhere outside your FPGA! For that, we'll implement another communication protocol which we can use to send data between the FPGA and the computer while it's running, the Universal Asynchronous Receiver/Transmitter (UART) protocol. You'll write a transmitter, so you can record data from your microphone and get it onto your computer, and then you'll write a receiver, so you can send down an audio file to your board and play it on the headphones! No longer will the data in your FPGA be trapped there, life will be grand.

Exercises + Checkoffs

  1. Exercise (SV): Parity
  2. Exercise (theory): Timing
  3. Exercise (SV): UART Transmitter
  4. Checkoff 01: Microphone UART upload
  5. Exercise (SV): UART Receiver
  6. Checkoff 02: Microphone UART download