A DAQ system to stream ADC data continuously to a
host computer
This setup streams ADC values
continuously to a computer, it is a proof of concept prototype as well as a learning
exercise to be familiar with the Xilnx ZYNQ SoC hardware and Xilinx software development
platform. It uses a ZYNQ development board ( pynq-z1) which is based on a ZYNQ
7000 series SoC. As shown in the block diagram below, analog
signals are digitized using the built in XADC converter. ADC values
are
then transfered (continously) to the board DDR memory using DMA transfers. A UDP
server
running in the ZYNQ ARM processor broadcasts data through the network.
A UDP client running on the host computer receives streamed data
through
the network, which can be processed and analyzed.
This project involved developing
the FPGA circuitry (including custom IP modules in verilog),
developing a custom embaded linux system, developing a kernel
module for the DMA device driver and application software for the server and client. All were done using
Xilinx development platform: Vivado, Vitas/SDK and
Petalinux.