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