N109X-Series

Using FlexDCA's SCPI commands, you can create an program that controls an N1000A or N1010A on a PC that has a DCA-M connected via USB. Whether you are using a DCA-M oscilloscope or a standard N1000A plug-in modules, the same FlexDCA commands are used perform tasks such as:

  • View and scale the input signal
  • Configure measurement settings
  • Perform measurements

If you know how to programmatically control an N1000A via FlexDCA, you know how to control a DCA-M product. Only a few commands are unique to controlling DCA-M products, as you'll learn in this topic. The DCA-M has different hardware than the N1000A, so the DCA-M uses different commands for pattern lock on an N1092A/B/C/D/E-PLK or N1094A/B-PLK. The N1090A DCA-M does not support pattern lock. Remote programs previously developed to control the N1000A FlexDCA interface can be leveraged to control an automated DCA-M system. Measurement results are generally 50% faster with the DCA-M due to a significantly faster sampling rate. Click here for N1090A/B and N1092A/B/C/D/E and N1094A/B front-panel operation.

Maximum Clock In non-destruct input voltage is 1.4Vpp. The recommended input is <500 mVp-p.

The following tables list the commands that you would use. For example programs, refer to this topic's sidebar.

Commands for All DCA-M Oscilloscopes
Command Description
:EMODules Subsystem
:EMODules:DCAM:DEVice Queries the identification string of an DCA-M extended module.
:EMODules:SLOT:CMEThod? Queries to determine if an DCA-M extended module is connected to FlexDCA. Returns USB if a DCA-M is connected and NONE if one is not connected.
:EMODules:SLOT:SELection Assigns an extended module to an internal slot or simulated slot. Query returns the DCAM if the DCA-M module is installed in the slot. Returns EMPT if the slot is empty.
:SLOT Subsystem
:SLOT:TRIGger:MODe? Queries the trigger mode of an DCA-M extended module, which always returns CLOCk.
:SLOT:TRIGger:MRATe? Queries the measured clock rate at the Clock In input of the DCA-M extended module.
:SLOT:TRIGger:SOURce? Queries the selected trigger input for an DCA-M extended module: front panel or free run.
:SYSTem Subsystem
:SYST:MODel? SLOT Returns the model number of a standard or DCA-M module. The :EMODules:SLOT:SELection? query returns the string “DCAM” if a DCA-M module is installed in the slot. If EMPT is returned, the slot is empty.
:TRIGger Subsystem
:TRIGger:MODe The DCA-M oscilloscope’s trigger mode is always clock and cannot be set or changed. You can query CLOC (clock) with either the :TRIGger:MODe? or :SLOT:TRIGger:MODe? queries.
:TRIGger:SOURce FPANel Selects DCA-M's front-panel trigger source. Free run mode can also be selected.
Pattern Lock Commands for N1092A/B/C/D and N1094A/B with Option PLK
Command Description
:SLOT Subsystem
:SLOT:TRIGger:BRATe Enters or queries the bit-rate of the trigger source.
:SLOT:TRIGger:BRATe:AUTodetect Enables or disables automatic symbol-rate detection.
:SLOT:TRIGger:DCDRatio When using pattern lock, enters or queries the trigger-divide ratio.
:SLOT:TRIGger:DCDRatio:AUTodetect Enables or disables automatic trigger-divide-ratio detection.
:SLOT:TRIGger:MRATe? Queries the measured clock rate at the DCA-M’s front-panel Clock In input connector.
:SLOT:TRIGger:PLANgth Enters the length of the pattern in symbols.
:SLOT:TRIGger:PLANgth:AUTodetect Enables or disables automatic pattern-length detection.
:SLOT:TRIGger:TRACking Turns on pattern lock tracking where pattern lock settings are the same (linked) for all DCA-M oscilloscopes and the DCA-X. The clock and data signals should be the same rate and pattern length.

General Considerations

When programming a DCA-Ms, consider the following points:

  1. Write your program to send FlexDCA commands (documented in this help system) only to FlexDCA. FlexDCA controls the extended module just like it does standard modules that are installed in a DCA-X.
  2. If your program controls FlexDCA on a PC (Flex-on-Flex and Flex Offline configurations), connect the USB cable between the extended module and the PC.
  3. If your program directly controls FlexDCA on a N1000A (Script on N1000A and Script on PC configurations), connect the USB cable between the extended module and the N1000A.
  4. A driver installed with FlexDCA should automatically install the DCA-M into an available slot and configure the connection. You can use commands in the :EMODules subsystem to change the slot assignments if needed. Or, use FlexDCA's graphical user interface to make the change.
  5. Connect a data signal to the DCA-M.
  6. Connect a trigger signal to the DCA-M. Ensure that the trigger signal must be at the symbol rate or be a sub-rate clock.

On N109X-series DCA-Ms, maximum Clock In non-destruct input voltage is 1.4Vpp. The recommended input is <500 mVp-p.

