Skip to content
This repository has been archived by the owner on Jul 1, 2023. It is now read-only.
/ EBAZ4205_Spectrum Public archive

EBAZ4205 and AD9226 as a 0-32 MHz radio spectrum viewer

License

Notifications You must be signed in to change notification settings

guido57/EBAZ4205_Spectrum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EBAZ4205_Spectrum

Description

This repository contains the Vivado project, the Vitis project and a Python app to display the 0-32 MHz radio spectrum in a full view.

Getting Started for FPGA or EBAZ4205 beginners

Before going straight to this project, I strongly reccomend to carefully prepare your HW / SW environment, following the instructions contained in:

In this project there's nothing esoteric, but it is quite complex because it requires:

  • Hardware assembling (you can use a solder iron on SMD, don't you?)
  • FPGA Zynq7010 design and programming with Xilinx Vivado
  • flashing Linux on the Zynq7010 FPGA with Xilinx Petalinux
  • building a C++ program running on Linux
  • building a Python program on Windows

Getting Started

Software

The following chapters describe the three main SW sub-projects (folders of this repository)

  • Zynq: the Xilinx Vivado project to program the Zynq7010 PL (Programmable Logic)
  • Vitis: the Xilinx Vitis project to build the TCP_server Linux app running on the Zynq7010 PS (Processing System)
  • SpectrumPy: the Python software for Windows to display the spectrum
  • Change the FFT windowing method: Hanning, Hamming, Bartlett, Blackman ...

The Petalinux project is not in this Repository because is the same of my EBAZ4205 repository

block diagram

Zynq

This is the Xilinx Vivado 2021.2 project that let's you to program the Zynq7010 FPGA (PL side) contained in the EBAZ4205 board.

After programming it, the EBAZ4205 will:

  • supply a 64 MHz clock to the AD9226 board
  • receive the 12 bits samples from the AD9226
  • receive commands from the Linux TCP_server program to:
    • capture a frame of samples (16384 samples at a time)
    • switch between the ADC input and a local RF test generator
    • change the local RF test generator frequency in the range 100 KHz - 30 MHz

Vitis

This is the Xilinx Vitis 2021.2 project that let's you to build a C++ app running on the Zynq7010 PS to:

  • create a TCP server to send data/receive command to/from the SpectrumPy app
  • "send commands"/"receive data" to/from the Zynq7010 PL

SpectrumPy

This is the Python software receiving sampled data from EBAZ4205 and displaying spectrum and waterfall in its User Interface. It lets you to send commands to EBA4205 also to:

  • switch between the ADC input and a local RF test generator
  • change the local RF test generator frequency in the range 100 KHz - 30 MHz
  • change the waterfall colors

Please note that the following UI controls don't work yet (they'll work in EBAZ4205_SDR!):

  • Gain (dB)
  • NFFT
  • Freq Correction
  • Center Frequency (Hz)

License

  • MIT

About

EBAZ4205 and AD9226 as a 0-32 MHz radio spectrum viewer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published