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.