EDGE ZYNQ SoC FPGA kit Demonstration Manual (PL)

Overview

This package of demonstration projects can be used to illustrate the PL features of the EDGE ZYNQ SoC FPGA kit. Each chapter of this document will provide a brief overview for a basic demonstration of Programmable Logic part of the EDGE Board components and capabilities. In each chapter, there are details of the hardware required, version of Xilinx tools required, included support files and instructions to perform the demonstrations.
The EDGE_ZYNQ_7010_CODES.zip or EDGE_ZYNQ_7020_CODES.zip zipped folder contains this manual and directories for each chapter. In each chapter directory there are source files, compiled bit files, and documentation files for any additional hardware used. All projects were developed in Vivado Design Suite 2019.1

Setting up and programming the EDGE Zynq Board

In every chapter, the board will need to be setup and programmed. This section describes how to accomplish this.
Hardware Required:
– EDGE Zynq FPGA Development board
– USB A to B cable
Software Required:
– Vivado Design Suite 2019.1 or latest
Instructions:
1. Connect the USB A to B cable to the USB port (U21) on the EDGE Zynq Board above the power switch
2. Change the power switch position from Ext to USB on the EDGE Board to Power ON.

Open Vivado Design Suite and Select “Hardware Manager -> Open Target -> Auto Connect”


If the device is detected successfully, then select “Program Device” by right click on the target device “xc7z010_1” or “xc7z020_1” as shown below

Browse the Bit file need to be downloaded to the Zynq FPGA and click Program.

Once the Program Succeeds, Done LED D8 light up on EDGE Zynq FPGA kit.

Chapter 1A: Switch LED Demo

This is a simple demo that changes the status of the user LEDs (D4-D7) when user change SPDT switch state from low to High.
Additional Hardware Required:
None
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
The LEDs (D4 – D7) will light, when the SPDT Switches change their state from LOW to High.

Chapter 1B: Push Button Demo

This is a simple demo display the Push button state on LEDs.
Additional Hardware Required:
None
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
Each of 2 PL Push Button states is directly assigned to LEDs. When the user press Push Button corresponding LED turn ON. Push Button switch SW5 and SW7 are assigned in this demonstration with respective of LED D1 and D7.

Chapter 2A: BCD to 7 Segment Demo

This is a simple demo that displays 4 bit Switch BCD state in 7 Segment Display.
Additional Hardware Required:
– none
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
SPDT Switch SW6, SW4, SW3, SW8 is assigned for input of 4 bit BCD value.
When the Switch State is changed from 0000 to 1001 state corresponding decimal value is displayed on the seven segment displays from 0 to 9.

Chapter 2B: Seven Segment Display counter demo

This is a simple demo that displays decimal Counter on 7 Segment Display.
Additional Hardware Required:
– none
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
Decimal counter counts from 0 to 9999. The counter increments at the interval of 1 sec and repeat the sequence.
Reset switch sw8 is used to reset the counter to 0.

Chapter 3: Buzzer Demo

This is a simple demo produce sound at piezo Buzzer at regular interval.
Additional Hardware Required:
To enable Buzzer, Jumper needs to be placed at Enable position at J10
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
PWM pulse of 2 sec is generated and supplied to buzzer.
5v Piezo buzzer produce beep sound at the interval of 2 sec.

Chapter 4: 2×16 LCD Demo

This is a simple demo for displaying characters in the 2×16 LCD.
Additional Hardware Required:
Connect 2×16 LCD display at J14 Header
Software Platforms:
– Vivado Design Suite 2019.1
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
2×16 LCD displays the following characters 123456789ABCDEF in the second row.

Chapter 5: CMOS Camera / VGA Demo

This demo displays the OV7670 CMOS Camera sensor output in the VGA Monitor as a video frames.
Additional Hardware Required:
To interface OV7670 CMOS Camera with EDGE Board, Leave pin1 and pin2 of J13 unconnected. Connect pin3 of expansion connector to pin1 of CMOS Camera.
Connect VGA Monitor to the connector P1
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado project files
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
Video frames captures through OV7670 Camera module is 320*240.
Data is stored in BRAM present on Zynq FPGA as frame buffer before displaying in the VGA monitor.

