Software development kit Waveform accumulation/accumulator 2 Features This section presents the specification of ADQ7-FWATD along with brief descriptions of some of its core features and limitations. Detailed information may be found in Section 4. 2.1 Specification The specification for the advanced time-domain firmware is presented in Tab. 2. For the general speci- fication of the ADQ7 digitizer, please refer to the ADQ7 data sheet [2].
Revision Classification Public Date Document Number 2018-06-07 17-1957 Table 2: ADQ7-FWATD specification Item Typical Unit Data path filter Filter type Linear phase FIR Filter order Coefficient width bits Coefficient fractional width bits Coefficient value 2 - 2 Coefficient precision Waveform accumulator...
Advanced threshold function (Firmware) (Software) Figure 1: A block diagram presenting the main features of the ADQ7-FWATD data path. 3 Getting Started This section provides information on how to interface with ADQ7 and the ATD firmware. Table describes the peripherals and their usage. Note that only the INX input should be used when the ADQ7 is running in the 1-channel mode.
The content of this file is also listed in Appendix A. 3.1.3 Unsupported Software Features The provided SDK is used across a wide range of products. Therefore, some of the software is not supported by ADQ7-FWATD, namely • LabView is not supported.
SDK, and for Linux in the examples/fwatd_example directory of the SDK archive. This example illustrates the capabilities of ADQ7-FWATD, and can be used as-is. However, the example is primarily intended to be used as a guide for creating use case specific applications.
The 1-channel mode supports skip factors in the set {1, 2, 4, 8, 16, 32, 33, , 65536} and the 2-channel mode supports skip factors in the set {1, 2, 4, 8, 16, 17, , 65536}. ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 8 of 26...
The threshold filter is a linear phase FIR filter of order 16. The filter coefficients use a 16-bit 2’s comple- ment representation with 14 fractional bits. Thus, the representable range is [-2, 2 - 2 ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 9 of 26...
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 computer. The WFA is composed of a 32-bit accumulator running in the digitizer’s FPGA working in tandem with a second 32-bit accumulator, implemented in software and running in a separate thread from the user application.
If any condition is not met, the function will return with a negative return value indicating what went wrong. Refer to the corresponding function description in the ADQAPI reference guide [3] for information on how to interpret the return value. ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 11 of 26...
17-1957 4.6 Data Struct The ADQ7-FWATD data struct is used to represent a record in user space and is used by all FWATD- specific functions associated with handling data. The struct offers an intuitive abstraction of all parts which together constitute a record: the metadata fields as well as the actual waveform data.
4.7.2 Status Codes The status value reported in the data struct (Tab. 4) provides information on the overall health of the WFA. The exact meaning of the value can be interpreted using Tab. 5. ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 13 of 26...
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 and is the recommended mode of operation due to its relaxed memory requirements.
Halting the WFA engine is carried out by calling ATDStopWFA() and then waiting for the internal thread to close. The wait state is implemented by the function ATDWaitForWFACompletion() which ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 15 of 26...
Page 17
Check status, handle data Reinsert buffer into queue ATDRegisterWFABuffer() Shut down WFA engine Stop collection? ATDStopWFA() ATDWaitForWFACompletion() Return memory Restart? Exit Figure 4: Data collection flowchart for the streaming mode. ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 16 of 26...
Vertical settings in the ADQAPI are defined using 16-bit ADC codes, i.e. in the range [-32768, 32767] regardless of the digitizer resolution. In the case of ADQ7-FWATD, which delivers 14-bit data aligned with the LSB at bit index zero. For example, this means that 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.
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.
Note If file writing is activated, the data is written to dataA.out and dataB.out. The data can either be stored in ASCII or binary format. The format is specified with ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 19 of 26...
Page 21
In order for MATLAB to correctly locate the MEX file, it is important to either extract the helper script get_adq_installer_path.m and place it in the working directory next to the example, or to manually add the path ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 20 of 26...
Page 22
Trace logging must be activated by calling ADQControlUnit_EnableErrorTrace() with the trace_level argument set to 3. If the error message is difficult to interpret, the Teledyne SP Devices support can be reached via e- mail at support@teledyne-spdevices.com. Please include information about your use case such as the WFA settings as well as the specification for both the trigger and data signals.
Page 23
[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 Manual. [4] Teledyne Signal Processing Devices Sweden AB, 16-1794 ADQ7-FWATD Datasheet. Technical Spe- cification. ADQ7-FWATD User Guide www.teledyne-spdevices.com...
Page 24
- Fedora 22 and higher Install these packages using 'dnf install packagename': dkms Install delivered versions of our packages using 'dnf install packagename'. Use the following order: spd-adq-pci-dkms libadq0 adqtools ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 23 of 26...
Page 25
Refer to your distribution documentation on how to do this. === API USER GUIDE === The API user guide is included as a .pdf document in the "doc" directory. All API functions are described there. ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 24 of 26...
Page 26
Revision Classification Public Date Document Number 2018-06-07 17-1957 === EXAMPLE CODE === Some example code can be found in the "examples" directory. ADQ7-FWATD User Guide www.teledyne-spdevices.com Page 25 of 26...
Need help?
Do you have a question about the ADQ7-FWATD and is the answer not in the manual?
Questions and answers