All Projects → xaxaxa-dev → Vna

xaxaxa-dev / Vna

Licence: gpl-2.0
a simple and cheap vector network analyzer, including support software

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Vna

iceskate
A low cost FPGA development board for absolute newbies
Stars: ✭ 15 (-87.6%)
Mutual labels:  fpga, pcb
Riscboy
Portable games console, designed from scratch: CPU, graphics, PCB, and the kitchen sink
Stars: ✭ 103 (-14.88%)
Mutual labels:  fpga, pcb
basic-ecp5-pcb
Reference design for Lattice ECP5 FPGA. Featuring Raspberry Pi interface and 6 PMODs
Stars: ✭ 71 (-41.32%)
Mutual labels:  fpga, pcb
Beagle sdr gps
KiwiSDR: BeagleBone web-accessible shortwave receiver and software-defined GPS
Stars: ✭ 300 (+147.93%)
Mutual labels:  fpga, pcb
Awesome-Retro-Docs
A curated collection of technical documentation for Arcades, Handhelds, Consoles, Computers and MCU’s.
Stars: ✭ 128 (+5.79%)
Mutual labels:  fpga, pcb
Electron
A mixed signal netlist language (pre-alpha)
Stars: ✭ 52 (-57.02%)
Mutual labels:  fpga, pcb
Vgasim
A Video display simulator
Stars: ✭ 94 (-22.31%)
Mutual labels:  fpga
Fpga Soc Linux
FPGA+SoC+Linux+Device Tree Overlay+FPGA Manager U-Boot&Linux Kernel&Debian10 Images (for Xilinx:Zynq-Zybo:PYNQ-Z1 Altera:de0-nano-soc)
Stars: ✭ 106 (-12.4%)
Mutual labels:  fpga
Awesome Mechanical Keyboard
⌨️ A curated list of Open Source Mechanical Keyboard resources.
Stars: ✭ 1,294 (+969.42%)
Mutual labels:  pcb
Tf2
An Open Source Deep Learning Inference Engine Based on FPGA
Stars: ✭ 113 (-6.61%)
Mutual labels:  fpga
Neorv32
A small and customizable full-scale 32-bit RISC-V soft-core CPU and SoC written in platform-independent VHDL.
Stars: ✭ 106 (-12.4%)
Mutual labels:  fpga
Cores Swerv El2
SweRV EL2 Core
Stars: ✭ 79 (-34.71%)
Mutual labels:  fpga
Systemrdl Compiler
SystemRDL 2.0 language compiler front-end
Stars: ✭ 95 (-21.49%)
Mutual labels:  fpga
Dace
DaCe - Data Centric Parallel Programming
Stars: ✭ 106 (-12.4%)
Mutual labels:  fpga
Icestation 32
Compact FPGA game console
Stars: ✭ 93 (-23.14%)
Mutual labels:  fpga
Jlcparts
Better parametric search for components available for JLC PCB assembly
Stars: ✭ 114 (-5.79%)
Mutual labels:  pcb
Kactus2dev
Kactus2 is a graphical EDA tool based on the IP-XACT standard.
Stars: ✭ 82 (-32.23%)
Mutual labels:  fpga
Glasgow
Scots Army Knife for electronics
Stars: ✭ 1,374 (+1035.54%)
Mutual labels:  fpga
Livehd
Live Hardware Development (LiveHD), a productive infrastructure for Synthesis and Simulation
Stars: ✭ 110 (-9.09%)
Mutual labels:  fpga
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+1016.53%)
Mutual labels:  fpga

vna

A simple and cheap vector network analyzer, including support software.

As seen on kickstarter: https://www.kickstarter.com/projects/1759352588/xavna-a-full-featured-low-cost-two-port-vna

Directory layout

  • libxavna: C & C++ library for accessing the hardware, see README.md in subdirectory for more info
  • vna_qt: QT GUI
  • pcb: schematics, pcb layouts, and simulation files
  • vhdl: circuitry implemented on the fpga

Specifications

  • Frequency range: guaranteed 137MHz - 2500MHz, typical 135MHz - 3500MHz
  • Output signal level (configurable in software): -20dBm to 10dBm, with 1dB increments

Interfacing

  • The main board connects to a PC through usb and communicates via a virtual serial port device; the PC software sets the frequency and other parameters by sending two-byte register write commands, and the device sends averaged vector values representing magnitude and phase of measured waves.

Table of Contents

Downloads

For pre-compiled executables go to: https://github.com/xaxaxa-dev/vna/releases

Building the software

Building on linux

Build libxavna (required for QT GUI):

sudo apt-get install automake libtool make g++ libeigen3-dev libfftw3-dev
cd /PATH/TO/vna
autoreconf --install
./configure
make
cd libxavna/xavna_mock_ui/
/PATH/TO/qmake
make

Build & run QT GUI:

sudo apt-get install libqt5charts5-dev
cd /PATH/TO/vna
cd vna_qt
/PATH/TO/qmake
make
export QT=/PATH/TO/QT # e.g. ~/qt/5.10.1/gcc_64
../run ./vna_qt

Building on mac os

brew install automake libtool make eigen fftw
cd /PATH/TO/vna
./deploy_macos.sh
# result is in ./vna_qt/vna_qt.app

Cross-compile for windows (from linux)

Download and build MXE:

cd ~/
git clone https://github.com/mxe/mxe.git
cd mxe
export QT_MXE_ARCH=386
make qt5 qtcharts cc eigen fftw pthreads

Edit mxe/settings.mk and add i686-w64-mingw32.shared to MXE_TARGETS.

Build

cd /PATH/TO/vna
export PATH="/PATH/TO/MXE/usr/bin:$PATH"
./deploy_windows.sh

Pictures

Main board (release 2)
Calibration standards (Short, Open, Load)

Screenshots

Open circuited coax stub
Antenna
Time to fault (measuring coax cable)

Block diagram

Overall architecture
Receivers & interfacing
Signal generator
FPGA logic
Parts selection

T/R version

  • fpga: XC6SLX9-2TQG144C
  • adc: AD9200
  • mixer: AD8342
  • synthesizers: ADF4350
  • rf switches: BGS14GA14
  • programmable attenuator: PE4312

Full two port version

  • fpga: XC6SLX9-2TQG144C
  • adc: ADC10080
  • adc driver: ADA4932-1
  • mixer: AD8342
  • synthesizers: ADF4351
  • rf switches: RFSW6024, BGS12PL6
  • programmable attenuator: PE4312
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].