Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
learn:programmable-logic:tutorials:zedboard-dma-audio-demo:start [2016/08/25 18:31] – created Sam Lowe | learn:programmable-logic:tutorials:zedboard-dma-audio-demo:start [2018/10/29 20:00] (current) – [Features Used] jon peyron | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Zedboard DMA Audio Demo ====== | ====== Zedboard DMA Audio Demo ====== | ||
+ | {{ : | ||
+ | |||
----- | ----- | ||
===== Overview ===== | ===== Overview ===== | ||
- | ==== Features Used ==== | ||
- | |||
- | | ^ Not Used ^ Used ^ | ||
- | ^ 8 User Switches | ||
- | ^ 8 User LEDs | X | | | ||
- | ^ 6 User Push Buttons | ||
- | |||
===== Description ===== | ===== Description ===== | ||
- | The audio demo records a 5 second sample from microphone(J12) or line in (J13) and plays it back on headphone out(J10) or line out (J12). | + | The audio demo records a 5 second sample from microphone(J12) or line in (J13) and plays it back on headphone out(J10) or line out (J12). |
- | ^ Button | + | |
- | ^ BTNL | play on Line out | | + | |
- | ^ BTNR | record from line in | | + | |
- | ^ BTNU | record from microphone | + | |
- | ^ BTND | playback on headphone | + | |
- | + | ||
- | For example, with the push of BTNU this demo records 5 | + | |
- | seconds of audio data from the MIC (J12) input. Consequently by pressing BTND the demo plays on the HPH OUT (J10) the recorded samples. | + | |
+ | ==== Features Used ==== | ||
+ | | ^ Not Used ^ Used ^ | ||
+ | ^ 8 User Switches | ||
+ | ^ 9 User LEDs | X | | | ||
+ | ^ 7 User Push Buttons | ||
+ | ^ 512 MB DDR3 RAM | | ||
+ | ^ 256 Mb QSPI Flash | X | | | ||
+ | ^ Five Digilent Pmod™ headers | ||
+ | ^ FMC Header | ||
+ | ^ USB-UART bridge | ||
+ | ^ HDMI Output | ||
+ | ^ VGA (12-bit Color) | ||
+ | ^ FMC Header | ||
+ | ^ 128×32 OLED Display | ||
+ | ^ Audio Codec | | ||
+ | ^ SD Card Port | ||
===== Prerequisites ===== | ===== Prerequisites ===== | ||
- | |||
- | ===Skills=== | ||
- | * **Basic familiarity with Vivado** | ||
- | * //This experience can be found by walking through our " | ||
===Hardware=== | ===Hardware=== | ||
- | * **Genesys 2 FPGA board** | + | * **Zedboard |
* **Micro-USB cable** | * **Micro-USB cable** | ||
- | * **Genesys 2 Power Supply** | + | * **Zedboard |
* **Headphones or Speakers** | * **Headphones or Speakers** | ||
* **Audio Input device (Aux-In, Guitar, etc.)** | * **Audio Input device (Aux-In, Guitar, etc.)** | ||
===Software=== | ===Software=== | ||
- | * **Vivado Design Suite 2016.X** | + | * **Vivado Design Suite 2016.4** |
- | * //Newer/ | + | * //Newer versions can be used, but the procedure may vary slightly// |
- | + | * Xilinx SDK 2016.4 must be included in the installation | |
- | + | * **Digilent Board Support Files for Vivado** | |
- | ==== 1. Setup ==== | + | * Follow |
- | + | ||
- | Plug in your microphone or aux input into the respective jack on your Genesys 2. Plug your speakers/ | + | |
===== Downloads ===== | ===== Downloads ===== | ||
- | Genesys2 Support | + | Zedboard Project |
------ | ------ | ||
- | ===== How to... ===== | ||
- | ==== 1. Download the Project | + | ===== Download |
- | >1.1) Download | + | > |
- | >1.2) If you want to generate | + | > |
- | + | ||
- | ==== 2. Generate the Project ==== | + | |
- | >2.1) If not already installed, install the Vivado Board Files for the Genesys 2 by following this guide: [[vivado: | + | |
- | + | ||
- | >2.2) Generate the **user_demo** project | + | |
- | + | ||
- | ==== 3. Build the Project ==== | + | |
- | + | ||
- | >3.1) Click **Generate Bitstream** | + | |
> | > | ||
- | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | + | >{{:learn: |
- | > | + | |
- | >{{:basys3:buildflow.png?600|}} | + | |
- | + | >3) Turn on your board and open a serial terminal (such as TeraTerm) on your computer | |
- | ==== 4. Export to SDK ==== | + | |
- | + | ||
- | >4.1) Export the microblaze project by going to **File-> | + | |
> | > | ||
- | >4.2) Skip to step 6. | + | ><WRAP round tip 660px> |
- | + | ===Tip=== | |
- | ==== 5. Open Xilinx SDK and create a workspace ==== | + | To make sure that you don't miss any startup messages, you can connect your serial terminal to your board before the board is programmed. If the demo is already running, you can restart the demo in SDK to make sure you get these messages. |
- | + | </ | |
- | >5.1) Open up Xilinx | + | |
> | > | ||
- | >{{:genesys2:1.jpg?500|}} | + | >{{:learn:programmable-logic: |
- | ==== 6. Import | + | ===== Using the Zedboard DMA Audio Demo ===== |
- | >6.1) In your project Explorer window on the left side, click **File-> | + | ==== 1. Controls ==== |
- | > | + | |
- | > | + | |
- | >6.2) Navigate to where you saved the downloaded project, select the **sdk** folder, | + | Audio playback |
- | > | + | |
- | > | + | |
- | >6.3) Import the projects by clicking //Finish//. You can ignore the warnings that may pop up. | + | ^ Button |
- | > | + | ^ BTNL | play on line out | |
- | > | + | ^ BTNU | record from mic in | |
- | + | ^ BTND | play on hph out | |
- | ==== 7. Program the FPGA ==== | + | ^ BTNR | record from line in | |
- | + | ||
- | >7.1) Click **Xilinx Tools-> | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | ==== 8. Program the Microblaze processor ==== | + | |
- | + | ||
- | >8.1) Right click on the **demo** folder and click **Run as-> | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | ===== Running the Genesys 2 DMA Audio Demo ===== | + | |
- | + | ||
- | This portion will help you run the demo and observe all its features. | + | |
- | ==== 1. Recording from an input ==== | + | ==== 2. Recording from an input ==== |
- | To record from the microphone input, press btnu. To record from the line input, press btnr. Once the recording is activated, the message "Start Recording..." | + | To record from the microphone input, press **BTNU**. To record from the line input, press **BTNR**. Once the recording is activated, the message "Start Recording..." |
- | ==== 2. Playing to an output ==== | + | ==== 3. Playing to an output ==== |
- | To play to the microphone input, press btnd. To play to the line output, press btnl. Once the playback is activated, | + | To play to the headphone output, press **BTND**. To play to the line out, press **BTNL**. Once the playback is activated, the message "Start Playback..." |
- | {{tag> | + | {{tag> |