Keysight M3102A PXIe User Manual

Keysight M3102A PXIe User Manual

Digitizers & digitizer combos
Hide thumbs Also See for M3102A PXIe:
Table of Contents

Advertisement

Quick Links

Keysight
M3100A/M3102A PXIe Digitizers
& M3300A/M3302A AWG & Digitizer Combos
User's
Guide

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the M3102A PXIe and is the answer not in the manual?

Questions and answers

Summary of Contents for Keysight M3102A PXIe

  • Page 1 User's Guide Keysight M3100A/M3102A PXIe Digitizers & M3300A/M3302A AWG & Digitizer Combos...
  • Page 2 Copyright Notice HEREIN. SHOULD KEYSIGHT AND THE public to use, modify, reproduce, © Keysight Technologies 2013 - 2018 USER HAVE A SEPARATE WRITTEN release, perform, display, or disclose No part of this manual may be...
  • Page 3 This chassis. that the line cord is connected to a product must be used in a normal Keysight products are designed for use properly-grounded power receptacle. condition (in which all means for with electrical signals that are rated Inspect the connecting cables, test protection are intact) only.
  • Page 4 Do not fuse with same type and rating. dispose in domestic household waste. To return unwanted products, contact PRODUCT MARKINGS: your local Keysight office, or for more information see http://about.keysight.com/en/companyinfo/e nvironment/takeback.shtml. The CE mark is a registered trademark...
  • Page 5: Table Of Contents

    Contents 1 Overview of Keysight Software and Programming Tools 1. 1 Keysight SD1 SFP Software 1. 2 Keysight Programming Tools 1. 2. 1 Keysight SD1 Programming Libraries 1. 2. 2 Keysight M3601A Hard Virtual Instrument (HVI) Design Environment Software 4 1. 2. 3 Keysight M3602A FPGA Design Environment Software 2 Using Keysight SD1 SFP Software 2.
  • Page 6 3. 3. 2. 13 DAQpauseMultiple 3. 3. 2. 14 DAQresume 3. 3. 2. 15 DAQresumeMultiple 3. 3. 2. 16 DAQflush 3. 3. 2. 17 DAQflushMultiple 3. 3. 2. 18 DAQtrigger 3. 3. 2. 19 DAQtriggerMultiple 3. 3. 2. 20 DAQcounterRead 3.
  • Page 7: Overview Of Keysight Software And Programming Tools

    M3300A/M3302A PXIe AWG/Digitizer Combos can be operated as classical bench- top instruments using Keysight SD1 SFP software; no programming is required. When SD1 SFP is opened, it identifies all Keysight PXIe hardware modules that are connected to the embedded controller or desktop computer, and opens a corresponding soft front panel for each piece of hardware.
  • Page 8: Keysight Programming Tools

    1 Overview of Keysight Software and Programming Tools 1. 2 Keysight Programming Tools The following programming tools are available to control Keysight M3100A/M3102A PXIe Digitizers, M3201A/M3202A PXIe AWGs, and M3300A/M3302A PXIe AWG & Digitizer Combinations: Keysight SD1 Programming Libraries  on page 3 Keysight M3601A Hard Virtual Instrument (HVI) Design Environment Software  on page 4...
  • Page 9: Keysight Sd1 Programming Libraries

    1 Overview of Keysight Software and Programming Tools 1. 2. 1 Keysight SD1 Programming Libraries Keysight supplies a comprehensive set of highly optimized software instructions that can control off-the-shelf functionalities of Keysight hardware. These software instructions are compiled into the Keysight SD1 Programming Libraries. Programs can be written with these libraries and run on an embedded controller or desktop computer.
  • Page 10: Keysight M3601A Hard Virtual Instrument (Hvi) Design Environment Software

    1. 2. 2. 2 HVI Functions Keysight’s HVI Technology uses the same programming instructions that are available in the Keysight SD1 Programming Libraries, with the difference that in an HVI, those instructions are executed by the hardware modules in hard real-time, not by the embeded controller or desktop computer.
  • Page 11 HVIs provide the same programming instructions available in the Keysight SD1 Programming Libraries. HVIs are programmed with Keysight M3601A Hard Virtual Instrument (HVI) Design Environment Software, with a user-friendly flowchart-style interface, compatible with Keysight M3201A/M3202A PXIe AWGs and M3100A/M3102A PXIe digitizers.
  • Page 12 In addition, Keysight modules exchange data and decisions for ultra-fast con- trol algorithms. Complete robustness: Execution is performed by hardware, without operating system, and independently of the user PC.
  • Page 13 FPGA-like performance and without any FPGA programming knowledge. Users can create a repository of HVIs that can be launched from VIs using the Keysight SD1 Programming Libraries. In an HVI, all Keysight modules run in parallel and completely synchronized, executing one flowchart per module.
  • Page 14: Keysight M3602A Fpga Design Environment Software

    Option FP1, which provide the same built-in functionalities of their standard counterparts, giving the users more time to focus on their specific functionalities. For example, using Option FP1 on a Keysight M3100A/M3102A PXIe digitizer, the user has all the off-the-shelf functionalities of the hardware (data capture, triggering, etc.), but custom real-time FPGA processing can be added in the data path, between the acquisition and the transmission of data to the computer.
  • Page 15 An FPGA programming environment provides the following features: Keysight M3602A is a complete FPGA programming environment that allows the user to customize Keysight M3201A/M3202A PXIe AWGs and M3100A/M3102A PXIe digitizers with Option FP1. Keysight M3602A provides the necessary tools to design, compile, and program the FPGA of the module.
  • Page 16 In Keysight M3602A, FPGA code is represented as boxes (called blocks) with IO ports. An empty project contains the ”Default Product Blocks” (off-the-shelf functionalities), and the ”Design IO Blocks”...
  • Page 17 1 Overview of Keysight Software and Programming Tools M3602A Diagram Blocks M3602A ControlCH Block This block provides all the control parameters set by the user software using the Keysight SD1 Programming Libraries. Parameters Name Description Outputs AngleModCtrl Angle modulation control (frequency or phase)
  • Page 18 1 Overview of Keysight Software and Programming Tools M3602A AWG Block This block is the Dual Arbitrary Waveform Generator. Parameters Name Description Inputs Control AWG operation control QueueCtrl AWG queue control Outputs Data_A Waveform A output (for dual waveforms), main waveform for single waveforms...
  • Page 19 1 Overview of Keysight Software and Programming Tools M3602A FuncGen Block This block is a function generator with angle modulation capabilities. Parameters Name Description Inputs AngleModCtrl Configures the angle modulation (frequency or phase) WaveShape Selects the output waveform between Sine, Triangular or Square AWGsignal Arbitrary waveform coming from the AWG.
  • Page 20 1 Overview of Keysight Software and Programming Tools M3602A ModGain Block This block has the following functionalities: It selects the output waveform between Sine, Triangular, Sawtooth, Square, Partner Channel, or AWG. It modulates the amplitude and the offset of the signal...
  • Page 21 1 Overview of Keysight Software and Programming Tools M3602A DOut Block This block sends the data directly to the hardware analog output. Parameters Name Description Inputs data data to be sent to the analog output channel Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 22 Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 23: Using Keysight Sd1 Sfp Software

    M3300A/M3302A PXIe AWG/Digitizer Combos can be operated as classical bench- top instruments using Keysight SD1 SFP software; no programming is required. When SD1 SFP is opened, it identifies all Keysight PXIe hardware modules that are connected to the embedded controller or desktop computer and opens a corresponding soft front panel for each piece of hardware.
  • Page 24: Main Soft Front Panel Controls

    2 Using Keysight SD1 SFP Software 2. 1 Main Soft Front Panel Controls The main soft front panel for the M3100A/M3102A PXIe Digitizers appear automatically when SD1 SFP is launched and the module is connected to the chassis. If there are no modules available, SD1 SFP will launch "Demo Offline" modules.
  • Page 25: Input Setting Controls

    2 Using Keysight SD1 SFP Software 2. 2 Input Setting Controls Workflow to Use the Digitizer 1. Select a scale value. 2. Set a prescaler value. 3. Set a coupling and impedance value. 4. Activate the cahnnel. Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 26: Time Domain Controls (Scope Like Operation)

    3. Set coupling and impedance 4. Define triggering: a. channel (any of the channels) b. edge (positive, negative, both) c. threshold (within full-scale settings of the channel) d. delay e. mode (normal, auto, slave) Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 27: Frequency Domain Controls (Spectrum Analyzer Functionality)

    2. Define number of FFT points (set resolution) 3. Set windowing option (see windows types below) 4. Set dynamic range: a. - scale (Linear or dB) b. - set max c. - define range Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 28: Window Types Used In Fft Functions

    Kaiser Adjustable window maximizing energy concentration in WINDOW_KAISER the main lobe Gauss Adjustable window (can be used for quadratic inter- WINDOW_GAUSS polation in frequency estimation) Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 29: Keysight Sd1 Command Reference

    SD_Module Functions (M3602A FPGA-related) on page 78 Programs can run on an embedded controller or desktop computer and be controlled with Keysight SD1 Programming Libraries. Keysight supplies a comprehensive set of highly optimized software instructions that controls off-the-shelf functionalities of Keysight hardware. These software instructions are compiled into the Keysight SD1 Programming Libraries.
  • Page 30: Support For Other Programming Languages

    3 Keysight SD1 Command Reference 3. 2 Support for Other Programming Languages Keysight provides dynamic libraries, e.g. DLLs, that can be used in virtually any programming language. Dynamic-link libraries are compatible with any programming language that has a compiler capable of performing dynamic linking. Here are some case examples: Compilers not listed above.
  • Page 31: Functions In Sd1 Programming Libraries

    3 Keysight SD1 Command Reference 3. 3 Functions in SD1 Programming Libraries The following functions are available in Keysight SD1 Programming Libraries. SD_Module Functions on page 28 Function Name Comments open on page 28 Initializes a hardware module and must be called before using any other module-related function.
  • Page 32 Returned buffer is a previously added buffer from the user and the user has to release/delete it. FFT on page 72 Calculates the FFT of data captured by DAQread for the selected channel. FFT frequency range goes from 0 to fs/2. Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 33 Reads a value from an HVI register of a hardware module (Option HV1 required). SD_Module Functions (M3602A FPGA-related) on page 78 Function Name Comments FPGAwritePCport on page 78 Writes data at the PCport FPGA block (Option FP1 required). FPGAreadPCport on page 80 Reads data at the PCport FPGA block (Option FP1 required). Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 34: Sd_Module Functions

    Chassis number where the module is located. The chassis number can be found in Keysight SD1 software or can be retrieved with getChassis on page 34. slot Slot number in the chassis where the module is located.
  • Page 35 SD_Module::open(string productName, string serialNumber, int compatibility); int SD_Module::open(string productName, int chassis, int slot, int compatibility); Python SD_Module.openWithSerialNumber(productName, serialNumber) SD_Module.openWithSlot(productName, chassis, slot) SD_Module.openWithSerialNumberCompatibility(productName, serialNumber, compatibility) SD_Module.openWithSlotCompatibility(productName, chassis, slot, compatibility) LabVIEW openWithSerialNumber.vi openWithSlot.vi M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 36: Close

    (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut. Outputs errorOut See Error Codes on page 83 int SD_Module_close(int moduleID); int SD_Module::close(); Visual Studio .NET, MATLAB int SD_Module::close(); Python SD_Module.close() LabVIEW close.vi M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 37: Modulecount

    3 Keysight SD1 Command Reference 3. 3. 1. 3 moduleCount Returns the number of Keysight SD1 modules (M31xxA/M32xxA/M33xxA) installed in the system. Static Function: (Object-oriented languages only) moduleCount is a static function Parameters Name Description Inputs errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be...
  • Page 38: Getproductname

    Chassis number where the module is located. The chassis number can be found in Keysight SD1 software or can be retrieved with getChassis on page 34. slot Slot number in the chassis where the module is located.
  • Page 39: Getserialnumber

    Chassis number where the module is located. The chassis number can be found in Keysight SD1 software or can be retrieved with getChassis on page 34. slot Slot number in the chassis where the module is located.
  • Page 40: Getchassis

    Negative numbers indicate an error, see Error Codes on page 83. errorOut (LabVIEW only) See Error Codes on page 83 int SD_Module_getChassis(int index); int SD_Module::getChassis(int index); Visual Studio .NET, MATLAB int SD_Module::getChassis(int index); Python SD_Module.getChassis() SD_Module.getChassisByIndex(index) LabVIEW Available: No M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 41: Getslot

    Negative numbers indicate an error, see Error Codes on page 83. errorOut (LabVIEW only) See Error Codes on page 83 int SD_Module_getSlot(int index); int SD_Module::getSlot(int index); Visual Studio .NET, MATLAB int SD_Module::getSlot(int index); Python SD_Module.getSlot() SD_Module.getSlotByIndex(index) LabVIEW Available: No M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 42: Pxitriggerwrite

    (LabVIEW only) A copy of moduleID errorOut Error Codes on page 83 int SD_Module_PXItriggerWrite(int moduleID, int nPXItrigger, int value); int SD_Module::PXItriggerWrite(int nPXItrigger, int value); Visual Studio .NET, MATLAB int SD_Module::PXItriggerWrite(int nPXItrigger, int value); Python SD_Module.PXItriggerWrite(nPXItrigger, value) LabVIEW Available: No M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 43: Pxitriggerread

    SD_Module_PXItriggerRead(int moduleID, int nPXItrigger); int SD_Module_PXItriggerRead(int moduleID, int nPXItrigger); Visual Studio .NET, MATLAB int SD_Module::PXItriggerRead(int nPXItrigger); Python SD_Module.PXItriggerRead(nPXItrigger, value) LabVIEW Available: No M3601A Available: No (The value can be accessed using math operations: for example, MathAssign.) Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 44: Sd_Ain Functions

    SD_AIN_channelInputConfig(int moduleID, int nChannel, double fullScale, int coupling); int SD_AIN::channelInputConfig(int nChannel, double fullScale, int coupling); Visual Studio .NET, MATLAB int SD_AIN::channelInputConfig(int nChannel, double fullScale, int coupling); Python int SD_AIN::channelInputConfig(int nChannel, double fullScale, int coupling); LabVIEW channelInputConfig.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 45: Channelprescalerconfig.vi

    Keysight SD1 Command Reference on page 23 int SD_AIN_channelPrescalerConfig(int moduleID, int nChannel, int prescaler); int SD_AIN::channelPrescalerConfig(int nChannel, int prescaler); Visual Studio .NET, MATLAB int SD_AIN::channelPrescalerConfig(int nChannel, int prescaler); Python int SD_AIN::channelPrescalerConfig(int nChannel, int prescaler); LabVIEW channelPrescalerConfig.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 46: Channeltriggerconfig

    SD_AIN_channelTriggerConfig(int moduleID, int nChannel, int analogTriggerMode, double threshold); int SD_AIN::channelTriggerConfig(int nChannel, int analogTriggerMode, double threshold); Visual Studio .NET, MATLAB int SD_AIN::channelTriggerConfig(int nChannel, int analogTriggerMode, double threshold); Python int SD_AIN::channelTriggerConfig(int nChannel, int analogTriggerMode, double threshold); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 47: Daqconfig

    (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut Outputs moduleIDout (LabVIEW only) A copy of moduleID errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQconfig(int moduleID, int nDAQ, int DAQpointsPerCycle, int cycles, int triggerDelay, int triggerMode); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 48: Daqdigitaltriggerconfig

    PXI (PXI/PXIe only) trigger number or external I/O trigger number triggerBehavior Trigger behaviour ( errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 49: Daqanalogtriggerconfig

    Configures the analog hardware trigger for the selected Trigger. Analog DAQ: This feature is only available for Data Acquisition Blocks (DAQs) included in products with analog inputs Parameters Name Description Inputs moduleID (Non-object-oriented languages only) Module identifier, Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 50: Daqread

    (if timeout is set to ”0” , then DAQreadwaits until DAQpoints are acquired). In the timeout elapses, there may be words available, but less than the configured amount. Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 51 SD_AIN::DAQread(int nDAQ, short* DAQdata, int DAQpoints, int timeout); Visual Studio .NET, MATLAB int SD_AIN::DAQread(int nDAQ, short[] DAQdata, int timeout); Python {short[], int} SD_AIN::DAQread(int nDAQ, int DAQpoints, int timeout); *Returned data array is a NumPy array LabVIEW DAQread.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 52: Daqstart.vi

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQstart(int moduleID, int nDAQ); int SD_AIN::DAQstart(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQstart(int nDAQ); Python int SD_AIN::DAQstart(int nDAQ); LabVIEW DAQstart.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 53: Daqstartmultiple.vi

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Error Codes int SD_AIN_DAQstartMultiple(int moduleID, int DAQmask); int SD_AIN::DAQstartMultiple(int DAQmask); Visual Studio .NET, MATLAB int SD_AIN::DAQstartMultiple(int nDAQmask); Python int SD_AIN::DAQstartMultiple(int nDAQmask); LabVIEW DAQstartMultiple.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 54: Daqstop.vi

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQstop(int moduleID, int nDAQ); int SD_AIN::DAQstop(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQstop(int nDAQ); Python int SD_AIN::DAQstop(int nDAQ); LabVIEW DAQstop.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 55: Daqstopmultiple.vi

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Error Codes int SD_AIN_DAQstopMultiple(int moduleID, int DAQmask); int SD_AIN::DAQstopMultiple(int DAQmask); Visual Studio .NET, MATLAB int SD_AIN::DAQstopMultiple(int nDAQ); Python int SD_AIN::DAQstopMultiple(int nDAQ); LabVIEW DAQstopMultiple.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 56: Daqpause.vi

    (Non-object-oriented languages only) Module identifier, or a negative number for errors (see Error Codes) errorOut Error Codes int SD_AIN_DAQpause(int moduleID, int nDAQ); int SD_AIN::DAQpause(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQpause(int nDAQ); Python int SD_AIN::DAQpause(int nDAQ); LabVIEW DAQpause.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 57: Daqpausemultiple.vi

    Outputs moduleIDOut (LabVIEW only) A copy of noduleID errorOut Error Codes int SD_AIN_DAQpauseMultiple(int moduleID, int DAQmask); int SD_AIN::DAQpauseMultiple(int DAQmask); Visual Studio .NET, MATLAB int SD_AIN::DAQpauseMultiple(int DAQmask); Python int SD_AIN::DAQpauseMultiple(int DAQmask); LabVIEW DAQpauseMultiple.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 58: Daqresume.vi

    (Non-object-oriented languages only) Module identifier, or a negative number for errors (Keysight SD1 Command Reference on page 23) errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQresume(int moduleID, int nDAQ); int SD_AIN::DAQresume(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQresume(int nDAQ); Python int SD_AIN::DAQresume(int nDAQ); LabVIEW DAQresume.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 59: Daqresumemultiple.vi

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Error Codes int SD_AIN_DAQresumeMultiple(int moduleID, int DAQmask); int SD_AIN::DAQresumeMultiple(int DAQmask); Visual Studio .NET, MATLAB int SD_AIN::DAQresumeMultiple(int DAQmask); Python int SD_AIN::DAQresumeMultiple(int DAQmask); LabVIEW DAQresumeMultiple.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 60: Daqflush.vi

    Non-object-oriented languages only) Module identifier, or a negative number for errors (see Keysight SD1 Command Reference on page 23) errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQflush(int moduleID, int nDAQ); int SD_AIN::DAQflush(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQflush(int nDAQ); Python int SD_AIN::DAQflush(int nDAQ); LabVIEW DAQflush.vi Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 61: Daqflushmultiple

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQflushMultiple(int moduleID, int DAQmask); int SD_AIN::DAQflushMultiple(int DAQmask); Visual Studio .NET, MATLAB int SD_AIN::DAQflushMultiple(int DAQmask); Python int SD_AIN::DAQflushMultiple(int DAQmask); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 62: Daqtrigger

    (Non-object-oriented languages only) Module identifier, or a negative number for errors (see Key- sight SD1 Command Reference on page 23 errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQtrigger(int moduleID, int nDAQ); int SD_AIN::DAQtrigger(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQtrigger(int nDAQ); Python int SD_AIN::DAQtrigger(int nDAQ); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 63: Daqtriggermultiple

    Outputs moduleIDOut (LabVIEW only) A copy of moduleID errorOut Error Codes int SD_AIN_DAQtriggerMultiple(int moduleID, int DAQmask); int SD_AIN::DAQtriggerMultiple(int DAQmask); Visual Studio .NET, MATLAB int SD_AIN::DAQtriggerMultiple(int DAQmask); Python int SD_AIN::DAQtriggerMultiple(int DAQmask); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 64: Daqcounterread

    Value of the DAQ counter or a negative number for errors Keysight SD1 Command Reference on page 23 errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_DAQcounterRead(int moduleID, int DAQ); int SD_AIN::DAQcounterRead(int DAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQcounterRead(int DAQ); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 65: Triggerioconfig

    Outputs moduleIDout (LabVIEW only) A copy of moduleID errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_triggerIOconfig(int moduleID, int direction, int syncMode); int SD_AIN::triggerIOconfig(int direction, int syncMode); Visual Studio .NET, MATLAB int SD_AIN::triggerIOconfig(int direction, int syncMode); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 66: Triggeriowrite

    (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut Outputs moduleIDout (LabVIEW only) A copy of moduleID errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_triggerIOwrite(int moduleID, int value); int SD_AIN::triggerIOwrite(int value); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 67: Triggerioread

    Outputs moduleIDout (LabVIEW only) A copy of moduleID value Trigger input value: 0 (OFF), 1 (ON). Negative numbers forKeysight SD1 Command Reference on page 23 errorOut Keysight SD1 Command Reference on page 23 int SD_AIN_triggerIOread(int moduleID); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 68: Clocksetfrequency

    (LabVIEW only) A copy of moduleID CLKsysFreq* It returns the real frequency applied to the hardware in Hz. It may differ from the desired frequency due to the hardware frequency resolution. Negative numbers for Keysight SD1 Command Reference on page 23 Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 69: Clockgetfrequency

    Name Description errorOut(LabVIEW only) Keysight SD1 Command Reference on page 23 *In Keysight Programming Libraries v.1.57.61 or older, clockSetFrequency returns CLKsyncFreq, the frequency of the internal CLKsync in Hz double SD_AIN_clockSetFrequency(int moduleID, double frequency, int mode); double SD_AIN::clockSetFrequency(double frequency, int mode); Visual Studio .NET, MATLAB double SD_AIN::clockSetFrequency(double frequency, int mode);...
  • Page 70: Clockgetsyncfrequency

    SD_AIN::clockGetFrequency(); LabVIEW clockGetFrequency.vi M3601A Available: No 3. 3. 2. 26 clockGetSyncFrequency This function returns the frequency of Clock System Parameters Name Description Inputs moduleID (Non-object-oriented languages only) Module identifier, returned by function open on page 28 Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 71: Clockresetphase

    3. 3. 2. 27 clockResetPhase This function sets the module in a sync state, waiting for the first trigger to reset the phase of the internal clocks CLKsync and CLKsys (see Clock System). Parameters Name Description Inputs Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 72: Daqbufferpoolconfig

    SD_AIN::clockResetPhase(int triggerBehavior, int PXItrigger, double skew); LabVIEW clockResetPhase.vi M3601A Available: No 3. 3. 2. 28 DAQbufferPoolConfig Configures buffer pool that will be filled with the data of the channel to be transferred to PC. Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 73 SD_AIN::DAQbufferPoolConfig(int nDAQ, short* dataBuffer, int nPoints, int timeOut, callbackEventPtr callbackFunction, void *callbackUserObj); Visual Studio .NET, MATLAB int SD_AIN::DAQbufferPoolConfig(int nDAQ, short[] dataBuffer); Python int SD_AIN::DAQbufferPoolConfig(int nDAQ, int nPoints, int timeOut); LabVIEW DAQbuffer functions are not accessible Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 74: Daqbufferadd

    SD_AIN_DAQbufferAdd(int moduleID, int nDAQ, short* dataBuffer, int nPoints); int SD_AIN::DAQbufferAdd(int nDAQ, short *dataBuffer, int nPoints); Visual Studio .NET, MATLAB int SD_AIN::DAQbufferAdd(int nDAQ, short[] dataBuffer); Python Not available LabVIEW DAQbuffer functions are not accessible Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 75: Daqbufferget

    &errorOut); short* SD_AIN:: DAQbufferGet(int nDAQ, int &readPointsOut, int &errorOut); Visual Studio .NET, MATLAB short[] SD_AIN::DAQbufferGet(int nDAQ, out int readPointsOut, out int errorOut); Python [short[], int} SD_AIN::DAQbufferGet(int nDAQ); *Returned data array is a NumPY array Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 76: Daqbufferpoolrelease

    (Non-object-oriented languages only) Module identifier, or a negative number for errors (see Error Codes errorOut See Error Codes int SD_AIN_DAQbufferRelease(int moduleID, int nDAQ); int SD_AIN::DAQbufferPoolRelease(int nDAQ); Visual Studio .NET, MATLAB int SD_AIN::DAQbufferPoolRelease(int nDAQ); Python SD_AIN::DAQbufferDAQbufferPoolRelease(int nDAQ); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 77: Daqbufferremove

    (Non-object-oriented languages only) Module identifier, or a negative number for errors (see Key- sight SD1 Command Reference on page 23 buffer Buffer obtained short* SD_AIN_DAQbufferRemove(int moduleID, int nDAQ); short* SD_AIN::DAQbufferRemove(int nDAQ); Visual Studio .NET, MATLAB short[] SD_AIN::DAQbufferRemove(int nDAQ); Python Not available Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 78: Fft

    Error Codes (page result Module (magnitude) of the FFT resultPhase Phase of the FFT errorOut Error Codes int SD_AIN_FFT(int moduleID, int channel, short *data, int size, double *result, int resultSize, double *resultPhase, bool dB, int windowType); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 79 SD_AIN::FFT(int channel, short[] data, out double[] result, out double[] resultPhase, bool dB, int windowType); Python {double[][], int} SD_AIN::FFT(int channel, short[] data, bool dB, int windowType); *Returned data array is a NumPy array LabVIEW Not available M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 80: Sd_Module Functions (M3601A Hvi-Related)

    SD_Module_writeDoubleRegisterWithName(int moduleID, const char* regName, double regValue, const char* unit); int SD_Module::writeRegister(int regNumber, int regValue); int SD_Module::writeRegister(const char* regName, int regValue); int SD_Module::writeRegister(int regNumber, double regValue, const char* unit); int SD_Module::writeRegister(const char* regName, double regValue, const char* unit); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 81 SD_Module::writeRegister(string regName, double regValue, string unit); Python SD_Module.writeRegisterByNumber(regNumber, regValue) SD_Module.writeRegisterWithName(regName, regValue) SD_Module.writeDoubleRegisterByNumber(regNumber, regValue, unit) SD_Module.writeDoubleRegisterWithName(regName, regValue, unit) LabVIEW writeRegisterWithIndex.vi M3601A Available: No (The value can be accessed using math operations: for example, MathAssign.) Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 82: Readregister

    SD_Module::readRegister(const char* regName, const char* unit, int& errorOut); Visual Studio .NET, MATLAB int SD_Module::readRegister(int regNumber, int regValue); int SD_Module::readRegister(string regName, int regValue); int SD_Module::readRegister(int regNumber, string unit, int errorOut); int SD_Module::readRegister(string regName, string unit, int errorOut); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 83 3 Keysight SD1 Command Reference Python SD_Module.readRegisterByNumber(regNumber, regValue) SD_Module.readRegisterWithName(regName, regValue) SD_Module.readDoubleRegisterByNumber(regNumber, unit) SD_Module.readDoubleRegisterWithName(regName, unit) LabVIEW readRegisterWithIndex.vi M3601A Available: No (The value can be accessed using math operations: for example, MathAssign.) Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 84: Sd_Module Functions (M3602A Fpga-Related)

    SD_Module::FPGAwritePCport(int nPCport, int* data, int dataSize, int address, SD_AddressingMode addressMode, SD_AccessMode accessMode); Visual Studio .NET, MATLAB int SD_Module::FPGAwritePCport(int nPCport, int [] data, int address, SD_ AddressingMode addressMode, SD_AccessMode accessMode); Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 85 3 Keysight SD1 Command Reference Python SD_Module.FPGAwritePCport(nPCport, data, address, addressMode, accessMode) LabVIEW writePCport.vi M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 86: Fpgareadpcport

    SD_Module::FPGAreadPCport(int nPCport, int* data, int dataSize, int address, SD_AddressingMode addressMode, SD_AccessMode accessMode); Visual Studio .NET, MATLAB int SD_Module::FPGAreadPCport(int nPCport, int address, int[] data, SD_ AddressingMode addressMode, SD_AccessMode accessMode); Python SD_Module.FPGAreadPCport(nPCport, dataSize, address, addressMode, accessMode) Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 87 3 Keysight SD1 Command Reference LabVIEW readPCport.vi M3601A Available: No Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 88 Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 89: Error Codes

    -8012 Error: Invalid Object SD_ERROR_INVALID_NCHANNEL -8013 Keysight Error: Invalid channel number SD_ERROR_BUS_DOES_NOT_EXIST -8014 Keysight Error: Bus doesn’t exist SD_ERROR_BITMAP_ASSIGNED_DOES_NOT_EXIST -8015 Keysight Error: Any input assigned to the bitMap does not exist SD_ERROR_BUS_INVALID_SIZE -8016 Keysight Error: Input size does not fit on this bus...
  • Page 90 -8061 Keysight Error: Invalid end SD_ERROR_INVALID_CYCLES -8062 Keysight Error: Invalid number of cycles SD_ERROR_HVI_INVALID_NUMBER_MODULES -8063 Keysight Error: Invalid number of modules on HVI SD_ERROR_DAQ_P2P_ALREADY_RUNNING -8064 Keysight Error: DAQ P2P is already running Software Error Codes Keysight M3100A/M3102A PXIe Digitizer User's Guide...
  • Page 91: References

    [4] Keysight M3602A FPGA Design Environment Software Hardware [5] Keysight M3201A PXIe Arbitrary Waveform Generator, 500 MSa/s, 16 bit, 200 MHz [6] Keysight M3202A PXIe Arbitrary Waveform Generator, 1 GSa/s, 14 bit, 400 MHz [7] Keysight M3100A PXIe Digitizer: 100 MSa/s, 14 bit, 100 MHz...
  • Page 92 This information is subject to change without notice. © Keysight Technologies 2013 - 2018 Edition 1, October, 2018 Printed In USA M3100-90002 www.keysight.com...

This manual is also suitable for:

M3300a awgM3100a pxieM3302a awg

Table of Contents