Zynq AMS Post Processing in PL App Note
Table of Contents
1 Introduction
This page provides instructions on how to build various components of the ZC702 AMS Post Processing using Sensor Linearizer, FIR filter and Decimator IP in Zynq-7000 SoC Programmable Logic and how to setup the hardware platform and run the design on the ZC702 Evaluation Kit. The ZC702 Evaluation kit is based on a XC7Z020 CLG484-1 Zynq-7000 SoC device. For additional information, refer to XAPP1203
1.1 About the AMS Post Processing Application Note
Most systems need to be able to interact with the real world for the purpose of monitoring and controlling it. To allow this to happen, systems contain sensors that translate real-world stimuli, such as light, heat, and sound, into analog electrical signals. The analog outputs of these sensors need to be processed and digitized so that the appropriate information can be presented to the digital controller or processor. The analog processing and conditioning of the sensor output is done in many different ways, depending on factors such as the accuracy requirement and the type of sensor used. Common analog functions include:
• Level Translation (Bipolar to Single-Ended)
• Gain/Attenuation
• Bandwidth Limiting/Filtering/Noise Reduction
• Gain and Offset Error Cancellation
• Linearization
As most systems process digital information, an analog-to-digital converter (ADC) is required to digitize the processed sensor output. These ADCs come in many forms and are typically defined by their resolution and speed. ADCs are now also integrated into microcontrollers and FPGAs, such as the XADC, which can be found in all Xilinx's 7 series FPGAs and SoCs. ADC speeds have increased significantly over the years due to process scaling. It is now relatively inexpensive to buy ADCs with sample rates in the range of 1 MSPS and above. This increase in speed, together with digital signal processing, can be leveraged to enhance the performance of the solution.
The block diagram of the design is shown in Figure below. The design composes of a control processor and the analog post processing IP implemented on Zynq-7000 SoC Programmable Logic (PL). The analog post processing IPs use the DSP48 embedded macros available in the PL.
The design has Cortex-A9 multicore processor in Zynq-7000 Processing System that acts as a control processor and initializes and configures the different peripheral blocks used in the design.
1.2 Package Content
The XAPP1203 package contains the following:
XAPP1203 IPI based Hardware Design Files
XAPP1203 Application C code
Pre-built SD images for out-of-box user experience
Readme file
The following Figure shows the directory structure tree.
2 Prerequisites
The ZC702 Evaluation Kit ships with the version 2013.4 Device-locked to the Zynq-7000 XC7Z020 CLG484-1 device and all required licenses to build the application note.
A Linux/Windows development PC with Vivado 2013.4 Vivado Design Suite installed
A Linux/Windows development PC with Xilinx SDK 2013.4 version installed
TeraTerm/HyperTerminal application for communicating with the Zynq-7000 AP SoC design
3 Building the Hardware Design
This section explains the steps required to implement the Hardware Design using Vivado Design Suite, 2013.4.
On Windows 7, browse to Start > All Programs > Xilinx Design Tools > Vivado 2013.4 > Vivado 2013.4 Tcl Shell
On Linux, Vivado will be invoked automatically by the Tcl script provided with the XAPP1203
Browse to xapp1203/hardware/vivado/scripts folder
On the Tcl Shell or the command prompt, type the following command
$ vivado -source create_project.tclThe above step invokes the Vivado GUI and opens the Vivado Project and the Block Diagram design
Edit the slave addresses of the peripherals as required in the Address Editor tab:
Click on Generate Bitstream Option in the left panel of the Vivado GUI
The above step generates the bitstream of the design.
Click on the Open Implemented Design dialogue box once the bitstream generation completes
Click on File->Export HW-> Export HW for SDK option
The user can import the AMS post processing hierarchical block containing Sensor Linearizer IP, FIR filter IP and the Decimator IP to their design by typing the following command in the Vivado GUI Tcl prompt:
source ams_post_proc_hier.tcl
Note that the user has to create a Vivado project before importing the Tcl file that instantiates AMS post processing hierarchical design.
The user needs to make the necessary connection to the below interface ports: