background image

Classification

Revision

Public

PA6

Document Number

Date

17-1957

2018-06-07

ATDUpdateNofAccumulations()

ATDWaitForWFABuffer()

ATDWaitForWFACompletion()

Warning

The ADQAPI is not thread safe. Calling API functions from multiple threads may yield undefined

behavior.

5

User Application Example

This section aims to explain how to write the core code in the user application interfacing to ADQ7-FWATD

by using the provided C code as an example.

The ADQAPI reference guide [

3

] lists all the functions available in the ADQAPI and is a good supple-

mentary source of information. Please note that not all functions are valid for ADQ7.

5.1

Overview

The code implementing the digitizer interface in the user application centers around memory manage-

ment, configuration, running the measurement and reacting to any unexpected events in a way that

makes sense in the context of the user application.

Since ADQ7-FWATD extends the functionality of the base product, ADQ7-FWDAQ, almost all of the

functions listed as valid for ADQ7 in the ADQAPI reference guide [

3

] are valid for ADQ7-FWATD as

well. This includes functions handling trigger configuration, adjustable bias in the analog front-end, di-

gital baseline stabilization, clocking etc. The exceptions are the data management functions where the

FWATD-specific functions should be used instead of the general streaming functions.

The example is divided into five parts and the principal actions should be imitated in any code inter-

facing to ADQ7-FWATD.

Parameter definition

The digitizer settings are defined in this step together with the allocation of static memory.

Memory allocation

The application dynamically allocates system memory to be used as target buffers, used to shuttle

data between the API and user space.

Digitizer setup

Based on the defined parameters, relevant API functions are called to carry out the digitizer con-

figuration. The order of operations does not matter in this step as long as no data collection

functions are called and the digitizer is disarmed (default state).

Data collection

The heart of the application is the data collection loop. There are two versions, controlled by the

define

SINGLE_SHOT_COLLECTION

(disabled by default). The define will cause either the streaming-

ADQ7-FWATD User Guide

www.teledyne-spdevices.com

Page 18 of 26

Summary of Contents for ADQ7-FWATD

Page 1: ...ADQ7 FWATD User Guide Author s Teledyne SP Devices Document no 17 1957 Classification Public Revision PA6 Date 2018 06 07...

Page 2: ...er 7 4 1 3 Internal Trigger 8 4 1 4 External Trigger 8 4 2 Configurable FIR Filter 8 4 3 Sample Skip 8 4 4 Advanced Threshold 9 4 4 1 Threshold Logic 9 4 4 2 Filter 9 4 5 Waveform Accumulator 10 4 5 1...

Page 3: ...07 5 4 Default Behavior 19 5 5 Interpreting the Data 20 5 6 MATLAB 20 6 Troubleshooting 21 6 1 Managing License Files 21 6 1 1 Reading the DNA 21 6 1 2 Updating the Digitizer License 21 A Linux SDK R...

Page 4: ...in firmware option DRAM Dynamic random access memory FIR Finite impulse response FW Firmware digitizer feature set GSPS 109 samples per second RAM Random access memory SDK Software development kit WFA...

Page 5: ...ty 1CH 32 samples Length granularity 2CH 16 samples Length granularity 3 2 n s Waveform dead time 32 ns Accumulation dead time 32 ns Number of accumulations 1 262 1441 Accumulation granularity 1 Advan...

Page 6: ...vely increasing the dynamic range of the system WFA firmware software The waveform accumulator resides partly in firmware and partly in software inside the ADQAPI This structure offers flexibility and...

Page 7: ...llation directory C_examples and the documentation in Path to installation directory Documentation 3 1 2 Installing the SDK Linux The SDK is supported for a number of Linux distributions and versions...

Page 8: ...ith SetTriggerMode Please refer to the ADQAPI reference guide 3 for informa tion on the argument list 4 1 1 Software Trigger The software trigger is issued by calling the API function SWTrig and its m...

Page 9: ...to update the filter coefficients and expects exactly 9 coefficients up to and including the point of symmetry It is possible to specify the coefficients using a floating point representation However...

Page 10: ...ltiplexer which selects between the baseline and the original data on a sample by sample basis The decision logic compares the user defined threshold value to the filter output and depending on the po...

Page 11: ...least 9 elements otherwise a memory access violation will occur 4 5 Waveform Accumulator The WFA on ADQ7 FWATD is partitioned meaning that the work load is split between the digitizer and the host co...

Page 12: ...grid at the next grid point in the current grid Note The grid refers to the accumulation grid which is equivalent to the trigger grid downsampled with a factor equal to the number of accumulations For...

Page 13: ...core concept is to discard data in a well defined manner such that the overall accumulation grid is preserved and corrupted records are prevented from propagating to the user space The digitizer firmw...

Page 14: ...scarded in a well defined manner What well defined means in detail is beyond the scope of this document However the resulting user space behavior is worth commenting on An overflow will manifest itsel...

Page 15: ...red enough buffers 4 8 Collection Modes ADQ7 FWATD features two collection modes single shot and streaming The modes are geared to wards different use cases however the streaming mode is more general...

Page 16: ...the WFA engine by calling ATDSetupWFA specifying the horizontal settings of the acquisition i e the record length and any pre trigger or trigger hold off values Additionally the number of accumulation...

Page 17: ...data Reinsert buffer into queue ATDRegisterWFABuffer Stop collection 1 Pointer value 0 Timeout Shut down WFA engine ATDStopWFA ATDWaitForWFACompletion N Y 2 Streaming thread not running Restart Digit...

Page 18: ...there will be difference of a factor of four between the configured level trigger threshold value and the corresponding sample value in the user space record Note Vertical settings in theADQAPI are d...

Page 19: ...d for ADQ7 FWATD as well This includes functions handling trigger configuration adjustable bias in the analog front end di gital baseline stabilization clocking etc The exceptions are the data managem...

Page 20: ...ult the test pattern generator and level trigger are activated This means that the example can be run out of the box and data will be received even without connecting any input signals or triggers The...

Page 21: ...ntly Volts see Section 4 9 5 6 MATLAB On Windows systems the ADQAPI has support for MATLAB through the use of a MEX file This interme diate layer handles among other things the memory allocation and d...

Page 22: ...ttings as well as the specification for both the trigger and data signals Make sure to include a trace log file from a run where the error appears 6 1 Managing License Files ADQ7 FWATD requires a vali...

Page 23: ...nical Ma nual 2 Teledyne Signal Processing Devices Sweden AB 16 1692 ADQ7 datasheet Technical Specification 3 Teledyne Signal Processing Devices Sweden AB 14 1351 ADQAPI Reference Guide Technical Manu...

Page 24: ...tall packagename make kernel devel gcc The version of kernel devel must match your current kernel Install delivered versions of our packages using rpm U packagename Use the following order dkms spd ad...

Page 25: ...ault udev setting is to add read write access to the user group adq The libadq0 package will create a user group called adq if that group doesn t already exist in the system To be able to access the d...

Page 26: ...sification Revision Public PA6 Document Number Date 17 1957 2018 06 07 EXAMPLE CODE Some example code can be found in the examples directory ADQ7 FWATD User Guide www teledyne spdevices com Page 25 of...

Page 27: ...kringen 6 SE 583 30 Link ping Sweden Phone 46 0 13 645 0600 Fax 46 0 13 991 3044 Email info teledyne spdevices com Copyright 2018 Teledyne Signal Processing Devices Sweden AB All rights reserved inclu...

Reviews: