Apr 24th 2023: this repository is no more mantained because a new version exists at: https://github.com/guido57/EBAZ4205_SDR_spectrum
This repository contains:
- Vivado project
- Vitis project
- QT5 app
to display the 0-32 MHz radio spectrum in a full view and tune HF radio stations. This project is the continuation of https://github.com/guido57/EBAZ4205_Spectrum which is a 0-32 MHz radio spectrum viewer only.
Before going straight to this project, I strongly reccomend to carefully prepare your HW / SW environment, following the instructions contained in:
- HW is in my Cheap (35$) and powerful FPGA Programming Hackaday project
- SW is in my EBAZ4205 repository
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
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)
- sdr-app: the QT5 C++ software for PetaLinux to display the spectrum and tune the radio stations
This is the Xilinx Vivado 2022.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 sdr-app running on the PS side of the zynq-7000 to:
- capture a frame of samples (2048 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 - 32 MHz
- tune a radio station
- down convert and filter (CIC + FIR) the received signal
- demodulate (AM only at the moment) and send it to an external loudspeaker
- interface a PS/2 mouse
- send HDMI to an external monitor
This is the Xilinx Vitis 2022.2 project that let's you to build a C++ app, named colorbars, running on the Zynq7010 PS to configure the HDMI IPs (Video Timing Controller, Video DMA). This app has also a menu to choose the video format e.g. 1280x720 @ 50Hz and display colorbars for testing purposes.
This is the QT5 C++ 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 - 32 MHz
- tune radio stations
- change the waterfall colors (TODO)
- Set IF bandwith and IF gain
- MIT