Aligning waveforms commands

  • :SYSTem:AUToscale. Because a DCA-M’s acquisition system is independent of the N1000A, the input waveforms may not align after an Auto Scale. This happens if your are using multiple DCA-Ms or a DCA-M with N1000A receiver modules. To align the waveforms:
    • Use Rapid Eye to align the channels. If option 500, Productivity Package Software, is installed on the N1000A or DCA-M, Rapid Eye is available. Turn on Rapid Eye and the waveforms will align during an Auto Scale. Option 500 is the most convenient way to align the waveforms and maintains very fast throughput. To ensure that Rapid Eye is on and to align the waveforms, use these commands.
    • :ACQuire:REYE:ALIGn ON
      :ACQuire:REYE ON
      :SYSTem:AUToscale;*OPC?
    • Manually delay the channels. If option 500 is not installed, you can use the :CHANnel:TDELay command to add software delay to channels. Although this technique works, acquisition throughput will be reduced. For example, if channel 1A, 2A, and 3A are displayed, the following commands can be used to align the waveforms. Of course, your delay values will be different. The delays are referenced to channel 1A because Auto Scale aligns on the lowest numbered channel that is displayed.
    • :CHANnel2A:TDELay 45.68e-12
      :CHANnel3A:TDELay 42.72e-12
      :SYSTem:AUToscale;*OPC?

Rapid Eye is not available when using math functions or pattern lock.

Optical wavelength selection commands

  • Use :CHANnel:WAVelength:VALue instead of :CHANnel:WAVelength. To specify or query the input channel’s wavelength, it is recommended that you do not use the :CHANnel:WAVelength command. This is because the wavelength argument can differ between modules. For example, the WAVelength2 argument might specify a 1310 nm wavelength on an DCA-M oscilloscope and 1550 nm on an standard receiver module. Instead, explicitly select the wavelength using the :CHANnel:WAVelength:VALue command. This is the most robust and reliable technique for making these selections and the easiest to read! This command works for both traditional modules and the DCA-M oscilloscopes. If the wavelength is not within 1% of a supported wavelength, an error will be generated. For example, use
  • :CHANnel2A:WAVelength:VALue 1.310E-6

    instead of,

    :CHANnel2A:WAVelength WAVelength2
  • :CHANnel:WAVelength:VALue:VSET?. This query returns a comma separated list of available wavelengths in meters for the selected optical channel. For example,
  • "1.555E-6,850E-9,1.310E-6,1.550E-6,…"

Filter rate selection commands

  • Use :CHANnel:FSELect:BANDwidth or :CHANnel:FSELect:RATE instead of :CHANnel:FSELect. To specify or query the input channel’s reference filter, it is recommended that you do not use the :CHANnel:FSELect command. This is because the filter argument can differ between modules and module options. For example, the FILTer2 argument can specify a different filter based on DCA-M oscilloscope or standard module that has different reference filter rate options. For example, it might be 8.5 GBd in one case and 9.953280 GBd in another. Instead, explicitly select the data rate using the :CHANnel:FSELect:RATE command. This is the most robust and reliable technique for making these selections and the easiest to read! This command works for both traditional modules and the DCA-M oscilloscopes. If the wavelength is not within 1% of a supported reference filter rate, an error will be generated. For example, use
  • :CHANnel2A:FSELect:RATE 10.3125E9

    instead of,

    :CHANnel2A:FSELect FILTer2
  • :CHANnel:FSELect:RATE:VSET?. This query returns a comma separated list of available filters in Bd for the selected optical channel. For example,
  • "155.000E+6,622.000E+6,1.250000E+9,2.488000E+9,…"
  • :CHANnel:FILTer OFF. This command does not work with DCA-M oscilloscopes. Since reference filters are low-pass filters and the highest rate filter is essentially the same bandwidth as not having a filter installed, select the highest rate filter using either of the following two commands:
  • :CHANnel:FSELect:RATE <highest rate filter>
    :CHANnel:FSELect:RATE:MAXimum

Channel bandwidth selection commands

  • Use :CHANnel:BANDwidth:FREQuency instead of :CHANnel:BANDwidth. To specify or query the input channel’s bandwidth, it is recommended that you do not use the :CHANnel:BANDwidth command. This is because the bandwidth argument can differ between modules. For example, the BANDwidth2 argument might specify a 20.0 GHz on an DCA-M oscilloscope and 15.0 GHz on an standard receiver module. Instead, explicitly select the bandwidth using the :CHANnel:BANDwidth:FREQuency command. This is the most robust and reliable technique for making these selections and the easiest to read! This command works for both traditional modules and the DCA-M oscilloscopes. If the bandwidth is not within 1% of a supported bandwidth, an error will be generated. For example, use
  • :CHANnel2A:BANDwidth:FREQuency 20.0E9

    instead of,

    :CHANnel2A:BANDwidth BANDwidth2
  • :CHANnel:BANDwidth:FREQuency:VSET?. This query returns a comma separated list of available wavelengths in meters for the selected optical channel. For example,
  • "1.555E-6,850E-9,1.310E-6,1.550E-6,…"

Precision Time Base (PTB) Commands

Because the DCA-M has different hardware than the N1000A, the DCA-M does not work with PTB. However, an N1092A/B/D or N1094A/B DCA-M with option LOJ (Low Jitter Timebase) does provide PTB performance without the need for special commands. Therefore, the following FlexDCA commands do not work with DCA-M oscilloscopes:

:CALibrate:FRAMe:PTIMebase:STARt
:CALibrate:FRAMe:PTIMebase:STATus?
:TIMebase:PTIMebase:RFRequency
:TIMebase:PTIMebase:RMEThod
:TIMebase:PTIMebase:RTReference
:TIMebase:PTIMebase:STATe
:TIMebase:PTIMebase:VPTBsignals