Sampler - cnourshargh/Bham-ARTIQ-examples GitHub Wiki

For official Sampler page, click here

Overview

The Sampler is an 8 channel, 16 bit ADC. The sampler hardware is capable of 1.5 MS/s update rate on all 8 channels simultaneously, however ARTIQ adds timing overheads which means it is not possible to achieve this sampling rate. It has a selectable, per channel gain (1, 10, 100, or 1000). The highest sampling frequency I have been able to achieve is about 10kHz, using the Sampler_MultipleSamples.py code below.

Specifications

The sampler has an analogue bandwidth(-6dB) of 200kHz with G = 1,10,100 and a bandwidth of 90kHz with G = 1000. The input voltage range is -10V to 10V with G = 1, -1V to +1V with G = 10, -100mV to +100mV with G = 100, and -10mV to 10mV with G = 1000.

Code Examples

Sampler_SingleSample.py

Code demonstrating basic use of sampler to read voltage on up to 8 channels

  • Initialises and sets gains on all sampler channels
  • Creates list for sample data
  • Saves samples to list
  • Prints list

Sampler_MultipleSamples.py

Code demonstrating how to take multiple samples from the sampler in rapid succession. This code was sampling at 10.1kS/s when tested. This was the fastest samling rate achievable without getting underflow errors.

  • Initialises sampler
  • Generates dataset to be written to
  • Sets gains on all channels
  • Creates list for sample data
  • Loops the following 2000 times
    • Saves samples (in machine units) to list
    • Adds 0th element of list to dataset

From management system, dataset can be plotted with following applet

  • ${artiq_applet}plot_xy samples

Schematics

For Sampler Schematic, click here