Chapter 6: Wi-Fi Demo

In this demo, Temperature and LDR data is sent to cloud through Wi-Fi Interface.
Additional Hardware Required:
To enable power to the WiFi device, Place jumper at E and centre pin of J8.
Connect 2×16 LCD display at J7 Header.
External Temperature Sensor LM35 Input is available at the 2nd pin of ADC Connector. To Connect Temperature sensor with XADC, Place a jumper between TEMP and 2nd pin of J15 Connector.
LDR input is available at the 10th pin of ADC Connector. To Connect LDR sensor with XADC, Place a jumper between LDR and 10th pin of ADC Connector.

Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado Design Suite
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
Monitoring Temperature data through IoT
Transmitting Temperature and light level data through WiFi involves communication with cloud server using IP Address. We used an open source data logger website thingspeak.com to reduce the implementation cost. It provides a free user space for creating the data channels. Each channel will be having 8 fields to write the various data and it automatically plots the given data in a graphical representation.
We have to program for ESP32 to send the required AT commands and to establish a connection between the system and thingspeak server.
Once we created our channel for entering the data into cloud, the channel will be allocated with one API key. So we have to write the API key before writing the actual data, then the data will be stored and displayed in the required channel.
We have created two thingspeak channel that includes field 1 for Temperature Reading and field 2 for light level reading. The actual data obtained from the sensor will be first stored in a script and then the thingspeak server will automatically plots the data retrieving from the field.
To access the data from personal computing devices such Laptop, Tablet and Mobile Phone channel ID is required. Channel ID will be provided by Thingspeak.com when you create new channel. These channel ID can be changed to private or public depending on the application requirement.
Example Channel ID Will be like
https://thingspeak.com/channels/384072

Procedure to check the IoT Demo Code

Step 1: To start using ThingSpeak, you must create a new MathWorks account.
https://thingspeak.com/users/sign_up
Step 2: Login and setting up new channel to collect and display temperature data.
https://www.mathworks.com/help/thingspeak/collect-data-in-a-new-channel.html
New channel created can be available to the public or private based on settings selected.
Step 3: Establishing connection between ESP12F WiFi modem and Thingspeak cloud. We have send the following AT commands.
AT+RST
Reset the WiFi Module to Default State

AT+CWJAP=”WIFINAME”,”Password”
Set the home/office Wifi User Id and Password to connect ESP module to the internet

AT+CIPSTART=”TCP”,”184.106.153.149″,80
Connecting to TCT IP Address of Thingspeak.com

AT+CIPSEND=49
Sending total lengh of the data to transmitted to server.

GET /update?api_key=XXXXXXXXXXXXXXXX&field1=000
Set your API key received when creating new channel. Field 1 represent temperature value and Field 2 represent light intensity value.

AT+CLOSE
Close the communication with server.

Step 4: After updating IoT project file with WiFi user id, password and API key. Regenerate the project and download the bit file to FPGA.
Note: WiFi user id and password length may vary. We need to update the array length based on it.

Step5: Monitoring the data through channel id.
https://thingspeak.com/channels/384072

With API key and channel id, we can also monitor the output in Android / IOS App.

Chapter 7: Audio Demo

This demo generates 2-voice music box that plays J.S. Bach’s Invention at audio connector
Additional Hardware Required:
Connect head phone jack or speaker to the stereo Audio Connector
Software Platforms:
– Vivado Design Suite 2019.1 or latest
Supplied Files:
– Vivado Project file
Instructions:
1. Setup and program the board as described in the “Setting up and programming the EDGE Board” Section
Stereo Audio tempo is displayed on the LEDs and seven segments.
Music is held in a BRAM-based ROM, as are the tone frequencies (well-tempered scale), and output waveform. Output is 12-bit PWM at 48 KHz on each of the two audio outputs. This music conveniently has only two voices and one is played on each channel (left or right).
The music is repeating again and again.

×