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.
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. |
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:
- 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.
- 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.
- 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.
- 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. - Connect a data signal to the DCA-M.
- 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?
: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
"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
"155.000E+6,622.000E+6,1.250000E+9,2.488000E+9,…"
: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, theBANDwidth2
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
"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