Very Fast Analog Read/Write with PYNQ - Z2

Hi guys, I’m pretty new to PYNQ boards and I try to achieve this scenario:

I have a laser driver which requires 0-3.3V analog signal (changes the laser power according to voltage) and I have a photon counter which outputs 0-3.3V analog signal (voltage is porpotional to the photon count).

I have a PYNQ-Z2 board and looked it up online but couldn’t find any solution for very fast rates. Very fast rate = 1 million analog signal read/write per second. After some digging, I decided that 1 Mcnt/s is not something achiavable (hope I’m wrong), however I want the setup to be as fast as possible. Is there any solutions that you can share or any links which can lead me to the solution.


1 Like

You could us the XADC 1MSPS ADC on the Zynq, but you would need an external DAC to ok run at 1MSPS or at a minimum build some external circuitry. The main problem is finding a suitable DAC and connecting it to the PYNQ-Z2. Pmod is a low speed interface. Most of the Pmod devices use SPI or I2C which further limits how fast you can control an external peripheral. If you only need 1MSPS you may be able to find something suitable.
You would need to drive it directly from PL and not the PYNQ IOPs as these will add overhead limiting the speed
If you write a regular pattern, the logictools overlay may be of use for you.
For a “fast” solution, RFSOC has 5GSPS ADCs and ~10GSPS DACs

This is 20x cost of PYNQ-Z2 and only available to academia.
There would be intermediate solutions like the PYNQ-ZU where you could use a Zyzygy DAC which is still expensive vs PYNQ-Z2 but would give ~100MSPS.


1 Like