Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| learn:programmable-logic:tutorials:arty-oled-acl:start [2017/05/22 11:16] – created Cristian Fatu | learn:programmable-logic:tutorials:arty-oled-acl:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Arty OLED ACL Demo ====== | ====== Arty OLED ACL Demo ====== | ||
| + | {{: | ||
| + | <WRAP round important 660px> | ||
| + | === Important! === | ||
| + | FIXME: Download links are broken. | ||
| + | </ | ||
| - | {{: | ||
| ===== Overview ===== | ===== Overview ===== | ||
| + | This project demonstrates the use of the Arty board with expansion modules: Basic IO Shield and PmodACL. It is a simple Microblaze application. | ||
| ==== Features Used ==== | ==== Features Used ==== | ||
| - | | ^ Not Used ^ Used ^ | + | | ^ Not Used ^ Used ^ |
| - | ^ 2 user switches | + | ^ 4 user switches |
| - | ^ 2 user LEDs | + | ^ 8 user LEDs (Arty) |
| - | ^ 2 user RGB LEDs | + | ^ 4 user push buttons |
| - | ^ 4 user push buttons | + | ^ USB-UART Bridge |
| - | ^ USB-UART Bridge | + | ^ 10/100/1000 Ethernet PHY | X |
| - | ^ Micro SD card connector | + | ^ 512MiB 1050Mb/s DDR3 Memory |
| - | ^ HDMI Sink and HDMI Source | + | ^ Quad-SPI Flash | X |
| - | ^ PWM mono audio out w/ 3.5mm jack | X | + | ^ USB HID Host | X |
| - | ^ 10/100/1000 Ethernet PHY | X | + | ^ Pmod Connector (JB) | | |
| - | ^ 512MiB 1050Mb/s DDR3 Memory | + | ^ Arduino/chipKIT Shield connector |
| - | ^ Quad-SPI Flash | X | + | ^ 4 user switches (Basic IO Shield) |
| - | ^ Two Pmod ports | X | + | ^ 8 user LEDs (Basic IO Sheild) |
| - | ^ chipKIT connector for XADC signals | + | ^ 4 user push buttons (Basic IO Shield) |
| - | ^ USB HID Host | X | + | ^ Analog potentiometer (Basic IO Shield) |
| + | ^ Screw terminal connectors (Basic IO Shield)| | ||
| + | ^ OLED display (Basic IO Shield) | ||
| ==== Description ==== | ==== Description ==== | ||
| - | The Arty Z7 HDMI In project demonstrates the usage of the HDMI in and out ports on the Arty Z7 board. There are two projects, one for each variant of the board: | + | This project demonstrates the use of the Arty board with expansion modules: Basic IO Shield |
| The behavior is as follows: | The behavior is as follows: | ||
| - | * Video data streams in through | + | * Periodically, |
| - | * A UART interface is available | + | * The raw values read from PmodACL are converted in values expressed in terms of g, considering that the 10 bits values correspond |
| - | * There are 3 display frame buffers that the user can choose to display | + | * The values in terms of g are formatted and displayed on the OLED display. The OLED display is accessed over SPI. |
| + | |||
| + | The sources folder contains two separate folders containing functions for ACL and OLED. These functions can be used in any project using these devices. | ||
| ------- | ------- | ||
| Line 37: | Line 46: | ||
| ===Hardware=== | ===Hardware=== | ||
| - | * **Arty | + | * **Arty board** |
| - | * **Micro-USB cable** | + | * **Basic IO Shield** |
| - | * **HDMI cable** | + | * **PmodACL** |
| - | * **HDMI source** | + | |
| - | * **HDMI monitor** | + | |
| ===Software=== | ===Software=== | ||
| Line 50: | Line 58: | ||
| ----- | ----- | ||
| + | |||
| + | ===== Project setup ===== | ||
| + | The picture from the top of this document shows the overall setup of this project. | ||
| + | |||
| + | 1. Connect the PmodACL in the JB Pmod connector of Arty. | ||
| + | |||
| + | 2. Connect the Basic IO Shield in the Arduino/ | ||
| + | |||
| + | 3. Connect the USB cable in the PC and in the micro-USB connector J10 of Arty. | ||
| + | |||
| + | |||
| ===== Downloads ===== | ===== Downloads ===== | ||
| - | Arty Z7-10 Hdmi In Project Repository -- [[https:// | + | Arty Oled ACL Project Repository -- [[https:// |
| - | ------- | + | |
| - | Arty Z7-20 Hdmi In Project Repository -- [[https:// | + | |
| - | ------- | + | |
| ===== How to..===== | ===== How to..===== | ||
| Line 61: | Line 77: | ||
| >1.1) Download the project linked in the download section and unzip it in the location of your choosing. | >1.1) Download the project linked in the download section and unzip it in the location of your choosing. | ||
| - | >1.2) Generate the **hdmi_in** project in the Projects folder by following this guide before continuing: [[vivado: | + | >1.2) Generate the **Arty Oled ACL** project in the Projects folder by following this guide before continuing: [[vivado: |
| ==== 2. Build the Project ==== | ==== 2. Build the Project ==== | ||
| Line 67: | Line 83: | ||
| > | > | ||
| >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | >Note: If you want, you can click each step by itself in the order of **Run Synthesis**, | ||
| - | > | + | >{{:learn:programmable-logic: |
| - | >{{:basys3:buildflow.png?600|}} | + | |
| ==== 3. Export to SDK ==== | ==== 3. Export to SDK ==== | ||
| - | >3.1) Export the microblaze | + | >3.1) Export the Microblaze |
| - | > | + | > |
| - | >{{:zybo:exporthw.jpg?500|}} | + | >Click the check box to Include the bitstream, and Select < |
| + | > | ||
| + | >This will export the needed files into the sdk folder in your project directory. | ||
| + | |||
| + | >3.2) Launch SDK. | ||
| + | > | ||
| + | >{{:learn:programmable-logic: | ||
| + | |||
| ==== 4. Import the SDK files ==== | ==== 4. Import the SDK files ==== | ||
| - | >4.1) In your project Explorer window on the left side, click **File> | + | >4.1) In Xilinx SDK, select |
| > | > | ||
| - | > | + | > |
| + | |||
| + | After this you should be able to see the Oled_Acl project in the Project explorer panel. | ||
| ==== 5. Program the FPGA ==== | ==== 5. Program the FPGA ==== | ||
| >5.1) Click **Xilinx Tools> | >5.1) Click **Xilinx Tools> | ||
| > | > | ||
| - | > | + | > |
| + | }} | ||
| ==== 6. Program the Microblaze Processor ==== | ==== 6. Program the Microblaze Processor ==== | ||
| - | >6.1) Click on the **hdmi_in** folder | + | >6.1) Click on the **Oled_Acl** project |
| - | > | + | > |
| - | {{: | + | |
| - | ==== 7. Run the Project ==== | + | |
| - | This portion will help you run the demo and observe all its features. | ||
| - | |||
| - | >7.1) Setup | ||
| - | > | ||
| - | >Plug one end of the HDMI cable into a video source and the other into the ZYBO HDMI port. Plug one end of your other HDMI cable into the HDMI Out port of the Arty Z7 and the other into your HDMI monitor. | ||
| - | > | ||
| - | > | ||
| - | |||
| - | >7.2) Setting up UART communications | ||
| - | > | ||
| - | >To see the UART communication channel, open a terminal program on your computer set to 112500 baud rate, 8 data bits, no parity bit and 1 stop bit. On startup, the Arty Z7 will display the HDMI settings menu, shown below. | ||
| - | > | ||
| - | > | ||
| - | |||
| - | >7.3) HDMI display options | ||
| - | > | ||
| - | > 1 - Changes the resolution of the HDMI output to the monitor. | ||
| - | > 2 - Changes the frame buffer to display on the HDMI monitor. | ||
| - | > 3/4 - Stores a test pattern in the chosen Video Frame buffer - color bar or blended. | ||
| - | > | ||
| - | > 5 - Starts/ | ||
| - | > 6 - Changes the video buffer that HDMI data is streamed into. | ||
| - | > 7 - Inverts and stores the current video frame into the next video frame buffer and displays it. | ||
| - | > | ||
| - | > 8 - Scales the current video frame to the display resolution and stores it into the next video frame buffer, then displays it. | ||
| > | > | ||
| - | {{tag> | + | {{tag> |

