Keysight M90XA X-Series Measurement Applications Quick Start Guide
Advertisement
Advertisement
Startup Guide
Keysight M90XA X-Series
Measurement
Applications for Modular
Instruments
Notices
Copyright Notices
© Keysight Technologies 2013 - 2020
No part of this manual may be reproduced in any form or by any means (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Keysight Technologies,Inc. as governed by United States and international copyright laws.
Manual Part Number
M9000-90001
FURNISHING, USE, OR PERFORMANCE OF
THIS DOCUMENT OR OF ANY
INFORMATION CONTAINED HEREIN.
SHOULD KEYSIGHT AND THE USER HAVE A
SEPARATE WRITTEN AGREEMENT WITH
WARRANTY TERMS COVERING THE
MATERIAL IN THIS DOCUMENT THAT
CONFLICT WITH THESE TERMS, THE
WARRANTY TERMS IN THE SEPARATE
AGREEMENT SHALL CONTROL.
KEYSIGHT TECHNOLOGIES DOES NOT
WARRANT THIRD-PARTY SYSTEMLEVEL
(COMBINATION OF CHASSIS,
CONTROLLERS, MODULES, ETC.)
PERFORMANCE, SAFETY, OR REGULATORY
COMPLIANCE, UNLESS SPECIFICALLY
STATED.
Technology Licenses
to, or otherwise provide, the government rights in excess of these rights customarily provided to the public to use, modify, reproduce, release, perform, display, or disclose commercial computer software or commercial computer software documentation. No additional government requirements beyond those set forth in the EULA shall apply, except to the extent that those terms, rights, or licenses are explicitly required from all providers of commercial computer software pursuant to the FAR and the DFARS and are set forth specifically in writing elsewhere in the EULA. Keysight shall be under no obligation to update, revise or otherwise modify the Software. With respect to any technical data as defined by FAR 2.101, pursuant to FAR 12.211 and 27.404.2 and
DFARS 227.7102, the U.S. government acquires no greater than Limited Rights as defined in FAR 27.401 or DFAR 227.7103-
5 (c), as applicable in any technical data.
Published By
Keysight Technologies Ground Floor and
Second Floor, CP-11 Sector-8, IMT
Manesar – 122051 Gurgaon, Haryana,
India
The hardware and/or software described in this document are furnished under a license and may be used or copied only in accordance with the terms of such license.
Safety Notices
U.S. Government Rights
Edition
Edition 26.0, February, 2020
Regulatory Compliance
This product has been designed and tested in accordance with accepted industry standards, and has been supplied in a safe condition. To review the
Declaration of Conformity, go to http://www.keysight.com/go/conformity
Warranty
THE MATERIAL CONTAINED IN THIS
DOCUMENT IS PROVIDED "AS IS," AND
IS SUBJECT TO BEING CHANGED,
WITHOUT NOTICE, IN FUTURE EDITIONS.
FURTHER, TO THE MAXIMUM EXTENT
PERMITTED BY APPLICABLE LAW,
KEYSIGHT DISCLAIMS ALL WARRANTIES,
EITHER EXPRESS OR IMPLIED, WITH
REGARD TO THIS MANUAL AND ANY
INFORMATION CONTAINED HEREIN,
INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANT
ABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. KEYSIGHT
SHALL NOT BE LIABLE FOR ERRORS OR
FOR INCIDENTAL OR CONSEQUENTIAL
DAMAGES IN CONNECTION WITH THE
The Software is “commercial computer software,” as defined by Federal Acquisition
Regulation (“FAR”) 2.101. Pursuant to FAR
12.212 and 27.405-3 and Department of
Defense FAR Supplement (“DFARS”)
227.7202, the U.S. government acquires commercial computer software under the same terms by which the software is customarily provided to the public.
Accordingly, Keysight provides the Software to U.S. government customers under its standard commercial license, which is embodied in its End User License Agreement
(EULA), a copy of which can be found at http://www.keysight.com/find/sweula. The license set forth in the EULA represents the exclusive authority by which the U.S. government may use, modify, distribute, or disclose the Software. The EULA and the license set forth therein, does not require or permit, among other things, that Keysight:
(1) Furnish technical information related to commercial computer software or commercial computer software documentation that is not customarily provided to the public; or (2) Relinquish
A CAUTION notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in damage to the product or loss of important data. Do not proceed beyond a
CAUTION notice until the indicated conditions are fully understood and met.
A WARNING notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in personal injury or death. Do not proceed beyond a WARNING notice until the indicated conditions are fully understood and met.
The following safety precautions should be observed before using this product and any associated instrumentation. This product is intended for use by qualified personnel who recognize
shock hazards and are familiar with the safety precautions required to avoid possible injury. Read and follow all installation, operation, and maintenance information carefully before using the product.
If this product is not used as specified, the protection provided by the equipment could be impaired. This product must be used in a normal condition (in which all means for protection are intact) only.
The types of product users are:
Responsible body is the individual or group responsible for the use and maintenance of equipment, for ensuring that the equipment is operated within its specifications and operating limits, and for ensuring operators are adequately trained.
Operators use the product for its intended function. They must be trained in electrical safety procedures and proper use of the instrument.They must be protected from electric shock and contact with hazardous live circuits.
Maintenance personnel perform routine procedures on the product to keep it operating properly (for example, setting the line voltage or replacing consumable materials). Maintenance procedures are described in the user documentation.The procedures explicitly state if the operator may perform them. Otherwise,they should be performed only by service personnel.
Service personnel are trained to work on live circuits, perform safe installations, and repair products.Only properly trained service personnel may perform installation and service procedures.
Operator is responsible to maintain safe operating conditions. To ensure safe operating conditions, modules should not be operated beyond the full temperature range specified in the Environmental and physical specification. Exceeding safe operating conditions can result in shorter lifespans, improper module performance and user safety issues. When the modules are in use and operation within the specified full temperature range is not maintained, module surface temperatures may exceed safe handling conditions which can cause discomfort or burns if touched. In the event of a module exceeding the full temperature range, always allow the module to cool before touching or removing modules from chassis.
no conductive part of the circuit may be exposed.
Do not connect switching cards directly to unlimited power circuits. They are intended to be used with impedancelimited sources. NEVER connect switching cards directly to AC mains. When connecting sources to switching cards, install protective devices to limit fault current and voltage to the card.
Keysight products are designed for use with electrical signals that are rated
Measurement Category I and Measurement
Category II, as described in the International
Electro-technical Commission (IEC)
Standard IEC 60664. Most measurement, control, and data I/O signals are
Measurement Category I and must not be directly connected to mains voltage or to voltage sources with high transient overvoltages. Measurement Category II connections require protection for high transient over-voltages often associated with local AC mains connections.Assume all measurement, control, and data I/O connections are for connection to Category I sources unless otherwise marked or described in the user documentation.
Before operating an instrument, ensure that the line cord is connected to a properly grounded power receptacle.
Inspect the connecting cables, test leads, and jumpers for possible wear, cracks, or breaks before each use.
When installing equipment where access to the main power cord is restricted, such as rack mounting, a separate main input power disconnect device must be provided in close proximity to the equipment and within easy reach of the operator.
Exercise extreme caution when a shock hazard is present. Lethal voltage may be present on cable connector jacks or test fixtures. The American National Standards
Institute (ANSI) states that a shock hazard exists when voltage levels greater than 30V
RMS, 42.4V peak, or 60VDC are present. A good safety practice is to expect that hazardous voltage is present in any unknown circuit before measuring.
Operators of this product must be protected from electric shock at all times. The responsible body must ensure that operators are prevented access and/or insulated from every connection point. In some cases, connections must be exposed to potential human contact. Product operators in these circumstances must be trained to protect themselves from the risk of electric shock. If the circuit is capable of operating at or above 1000V,
For maximum safety, do not touch the product, test cables, or any other instruments while power is applied to the circuit under test. ALWAYS remove power from the entire test system and discharge any capacitors before: connecting or disconnecting cables or jumpers, installing or removing switching cards, or making internal changes, such as installing or removing jumpers.
Do not touch any object that could provide a current path to the common side of the circuit under test or power line
(earth) ground. Always make measurements with dry hands while standing on a dry, insulated surface capable of withstanding the voltage being measured.
The instrument and accessories must be used in accordance with its specifications and operating instructions, or the safety of the equipment may be impaired.
Do not exceed the maximum signal levels of the instruments and accessories, as defined in the specifications and operating information,and as shown on the instrument or test fixture panels, or switching card.
When fuses are used in a product, replace with the same type and rating for continued protection against fire hazard.
Chassis connections must only be used as shield connections for measuring circuits,
NOT as safety earth ground connections.
Australian Communication and Media
Authority mark to indicate regulatory compliance as a registered supplier.
If you are using a test fixture, keep the lid closed while power is applied to the device under test. Safe operation requires the use of a lid interlock.
Instrumentation and accessories shall not be connected to humans.
This symbol indicates product compliance with the Canadian Interference-Causing
Equipment Standard (ICES-001). It also identifies the product is an Industrial
Scientific and Medical Group 1 Class A product (CISPR 11, Clause 4).
This symbol indicates the instrument is sensitive to electrostatic discharge (ESD).
ESD can damage the highly sensitive components in your instrument. ESD damage is most likely to occur as the module is being installed or when cables are connected or disconnected. Protect the circuits from ESD damage by wearing a grounding strap that provides a high resistance path to ground. Alternatively, ground yourself to discharge any builtup static charge by touching the outer shell of any grounded instrument chassis before touching the port connectors.
Before performing any maintenance, disconnect the line cord and all test cables.
To maintain protection from electric shock and fire, replacement components in mains circuits - including the power transformer, test leads, and input jacks - must be purchased from Keysight.
Standard fuses with applicable national safety approvals may be used if the rating and type are the same. Other components that are not safety related may be purchased from other suppliers as long as they are equivalent to the original component (note that selected parts should be purchased only through
Keysight to maintain accuracy and functionality of the product). If you are unsure about the applicability of a replacement component, call an Keysight office for information.
South Korean Class A EMC Declaration. This equipment is Class A suitable for professional use and is for use in electromagnetic environments outside of the home.
No operator serviceable parts inside.Refer servicing to qualified personnel. To prevent electrical shock do not remove covers. For continued protection against fire hazard, replace fuse with same type and rating.
PRODUCT MARKINGS:
This product complies with the WEEE
Directive marketing requirement. The affixed product label (above) indicates that you must not discard this electrical/electronic product in domestic household waste.
Product Category: With reference to the equipment types in the WEEE directive
Annex 1, this product is classified as
“Monitoring and Control instrumentation” product. Do not dispose in domestic household waste. To return unwanted products, contact your local Keysight office, or for more information see http://about.
keysight.com/en/companyinfo/environment
/takeback.shtml
This symbol on an instrument means caution, risk of danger. You should refer to the operating instructions located in the user documentation in all cases where the symbol is marked on the instrument.
This symbol indicates the time period during which no hazardous or toxic substance elements are expected to leak or deteriorate during normal use. Forty years is the expected useful life of the product.
The CE mark is a registered trademark of the European Community.
Contents
X-Series Measurement Applications for Modular Instruments . . . . . . . . . . 9
M90XA Software Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
M90XA Application Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
M9000 Resource Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Supported VSA Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
M9391A and M9393A IVI Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
SCPI Control of M90XA- Touch UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
SCPI Control of M90XA- Traditional UI . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Using a Modular VSA Versus a Swept Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . 38
Spectrum Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Periodic Timer (Frame) Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Turning Off Auto Alignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
M9063A Analog Demod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Executing the LabVIEW Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
The LabVIEW Example Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Building the C/C++ Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Running the C/C++ Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Deploying a C/C++ Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Building the VB.Net Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Running the VB.Net Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
89600 VSA: Running In-Process and Sharing Hardware Driver Sessions . . . . . . . . 68
Sharing the M9300A Frequency Reference Module . . . . . . . . . . . . . . . . . 70
Programming Example with 89600 VSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
C (Sharp) Example Form with 89600 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Incorrect Alignment Results in M9393 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7 Keysight M90XA X-Series Measurement Applications for Modular Instruments
Documentation Map
Keysight M90XA X-Series Measurement Applications for Modular Instruments 8
9
Introduction
This section provides an overview of the X-Series Measurement Applications for
Modular Instruments (M90XA Software) and links to the related documentation for
M90XA.
Overview of M90XA Software
X-Series Measurement Applications for Modular Instruments (M90XA Software) expand the capabilities of your M9391A or M9393A PXIe Vector Signal Analyzers
(PXI VSAs). These applications are the same applications used to increase the capability and functionality of Keysight's X-Series signal analyzers, and include the same GUI and SCPI programming commands. By combining the raw hardware speed of the PXI VSAs and the X-Series measurement applications, you can test more products in less time while ensuring measurement continuity from design to manufacturing. The M90XA Software transforms PXI VSAs into standards-based RF transmitter testers, providing fast RF conformance measurements to help you test your components and devices in high-volume manufacturing.
M90XA software supports M9393A VSA Extended Frequency Mode (Cabling with the M9169E, 3.6GHz to 50GHz, option M9393A-FRX is required, and option
M9393A-F27 is a prerequisite for option-FRX).
From M90XA 4.0 release onwards, only M9063A AnalogDemod, M9068A Phase
Noise, and M9064A VXA Signal Analysis Measurement Applications can work with the M9393A VSA Extended Frequency Mode Hardware configuration (3.5
GHz-50GHz). Other applications supported in M90XA can still be accessed, but they may not work correctly with M9393A VSA Extended Frequency Mode.
From M90XA 6.0 release onwards, Traditional UI and Touch UI are provided to the customer. Use of Touch UI is recommended for the applications, which support both Traditional and Touch UI because most of the new features will be implemented for Touch UI only.
X-Series Measurement Applications for Modular Instruments
Following X-Series Measurement Applications are supported for Modular
Instruments:
Traditional UI
N9063EM0D - Analog Demodulation Measurement Application
N9064EM0D - Vector Signal Analysis Measurement Application, VXA
N9068EM0D - Phase Noise Measurement Application
N9069EM0D - Noise Figure Measurement Application
N9071EM0D - GSM/EDGE Measurement Application
Keysight M90XA X-Series Measurement Applications for Modular Instruments
N9072EM0D - CDMA2000 Measurement Application
N9073EM0D - W-CDMA Measurement Application
N9076EM0D - CDMA 1xEV-DO Measurement Application
N9077EM0D - WLAN 802.11 Measurement Application
N9077EM1D - WLAN 802.11ac/ax Measurement Application
N9079EM0D - TD-SCDMA Measurement Application
N9080EM0D - LTE-Advanced FDD Measurement Application
N9081EM0D - Bluetooth® Measurement Application
N9082EM0D - LTE TDD Measurement Application
Touch UI
N9054EM0E - Flexible Digital Demodulation Application, VMA
N9054EM1E - Custom OFDM Measurement Application, VMA
N9063EM0E - Analog Demodulation Measurement Application
N9068EM0E - Phase Noise Measurement Application
N9069EM0E - Noise Figure Measurement Application
N9071EM0E - GSM/EDGE Measurement Application
N9072EM0E - CDMA2000 Measurement Application (Remote Control Only)
N9073EM0E - W-CDMA Measurement Application
N9076EM0E - CDMA 1xEV-DO Measurement Application (Remote Control
Only)
N9077EM0E - WLAN 802.11 Measurement Application
N9077EM1E - WLAN 802.11ac/ax Measurement Application
N9079EM0E - TD-SCDMA Measurement Application (Remote Control Only)
N9080EM0E - LTE-Advanced FDD Measurement Application
N9080EM3E - NB-IoT and eMTC Measurements Application
N9080EM4E - LTE V2X Measurements Application
N9081EM0E - Bluetooth® Measurement Application
N9082EM0E - LTE TDD Measurement Application
N9085EM0E - 5G NR Measurement Application
Keysight M90XA X-Series Measurement Applications for Modular Instruments 10
N90xxEMxE licenses can enable both Traditional and Touch UI applications (such as WLAN, Bluetooth, Analog Demod, GSM,
LTE, Noise Figure, Phase Noise, WCDMA), except the applications that don’t support Traditional UI. For example,
N9054EM0E - Vector Modulation Analysis, VMA Application. This application only supports Touch UI.
N90xxEMxD licenses can only enable Traditional UI applications.
Some applications like VXA, CDMA2000, CDMA 1xEVDO, and TD-
SCDMA support Traditional UI only.
For details on the supported licenses and the product information, refer to M90XA
For a high-level overview of the M90XA Software use model, refer to
.
11 Keysight M90XA X-Series Measurement Applications for Modular Instruments
Related Documentation
In addition to this Startup Guide, you can access the following documents relevant to the M90XA Software.
Document Format Path to Access
User's and Programmer's Guides
Include SCPI commands and queries for the basic measurement functionality.
M9063A Analog Demod
M9064A VXA Signal Analyzer
M9068A Phase Noise
M9069A Noise Figure
M9071A GSM/EDGE
M9072A cdma2000
M9073A WCDMA
M9076A 1xEV-DO
M9077A WLAN
M9079A TD-SCDMA
M9080A LTE
M9080B LTE-A FDD
M9081A Bluetooth
M9082A LTE-TDD
M9082B LTE-A TDD
M9080 NB-IoT and eMTC
CHM Start > All Programs >
Alternatively, Launch M90XA
Software, switch the mode to select specific application and press F1
Keysight M90XA X-Series Measurement Applications for Modular Instruments 12
13
Document Format Path to Access
Measurement Guides
Include examples of measurements made using the measurement application and conceptual information.
M9063A Analog Demod
M9064A VXA Signal Analyzer
M9068A Phase Noise
M9069A Noise Figure
M9071A GSM/EDGE
M9072A cdma2000
M9073A WCDMA
M9076A 1xEV-DO
M9077A WLAN
M9079A TD-SCDMA
M9080A LTE
M9080B LTE-A FDD
M9081A Bluetooth
M9082A LTE-TDD
M9082B LTE-A TDD
M9080 NB-IoT and eMTC
CHM Start > >
> M90XA X-Series
>
Measurement Guides
M9000 API Documentation
Provides detailed documentation of Interfaces & Resources.
Programmer’s reference for the M9000 .NET API which provides the ability to share resources between different callers in the same process.
CHM Start > All Programs >
Measurement Framework
M9000 C API Documentation
Help system for M9000 unmanaged C API.
CHM Start > >
> Keysight M9000
Measurement Framework
M90XA IVI Driver (Documentation)
Provides detailed documentation of the IVI-COM and IVI-C driver
API functions, as well as information to help you get started with using the IVI drivers in your application development environment.
CHM Start > All Programs >
IVI-COM-C Drivers
AgM90XA X-Series
Applications
>
Keysight M90XA X-Series Measurement Applications for Modular Instruments
Document Format Path to Access
Hardware Documentation
Provides hardware-specific documentation for the PXI modules.
Includes hardware specifications and instructions on how to install, update, verify, and troubleshoot the measurement hardware.
/CHM
Start > All Programs
> >
Start > All Programs
> >
Revision History
Provides a list of enhancements and issues resolved in the various releases.
PDF Start > All Programs >
For a portable version of the User documentation (PDF and CHM), visit product website and download files from the Document Library .
Keysight M90XA X-Series Measurement Applications for Modular Instruments 14
15
Installation and License Setup
This section describes software prerequisites; and how to install and setup licenses for M90XA Software.
System Requirements
This page contains macros or features from a plugin which requires a valid license.
You will need to:
1. Visit the Universal Plugin Manager and acquire the necessary licenses.
Licensing Help?
This page contains macros or features from a plugin which requires a valid license.
You will need to:
1. Visit the Universal Plugin Manager and acquire the necessary licenses.
Licensing Help?
System Requirements
Following is the Keysight's recommended configuration for M90XA Software:
CPU 2 GHz or faster 64-bit (x64) processor
RAM 8 GB recommended
Hard Disk 2 GB available
Additional
Drives
DVD to load software; license transfer requires network access, USB Flash drive, USB hard drive, or USB DVD drive
Operating
System
Microsoft Windows® 7 Professional, Enterprise, or Ultimate (64-bit)
Microsoft Windows® 10 Professional, Enterprise (64-bit)
Internet
Explorer
11.0 or above
M90XA Software is no longer supported on 32-bit machines, and from M90XA
6.0 release onwards, the 32-bit version of the software is also not supported.
Setup Notes
Keysight M90XA X-Series Measurement Applications for Modular Instruments
Setup Notes
For appropriate viewing of the X-Apps for Modular Instruments, screen resolution must be set to 96dpi or lower.
Set the custom text size (DPI) to 100%.
Go to Control Panel > Display > Set custom text size (DPI) . Select 100% in the
Scale to this percentage of normal size drop-down list.
Installing M90XA Software
This section describes the prerequisites and procedure to install the M90XA
Software on your computer.
The M90XA Software must be installed on the same computer that shares the
PXI backplane with the M9391A or M9393A VSAs.
Prerequisites
Agilent/Keysight IO Libraries and M9391A or M9393A driver must be installed before installing M90XA Software.
Agilent/Keysight IO Libraries Suite: 2018 Update 1 (18.1.23218.2) or higher version
Recommended VSA hardware drivers:
M9391A driver: 2.1.230.1 or higher version
M9393A driver for M9393A VSA Classic Mode (9KHz to
27GHz): 2.0.225.1 or higher version
M9393A driver for M9393A VSA Extended Frequency Mode
(3.6GHz to 50GHz): 2.1.875.1 or higher version
M90XA Software Installer
Download the installer package from http://www.keysight.com/find/M90XA-SW .
Keysight M90XA X-Series Measurement Applications for Modular Instruments 16
Installation Procedure
Launch the installer file to run the setup.
The version number of Keysight M90XA X-Series Applications in the above screen will match the version being installed.
After you accept the terms of the license agreement, the Installation wizard prompts you to choose either a Complete or Custom setup to install.
17 Keysight M90XA X-Series Measurement Applications for Modular Instruments
The Custom setup enables you to choose the features to install, out of the following:
Keysight M9000 Measurement Framework
Keysight M90XA X-Series Applications
M90XA IVI Driver
This enables you to install only M9000 Core software and the M90XA IVI Driver in case you do not want to run M90XA X-Series Measurement Applications.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 18
19
Follow the guided tour to complete the installation.
After the installation completes, the following applications get installed on your
PC,:
Keysight M90XA X-Series Measurement Applications (This includes M9000
Core Software)
M90XA IVI Driver (AgM90XA)
Keysight License Manager
Setting up Licenses
This section describes Keysight software licensing and the licenses required to run
M90XA Software.
M90XA Software Licensing
Licenses for M90XA Software are Transportable Perpetual licenses. Perpetual licenses do not expire. Transportable licenses can be transferred from one controller or computer to another, for example from an embedded PXI controller to an external PC. A single M90XA Software license will allow running up to four instances of the software with up to four VSA hardware sets (measurement channels) in one PXI chassis.
When you purchase M90XA Software, you are provided with a License Redemption
Entitlement Certificate that documents the licenses to which you are entitled. You can redeem the certificate at www.keysight.com/find/softwaremanager using the purchase order number, entitlement certificate number, the host ID of the target
Keysight M90XA X-Series Measurement Applications for Modular Instruments
computer/controller and other details as required by the redemption process.
Additional instructions on how to find your host id are available at ftp://ftp.keysight.
com/pub/dsp/products/HostID.pdf
.
The Keysight Software Licensing system issues a license file for each purchased license, by an e-mail to the address you specify. Each license file is a plain text file attachment with a file name in the form XXXXXX_YYYYYY.lic. When you receive the e-mail, save the attached .lic file(s) to the Agilent license directory, which is located at: C:\Program Files\Agilent\licensing .
Once installed, software licenses for Keysight products can be viewed and managed from the Keysight License Manager. You can launch the Keysight License
Manager either from > > or from the system tray.
The licenses for M90XA Software must be installed by a user with System
Admin privileges.
M90XA Software Licenses
The following table describes the license options for the various features of M90XA
Software.
Suspender Licenses
The following table describes the suspender licenses introduced in the current
M90XA release.
Product/Feature Description
N9054EM0E-1FP
N9054EM1E-1FP
Flexible Digital Demodulation Application, VMA
Custom OFDM Application, VMA
N9063EM0D/E-1FP Analog Demodulation Measurement Application
N9064EM0D-1FP Vector Signal Analysis Application, VXA
N9068EM0D/E-1FP Phase Noise Measurement Application
N9069EM0D/E-1FP Noise Figure Measurement Application
N9071EM0D/E-1FP GSM/EDGE Measurement Application
N9072EM0D/E-1FP CDMA2000 Measurement Application
N9073EM0D/E-1FP W-CDMA Measurement Application
Keysight M90XA X-Series Measurement Applications for Modular Instruments 20
Product/Feature Description
N9076EM0D/E-1FP 1xEV-DO Measurement Application
N9077EM0D/E-1FP WLAN 802.11a Measurement Application
N9077EM1D/E-1FP WLAN 802.11ac/ax Measurement Application
N9079EM0D/E-1FP TD-SCDMA Measurements with HSDPA/8PSK
N9080EM0D/E-1FP LTE-Advanced FDD Measurement Application
N9080EM3E-1FP
N9080EM4E-1FP
NB-IoT/eMTC Measurement Application
LTE V2X Measurements Application
N9081EM0D/E-1FP Bluetooth Measurement Application
N9082EM0D/E-1FP LTE-TDD Measurement Application
N9085EM0E-1FP 5G NR Measurement Application
If a license is not available or not valid, the corresponding features/options will not be enabled in the M90XA Software.
21 Keysight M90XA X-Series Measurement Applications for Modular Instruments
Launching M90XA
This section describes the procedure to launch the M90XA Software. It also describes the various startup options that can be used with the M90XA software.
You can launch M90XA Software from the Start Menu as follows:
Start > All Programs > Keysight > M90XA X-Series Applications 26.0
>
Keysight M90XA 26.0 (64-bit)
The splash screen is displayed:
After a couple of seconds, the Select IVI Driver Session dialog appears.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 22
23
1. Select one of the two supported drivers (AgM9391 and AgM9393).
2. If you have previously configured an M9391 or M9393 driver session and saved it to the IVI Configuration Store, then you can see it in the list of
Configured driver sessions for AgM9391 or Configured driver sessions for
AgM9393 . You can skip this step and move to Step 3 directly. However, if you have not already configured an M9391 or M9393 driver session, you can configure and save it now by using the following steps (Step a through Step f).
a. Click Open SFP...
to launch the Soft Front Panel.
b. Configure an instrument (For details, refer to the M9391 or M9393 documentation, available at > >
M9391 Help or > > > >
.
c. Click Connect (or Simulate ) to start driver session and the Soft Front
Panel.
d. Select > to save the configuration to the IVI
Configuration Store by name. For example, MyVSA .
> e. Close the Soft Front Panel.
f. In the Select IVI Driver Session dialog, select either Configured driver sessions for AgM9391 or Configured driver sessions for AgM9393 from the drop-down list to refresh its contents.
You should now see the configuration name, for example, MyVSA .
3. In the Select IVI Driver Session dialog, select the desired configured driver session.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
3.
4. Select Aux2In check box to set the M9393A frequency range to 3.6GHz -
50GHz .
Aux2In option is visible only when the current AgM9393 IVI driver session does not consist of M9169E Attenuator module.
5. Select the Simulate checkbox if you want to use the M9391 or M9393 in simulation mode.
6. Select the TouchUI checkbox to launch M90XA with touch UI.
7. Click OK .
This launches the M90XA Multi-Touch UI Software using the selected M9391 or M9393 configuration.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 24
7.
8. Click the drop down arrow (highlighted in the above image) to open Mode /
Measurement /View Selector window.
25
9. Select the required mode and measurement, and click OK.
10. Click the highlighted drop-down arrow (highlighted in the below image) to change other settings.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
10.
Traditional UI supports 89600 VSA running in-process with M90XA 26.0. To start the M90XA and 89600 applications from the Start menu, select All
>
26.0 + 89600 VSA (64-bit).
>
While the multi-touch UI does not support 89600 VSA running in-process with
M90XA.
Startup Options
There are several startup options that can be used when launching the M90XA
Software. The startup options can be added to the shortcut properties at the end of the Target line. To open the shortcut properties window, right-click on the shortcut and select Properties .
Keysight M90XA X-Series Measurement Applications for Modular Instruments 26
27 Keysight M90XA X-Series Measurement Applications for Modular Instruments
Startup
Option
Parameter
/touch
Description
/sim
/ivi:?
/socket:
/align
Port launch M90XA with touch UI
Start in simulate mode
Interactive selection of logical name of receiver hardware
Use specific hardware /ivi: Logical name of receiver hardware
/modes: Comma-separated list of mode names (e.g. /modes:WLAN,EDGEGSM)
Valid modes are ADEMOD, BT, CDMA1XEV, CDMA2K, EDGEGSM, LTE,
LTETDD, LTEAFDD, LTEATDD, PNOISE, TDSCDMA, VSA, WCDMA,
WLAN, NFIG, VMA, NR5G, BASIC
Load specific measurement applications
/hislip: Device number Use a specific HiSLIP device number
/telnet: Port Use a specific telnet port number
Use a specific socket port number
Run alignment on startup
/silent
/debug
/u or /?
/aux2in
/noclose
Non-interactive mode
Leave the StartM90XA.
exe console window open
Show the command line usage instructions
Set the M9393A frequency range to 3.6
GHz - 50GHz
Disable the close button on M90XA GUI
Keysight M90XA X-Series Measurement Applications for Modular Instruments 28
If you are combining multiple startup options they should be separated by spaces. There should be no spaces within a startup option.
For example, /ivi:MyVsa /modes:WLAN,EDGEGSM /hislip:1
29 Keysight M90XA X-Series Measurement Applications for Modular Instruments
Using M90XA Software
When you combine the raw hardware speeds of the PXI VSAs and the X-Series
Measurement Applications for Modular Instruments, you can test more products in less time while ensuring measurement continuity from design to manufacturing.
The X-Series Measurement Applications for Modular Instruments are the same as those available for Keysight’s X-Series signal analyzers. Consistent and intuitive user interfaces reduce the need for re-training or familiarization and also simplify measurement setup. Programming consistency includes SCPI compatibility across platforms to enable software re-use from benchtop to modular and speed up test system development. This consistency reduces risk in the transition from the development phase to the manufacturing.
In addition, Keysight's X-Series Measurement Applications for Modular Instruments include a unique resource manager that provides direct access to PXI VSA hardware drivers for the fastest power and spectrum-based measurements while simultaneously using fast modulation quality measurements provided in the X-
Series Measurement Applications. Because of the resource manager, switching time between different applications is significantly less.
This section describes the following key aspects of using the M90XA software.
Using a Modular VSA versus a Swept Analyzer
Help for M90XA is available from the Start Menu or by pressing F1 while the application is running. M90XA Help is generated from common files shared with X-Series Applications because M90XA Software has been created from the same code base as X-Series Applications. Not all M90XA Help files have been updated to include specific information related to Modular X-Apps or PXI VSA hardware.
High-level Architecture
This section provides an overview of the high-level architecture of the M90XA software.
The following diagram provides a high-level overview of the M90XA Software use model:
Keysight M90XA X-Series Measurement Applications for Modular Instruments 30
31
M90XA Application Container
The Keysight M90XA is a container for the X-Series Measurement Applications.
M90XA provides features and services which are common to all of the measurement applications. For example, the graphical user interface, programming
API, utility, and housekeeping functions (such as save, recall, system info, and error reporting). The AgM90XA is an IVI driver (IVI-COM or IVI-C), however, once the driver is initialized the measurement applications use a SCPI programming API and offers code compatibility with benchtop analyzers.
You can launch the M90XA Software from the Start menu as described in
Launching M90XA section. Once launched, make measurements in either of the
following ways:
Interactively by using the M90XA GUI
Programmatically by using the SCPI commands
M9000 Resource Manager
The M9000 Resource Manager allows hardware driver session to be shared by multiple applications running in the same process without having to close and reopen a hardware driver session. The supported applications include the M90XA
Software, 89600 VSA, and customer code. This capability enables high speed
Keysight M90XA X-Series Measurement Applications for Modular Instruments
operations including Adjacent Channel Power Ratio (ACPR) measurement and power servo routines. In addition, it allows to use the M90XA Software for measurements that are not available in the driver such as Error Vector Magnitude
(EVM) and Spectral Emission Mask (SEM).
The M9000 Resource Manager provides arbitration between multiple users based on a co-operative sharing model. Each time an X-Series Measurement Application needs to access the hardware driver session, it sends the resource manager a checkout request, uses the hardware, then immediately checks it back into the resource manager. Similarly, when you want to use the hardware driver session you must first check it out from the resource manager. For information related to how
the 89600 VSA accesses the hardware driver session, refer to the 89600 VSA:
Running In-Process and Sharing Hardware Driver Sessions section.
To programmatically access the hardware driver session refer to the
Programming with M90XA section.
The M9000 Resource Manager has: a .NET API an unmanaged C API
Supported VSA Hardware
The supported VSA hardware for M90XA software is M9391A PXIe Vector Signal
Analyzer and M9393A PXIe Performance Vector Signal Analyzer. For more details on M9391A and M9393A, refer to http://www.keysight.com/find/M9391A and http://www.keysight.com/find/M9393A , respectively.
M9391A and M9393A IVI Drivers
The M90XA Software connects to VSA hardware through the M9391A or M9393A
IVI driver (IVI-COM or IVI-C), which is shipped with the VSA hardware. These drivers can also be download from the links below:
M9391A Drivers - http://www.keysight.com/find/M9391A-Driver
M9393A Drivers - http://www.keysight.com/find/M9393A-Driver
Using the GUI
Traditional UI
Use of the M90XA PC Application is essentially the same as using remote desktop to interact with a benchtop analyzer's embedded X-Apps software. Right click anywhere on the application window to bring up menus. A Virtual Front Panel is available under the Utility menu. The familiar X-Series analyzer softkeys are included on the PC Application.
Some menus that were applicable only to a benchtop analyzer do not appear in the
M90XA software.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 32
Touch UI
The new multi-touch UI Virtual Front Panel was launched in M90XA 6.0 release. For more details, refer to
Using SCPI
This section describes the SCPI usage of the M90XA Software.
HiSLIP (High-Speed LAN Instrument Protocol) is recommended for SCPI connections because it is fast, it supports instrument control features. For example, Device Clear and Service Request. It also supports multiple instruments at a single IP address.
SCPI Control of M90XA- Touch UI
To view the SCPI I/O configuration:
1.
Launch the M90XA Software (Refer to Launching M90XA
).
33 Keysight M90XA X-Series Measurement Applications for Modular Instruments
1.
2. Click on the highlighted drop down arrow in the above image.
The System Settings window is displayed.
3. In the left panel of the window, select I/O Config .
4. Set the required SCPI configuration.
SCPI Control of M90XA- Traditional UI
Once you have launched M90XA, you can program the measurement applications by using the SCPI commands.
To view the SCPI I/O configuration:
1.
Launch the M90XA Software (Refer to Launching M90XA
).
Keysight M90XA X-Series Measurement Applications for Modular Instruments 34
2. Right-click to view the M90XA Context/Shortcut menu.
3. In the Context/Shortcut menu, select Utility > System .
4. Click I/O Config .
5. Click SCPI LAN .
The SCPI I/O configuration appears:
35 Keysight M90XA X-Series Measurement Applications for Modular Instruments
5.
Use the displayed I/O configuration information and the IP address or host name of the computer running the M90XA software, to determine the VISA resource address for this instance of the M90XA software. For example, if the M90XA shown above is running on a computer with IP address 192.168.1.1, the full SCPI Socket addresses is “ TCPIP0::192.168.1.1::5025::SOCKET ”, and the full HiSLIP address is “ TCPIP0::192.168.1.1::hislip0::INSTR ”. Use this resource address to open a VISA session for sending SCPI commands to the M90XA.
The M90XA supports SCPI Telnet, SCPI Socket, and HiSLIP connections, but not
SICL Server (VXI-11) connections.
A tool like Agilent Interactive IO (part of Agilent Connection Expert) can be used to test SCPI control. After connecting, the M90XA should respond to " *IDN?
" and "
FREQ:CENTER?
" commands.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 36
37
For details on measurements to be made for individual X-Series measurement application, you can refer to the respective documentation available at Start Menu
> > > > .
HiSLIP
The M90XA supports SCPI connections using HiSLIP, Socket or Telnet protocols.
HiSLIP (High-Speed LAN Instrument Protocol) is recommended because it is fast, it supports instrument control features such as Device Clear and Service Request, and it supports multiple instruments at a single IP address.
HiSLIP addresses include a HiSLIP device name like “ hislip0 ” ending in a HiSLIP number. By default, the M90XA selects the next available number at startup. If two instances of the M90XA are started, the second instance will usually be at hislip1
. When using a shortcut to StartM90XA.exe to start the M90XA, this address uncertainty can be avoided by adding the /hislip command line option with a large number such as 101. When using the AgM90XA IVI driver to start the M90XA from a program, the assigned address can be queried by reading the
HiSLIPVisaAddress property.
The M90XA SCPI Socket Server must remain On. Do not turn SCPI Socket
Server Off because StartM90XA (version 2.0 and later) requires SCPI Socket
Server to complete the startup. M90XA versions prior to 2.0 require HiSLIP
Server On to complete startup.
SICL Server (VXI-11)
As noted earlier, M90XA supports SCPI connections using HiSLIP, Socket, or Telnet protocols. Unlike benchtop instruments, it does not support the SICL Server (VXI-
11) protocol. Not supporting SICL Server enables the M90XA to run on a computer with other instrument applications.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
The recommended TCPIP protocol for M90XA is High-Speed LAN Instrument
Protocol (HiSLIP). For more information about using HiSLIP, see "Using the TCPIP
Interface Type for LAN Access" in the Keysight IO Libraries Connectivity Guide .
SICL Server connections are typically established with a VISA resource string ending in ::instr0::INSTR . Controlling programs can be changed to use HiSLIP by changing the VISA resource string to end in ::hislip0::INSTR (for example).
Using a Modular VSA Versus a Swept Analyzer
This section describes some of the differences when using X-Series Applications for
Modular Instruments versus using swept-tuned analyzers, as in case of Benchtop instruments.
Stepped FFT vs Swept-tuned for Spectrum Measurements
Power Range
X-Series benchtop analyzers (MXA, PXA) typically have an amplitude (Y Scale) setup menu that controls the analyzer's internal attenuators, preamp, and IF Gain.
The amplitude level is controlled using RF attenuation, preamp, and IF gain commands as shown below:
:POWer[:RF]:ATTenuation <atten>
:POWer[:RF]:EATTenuation <atten>
:POWer[:RF]:GAIN[:STATe] OFF|ON
:IF:GAIN:FFT:[:STATe] AUTOrange|LOW|HIGH
M90XA with modular PXI VSA hardware has an amplitude setup menu with a range entry. Select the peak power level expected to be present at the PXI VSA input and the application will optimize the internal attenuators for that expected input level.
On the X-Series Measurement Applications for Modular Instruments, amplitude level is controlled using the Range command:
:POWer:RANGe <dBm>
This command sets the expected input power (peak) in dBm.
Sending Attenuator commands to the M90XAcan cause an "Undefined header" error and have no effect on amplitude. Most applications can be updated by mapping 0 dB attenuation to -10 dBm Range, 20 dB attenuation to +10 dBm
Range, and so on.
Spectrum Measurements
Stepped FFT vs Swept-tuned for Spectrum Measurements
X-Apps on Keysight X-Series benchtop analyzers (MXA, PXA) utilize the instrument's Spectrum Analyzer architecture:
Keysight M90XA X-Series Measurement Applications for Modular Instruments 38
39
Swept-tuned data acquisitions (Spectrum measurements) operate by sweeping an LO through the frequency range of interest, acquiring spectrum data as it sweeps.
Time data acquisitions (IQ measurements) set the LO to a fixed frequency and acquire time-record data.
X-Apps on Keysight Modular PXI Instruments utilize the modular instrument's architecture to acquire spectrum and time data. In the case of a VSA (Vector Signal Analyzer) instrument:
Time data acquisitions (IQ measurements) use a fixed LO, the same as in a Spectrum Analyzer.
Spectrum data acquisitions (Spectrum measurements) are acquired by collecting and converting time data to spectrum data using FFT techniques. If more spectrum data is needed than the acquisition bandwidth supports, multiple FFTs are acquired and stitched together to form the wider span spectrum.
For Spectrum Measurements on Keysight Modular PXI Instruments, Sweep
Time is interpreted as “Equivalent Sweep Time”, such that the measurement results will have equivalent variance within an RBW as that of a measurement made using swept hardware. Actual acquisition times are typically much shorter than the Equivalent Sweep Time value. Use Gate
Length if a specific acquisition time is needed.
Image Protection
Modular instrumentation uses different frequency downconversion techniques, resulting in some differences in mixer image protection.
Analyzers use super heterodyne techniques, where input signals are shifted to lower frequencies using one or more mixers. Without any filtering or image suppression signal processing, the analyzer responds at both the desired frequency and also at an image frequency. The image-susceptible frequency range is typically
400 MHz to 800 MHz above or below the analyzer center frequency. To optimize measurement speed, modular analyzers use different image protection techniques.
The X-Series benchtop analyzers (MXA, PXA) utilize fixed filtering below 3.6
GHz, and a YIG-tuned preselection filter above 3.6 GHz.
Below 3.6 GHz all measurements are image protected.
Above 3.6 GHz measurements are image protected only when the RF preselector is on. There is no image protection when the RF preselector is bypassed. Modulation accuracy usually bypass the preselector and so are susceptible to images.
The M9391A Modular PXI analyzer can be configured to use single mixer conversion mode without image protection, or image-protected double conversion mode. For best EVM and phase noise performance, the X-apps use the single mixer conversion mode for all measurements except Spurious
Emissions. Spurious Emissions uses image protected double downconversion mode.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
The M9393A Modular PXI microwave analyzer utilizes fixed filtering below
3.6 GHz, and may be configured to use image suppression signal processing above 3.6 GHz.
Below 3.6 GHz all X-app measurements are image protected.
Above 3.6 GHz X-app measurements are not image protected, with the exception of Spurious Emissions (all modes) and the WLAN 80+80
Spectrum Emissions Mask measurement.
The Spurious Emissions measurements and the WLAN 80+80
Spectrum Emissions Mask measurement are always image protected using image suppression signal processing. This technique performs multiple acquisitions at each frequency and is described in application note Achieving Excellent Spectrum Analysis Results Using
Innovative Noise, Image and Spur-Suppression Techniques http://literature.cdn.keysight.com/litweb/pdf/5991-4039EN.pdf
.
Because multiple acquisitions are combined (see Figure 7 of the note), this technique requires the use of gating when measuring burst signals, and requires a low video bandwidth value to reduce the variance of time-varying signals.
When making measurements without image protection, insure the signal at the analyzer input does not include power in the image-susceptible frequency range.
The Monitor Spectrum measurements may not be image protected. One purpose of
Monitor Spectrum is to show the spectrum of the input signal under the same setup as other measurements like Modulation Accuracy. Contact Keysight support if your application requires Monitor Spectrum measurements with image protection.
Triggering and Gating
This section provides the information about the capabilities of Trigger and Gating.
The Trigger and Gating capabilities may differ according to the capabilities of the underlying hardware, since:
PXI VSA trigger hardware is not identical to the trigger hardware in the X-
Series benchtop analyzers
PXI VSA is Fixed or Stepped FFT and not Swept-tuned for spectrum measurements
Trigger Differences
This section lists the trigger capability differences between X-Series Measurement
Applications for Benchtop Analyzers vs. X-Series Measurement Applications for
Modular Instruments. The following table compares the X-Series benchtop analyzer trigger sources to modular instrument trigger sources.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 40
41
Trigger
Source
X-Series
Benchtop
Analyzer
M9391A and M9393A VSA Modular Instruments
Free Run Supported Supported
Video (IF
Envelope)
IF signal level
IF signal Level; uses the driver's Magnitude Trigger mode
Line Power line Not available
External
1
"Trigger 1
In" on rear panel
"Trig 1" on M9214A IF Digitizer PXI module
External
2
"Trigger 2
In" on rear panel
Chassis backplane PXI TRIG 2 line
RF Burst RF
(wideband) signal level
Uses the M9391A Wideband Magnitude Trigger mode with 80 MHz of trigger bandwidth, or the M9393A Wideband Burst Detector with at least 200 MHz of trigger bandwidth.
Periodic
Timer
(Frame)
Supported Supported (see note below)
External 1 Trigger
"External 1" uses the M9214A Digitizer module "Trig 1" port as an external trigger input. Level, slope, and delay can be set. This input is not configured to provide a
50 ohm termination.
External 2 Trigger
"External 2" uses a PXI chassis backplane trigger as an external trigger input. The specific trigger line used is TTL TRIG 2. Slope and delay can be set. Level is ignored. To use this in a PXI system, configure another PXI module to drive TTL
TRIG 2. The chassis trigger bus routing must also be configured if the modules are located in different chassis trigger bus segments.
RF Burst Trigger
"RF Burst" uses the M9391A VSA Wideband Magnitude trigger mode which can be used to trigger from a burst signal when tuned to measure in an adjacent frequency channel. With M9391A VSA the bandwidth of this trigger detector is 80 MHz, which is less than the RF Burst trigger bandwidth of most X-series Benchtop analyzers.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
With M9393A VSA the bandwidth of this trigger is at least 200 MHz which is the same as most X-series Benchtop analyzers.
Operation of the M9393A burst trigger requires the use of a PXI backplane trigger line (usually PXI_TRIG 5), from the M9365A Downconverter module (where the detector is located) to the M9214A Digitizer module. If these modules are located in different PXI backplane trigger bus segments, a trigger route must be configured. When running in a M9018A chassis the M90XA software will automatically configure trigger routing when the software is started. If the system requires use of different trigger line, the line can be specified in the Advanced
Options of the stored hardware configuration (or alias). For example,
"BurstTriggerLine=5" will use PXI_TRIG 5.
Periodic Timer (Frame) Trigger
Periodic Timer (Frame) trigger is supported, with differences in synchronization behavior. On modular hardware, if Sync Source is set to a trigger source, the next measurement will always wait for that trigger event to re-synchronize before completing the measurement. On X-series Benchtop analyzers in this same setup, measurements do not wait to re-synchronizing if the Periodic Timer trigger was previously synchronized. This can be noticeable when synchronizing to a 1 pulseper-second external trigger. It can be avoided by setting Sync Source to Off after synchronizing the first measurement.
Gating
Many X-series applications have support for Gating under the Sweep/Control key.
This is important when measuring burst signals and when the measurement time is longer than the duration of a single burst. In a traditional swept-tuned analyzer, gating suspends the sweep between bursts. In a fixed-tuned modular analyzer, gating controls the trigger source and acquisition length of individual acquisitions.
It is per-acquisition triggering. The Gate Source can be External 1, External 2, RF
Burst, or Periodic Timer.
If Gate is On, but a valid gate/trigger is not present, the analyzer will display
"Waiting for Trigger". If you see "Waiting for Trigger", and the analyzer trigger is configured for Free Run, remember to check the Gate settings.
Trigger Outputs
When using the M9391A or M9393A VSA modular hardware, the following trigger outputs are available. These outputs produce a 10 µs TTL pulse when the event occurs. A single measurement may perform multiple acquisitions and cause multiple pulses to be output.
Trigger
Output
Function M9391A VSA
Connector Location
M9393A VSA
Connector Location
Armed Pulses when the analyzer is armed and ready to receive a trigger.
Trig 2 on M9350A
Downconverter module
Trig 2 on M9365A
Downconverter module
Keysight M90XA X-Series Measurement Applications for Modular Instruments 42
43
Trigger
Output
Function M9391A VSA
Connector Location
Trigger
Received
Pulses when the analyzer has started an acquisition.
Trig 2 on M9214A IF
Digitizer module
Acquisition
Complete
Pulses when the acquisition is complete.
Trig 2 on M9301A
Synthesizer module
M9393A VSA
Connector Location
Trig 2 on M9214A IF
Digitizer module
Trig 2 on M9308A
Synthesizer module
Alignments
This section provides information about M90XA alignments.
Turning Off Auto Alignments
Since alignments of M9391A or M9393A PXIe Vector Signal Analyzers can require anywhere from several seconds to a few minutes to complete, it is recommended that for automated test applications, auto alignments be turned off.
The SCPI command to turn off auto alignments is:
CAL:AUTO OFF
For M90XA, CAL:AUTO PART has the same behavior as CAL:AUTO OFF .
Automated test applications can use the calibration expired query to check for & perform an alignment as needed:
CAL:EXP?
This command is a blocking query; thus, it requires a VISA timeout that is longer than the longest alignment time.
M9393A Alignments
The M9393A PXIe Vector Signal Analyzer alignment requires that no signal be present at the analyzer's RF input. When an alignment is attempted, M90XA performs a check for power at the input. If a signal is detected, the alignment is skipped and an error "Align Now; RF Required" is posted to the M90XA GUI and
Error Log. The M90XA Error Log and the M9000 Event Log also reports that the alignment was skipped. An automated test applications should ensure no that the power is applied to the M9393A RF input before sending CAL:EXP?
,
Event Logging
The event logging information is available as entries in the Windows Event Logger.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
Events from the M9000 Resource Manager are logged under Applications and
Services Logs -> Agilent M9000 Measurement Framework
Events from the M90XA X-series Measurement Applications are logged under
Applications and Services Logs -> SA
Optimizing Performance
This section provides techniques for optimizing performance of M90XA.
PXIe Chassis Configuration
Depending on your model of chassis and type and model of controller, you might be able to achieve additional measurement speed by modifying the PCIe Link
Configuration of the chassis.
For more information, refer to chassis User Guide.
Controller Configuration
Windows Operating System
You may be able to improve performance by optimizing settings under the
Windows Control Panel.
Power Options : Verify that a High Performance Plan is selected and that
Processor Power Management is set to 100% for Minimum and Maximum
Processor State.
Controller BIOS
Your controller's BIOS may have CPU settings that favor efficient use of power over maximizing performance. You might see performance improvements after disabling these energy conservation features.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 44
Additional Information
This section describes additional items to be aware of when using M90XA with the
M9391A or M9393A PXIe Vector Signal Analyzer:
M9063A Analog Demod
The "Demod to Speaker" feature that enables a demodulated audio signal to connect to the speaker is not supported.
M9069A Noise Figure
A 346CH08 USB adaptor is required to connect the 346x noise source to the
USB controller port for driving the noise source.
45 Keysight M90XA X-Series Measurement Applications for Modular Instruments
Programming with M90XA
The M90XA Software includes several example programs that illustrate the SCPI usage of the M90XA Software and the shared usage of the M9391 or M9393 IVI
Driver session. For more details, refer to Using SCPI section for basic information
related to SCPI usage.
M90XA Example Programs
Each of the example programs describes how to perform the following tasks:
Open an M9000 Resource Manager session.
Create a sharable M9391 or M9393 IVI driver session.
Start the M90XA Software.
Quickly switch between the X-Series Measurement Applications and direct access to the driver by sharing the IVI driver session.
The example programs can be accessed via
>
> >
. Following
> are the example folders:
Folder
Name
Sub-folder name Language M9391 M9393 Description
LabVIEW LabVIEW 2011
LabVIEW LabVIEW 2013
VS.Net
AnsiC > C_UsingM9391
VS.Net
AnsiC > C_UsingM9393
LabVIEW
LabVIEW
C/C++
C/C++
VS.Net
VS.Net
CSharp > CS_ExampleForm .NET (C#)
CSharp >
CS_ExampleFormWith89600
.NET (C#)
VS.Net
VS.Net
CSharp > CS_UsingM9391
CSharp > CS_UsingM9393
.NET (C#)
.NET (C#)
VS.Net
VS.Net
VB > VB_UsingM9391
VB > VB_UsingM9393
Visual Basic .
Net
•
Visual Basic .
Net
•
•
•
•
•
•
•
•
•
•
•
C (Sharp) Example Form with 89600
Keysight M90XA X-Series Measurement Applications for Modular Instruments 46
47
1. Before compiling an example program, you should first copy the example folder to another location that you will use for development.
This ensures that you always have access to the original examples.
2. Before running an example program, you should be able to manually launch the M90XA Software using a configured M9391 or M9393 driver session name (refer to
Launching M90XA ). This configured driver
session name (or alias) is used in the .NET and LabVIEW example programs to programmatically open the M9391A or M9393A driver session.
For programming documentation on the M9000 Resource Manager's .NET
API and unmanaged C API, refer to their respective documentation available at
Framework .
> >
For programming documentation on the M90XA IVI drivers, M9391 IVI drivers, and M9393 IVI drivers, refer to their respective documentation available at
Shared Native .dlls
When running one or more applications in a single process space, it important that the loaded version of a shared native (unmanaged) .dll be one that meets the requirements of all the applications in the process. Without intervention, the first application to load a .dll may load a version that is older than what is needed by other applications in the process.
To address this need, the M9000 loads shared native .dlls when M9000 session is opened. The M9000 loads the shared native .dlls from the following folder:
64-bit application: C:\Program Files\Agilent\M9000\26.
0\Core\CommonFiles
Usage Notes:
You can put newer versions of shared .dlls in this folder if needed.
A “repair” of the M90XA install restores the .dlls to the original versions that is shipped with M90XA.
Any issues with loading shared .dlls is reported in the M9000 Event Log.
If a .dll in this folder is newer than the one used by another application in your process, then the application must start before M9000 session is opened. You may copy the newer .dll to your application’s folder (from which the older version .dll is being loaded).
Keysight M90XA X-Series Measurement Applications for Modular Instruments
LabVIEW Example
In the LabVIEW folder available in the Examples directory (C:\Program
Files\Agilent\M90XA\26.0\Examples\LabVIEW), you can find the example code for the 64-bit version of National Instruments’ LabVIEW (versions 2011 and 2013).
Copy the example folder to another location that you use for development. This ensures you always have access to the original examples.
Prerequisites
Before you execute the examples, it is required to switch to the .NET Common
Language Runtime (CLR) for LabVIEW to version 4.0. This is not a standard configuration for LabVIEW. You can refer to the detailed instructions for this at the
National Instruments’ website - http://zone.ni.com/reference/en-XX/help
/371361J-01/lvhowto/configuring_clr_version .
Executing the LabVIEW Example
1. Double-click the M9000_LabVIEW.lvproj
file available from the location where you copied the example code. The Project Explorer page appears:
2. Double-click the M9000_LabVIEW.vi
file on the Project Explorer page to open the VI.
The ApiExample_LabView.vi Front Panel appears, with a Load Warning
Summary pop-up.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 48
2.
3. Click Show Details.
The Load and Save Warning List window is displayed.
49
Two warnings may appear (as displayed below) about the changed .NET assembly versions. You may ignore these warnings and click Close .
4. The front panel of the M9000_LabVIEW.vi has a single input field called requiredResourceName . Enter the resource configuration name, which you have specified earlier (for example MyVSA, or M9391), during launching of
M90XA, in the requiredResourceName field.
5. Check Simulate , if you want to simulate the hardware.
6. Click Run to run VI.
This launches the GUI of the M90XA Software.
7.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
7. Click STOP on the front panel of the M9000_LabVIEW.vi to close the M90XA
GUI.
This also stops the LabVIEW example.
The LabVIEW Example Code
When you access the Block Diagram by using the M9000_LabVIEW.vi Front Panel , you can view the example code:
This example code consists of a sequence of Invoke Nodes that call methods on the
AgM90XA IVI driver as well as the M9000 API.
SCPI strings can be used to make measurements using the M90XA Software.
For more details, refer to the respective API documentation.
C or C++ Example
The C_UsingM9391 and C_UsingM9393 example folders contain C/C++ example programs. These programs show the procedure to call M9000 and M90XA library functions from unmanaged (or native) Windows programming environment.
C_UsingM9391 is used with the M9391 hardware
C_UsingM9393 is used with the M9393 hardware
The steps below are for the M9391 but can be applied to the M9393.
This example is a console program that performs the following steps:
1. Open an M9000 session. This can be used to manage the sharing of VSA hardware and driver resources.
2. Use the M9391 IVI-C driver to open a VSA driver session.
3. Add the VSA driver IVI session to the M9000 resource pool.
4. Use the M90XA IVI-C driver to open a M90XA application.
5. Lock the VSA driver resource for use by this program.
6. Use the driver C functions to measure channel power.
7. Unlock the VSA driver resource.
8.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 50
8. Use the M90XA application to measure modulation accuracy.
9. Close driver sessions.
Building the C/C++ Example
To open this example, first copy the example folder files from the installed location to a temporary folder (for eg, C:\Temp).
1. Open the C_UsingM9391 project file with Microsoft Visual Studio.
This example supports Microsoft Visual C++ 2010, so you might be prompted to update/upgrade the project.
2. Open the source code C_UsingM9391.c
and review the code.
3. Build the C_UsingM9391 project.
Compiling requires several .h include files that are installed by the M90XA software,
M9391 driver, and VISA (from Agilent IO Libraries). These are found through environment variables such as IVIROOTDIR32 and VXIPNPPATH which are set by the installers. Linking requires these same environment variables to find library files.
Running the C/C++ Example
You can either run the program from within Visual Studio, or find the .exe
and execute it.
The following output appears:
51
In addition to the above, the M90XA Software UI appears.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
In case you have not specified any command line parameters, the program will use simulated hardware.
To run the program with M9391A hardware:
1. Use the M9391 SFP to select PXI modules.
2. Save the configuration with a name such as, MyVSA or M9391 .
Provide this name as a command line parameter.
Deploying a C/C++ Program
Although this is a native C/C++ program, running the executable requires M90XA and M9391 drivers to be installed, which require version 4 of the .NET Common
Language Runtime. The app.config file (as displayed below) has a startup configuration to allow interoperability with older components that were developed for Version 2 of the CLR.
If you are starting from scratch and an app.config file does not exist in your solution, right click on the startup project name and select add new item. From the list of Visual C# items, select “Application Configuration File.” Copy the following text into the App.config file:
<?xml version= "1.0" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy= "true" >
<supportedRuntime version= "v4.0" sku= ".NETFramework,
Version=v4.0" />
</startup>
</configuration>
If you are modifying an existing solution you may need to add the startup setting to the configuration section of the existing solution's app.config file.
C (Sharp) Example
This section covers the CS_Using examples provided with the M90XA Software.
Two console application example programs are provided, one for use with the
M9391, and another for use with the M9393. The steps below are for the M9391 but can be applied to the M9393.
Copy the example folder to another location that you will use for development.
This ensures that you always have access to the original examples.
In the CS_UsingM9391 folder, double-click the CS_UsingM9391 project file to open it in Visual Studio.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 52
References
This example references the assemblies as displayed below:
Assembly Purpose
Agilent.AgM90XA.Interop
The Agilent M90XA IVI-COM driver
Copy Local
False
Agilent.AgM9391.Interop
The Agilent M9391 IVI-COM driver
Agilent.M9000
The Agilent M9000 Application Framework
False
False
Ivi.Driver.Interop
Ivi.Visa.Interop
For IVI driver communications
For SCPI communications
False
False
App.Config
The Agilent M9000 Resource Manager uses version 4.0 of the .NET Common
Language Runtime. The app.config file (as displayed below) has a startup configuration to allow interoperability with older components that were developed for Version 2 of the CLR.
53 Keysight M90XA X-Series Measurement Applications for Modular Instruments
If you are starting from scratch and an app.config file does not exist in your solution,
1. Right-click on the startup project name.
2. Select Add New.
3. From the list of Visual C# items, select Application Configuration File.
4. Copy the following text into the App.config file:
<?xml version= "1.0" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy= "true" >
<supportedRuntime version= "v4.0" sku= ".NETFramework,
Version=v4.0" />
</startup>
</configuration>
If you are modifying an existing solution, you may need to add the startup setting to the configuration section of the existing solution's app.config file.
Code Walkthrough
1. Open a session to the M9000 Resource Manager.
OpenM9000Session try
{
_myM9000Session = SessionFactory.
OpenM9000Session();
} catch (Exception e)
{
Keysight M90XA X-Series Measurement Applications for Modular Instruments 54
1.
55
Console.WriteLine( "Could not start M9000Session
(details follow)." );
Console.WriteLine(e.ToString());
WaitForUser();
Cleanup(); return 1 ;
}
Console.WriteLine( "M9000Core sucessfully started." );
2. Create a sharable M9391 IVI driver session.
OpenSharableResource
// Open the IVI driver as a sharable resource var result = _myM9000Session.OpenSharableResource
(ResourcePluginType, _iviAlias, out _resourceName, simulate); if (result != ResourceManagerResult.Ok)
{
Console.WriteLine( "Could not open sharable resource of type '" + ResourcePluginType
+ "' using alias '" + _iviAlias + "'. \n"
+ result.ToString() + ". See Windows Event Log." );
WaitForUser();
Cleanup(); return 2 ;
}
3. Start the M90XA Software.
M90XA.Initialize
try
{
Console.WriteLine( "Starting the M90XA, please be patient." );
// Start the M90XA
_myM90XA = new AgM90XA();
} catch (Exception e)
{
Console.WriteLine( "Could not instantiate the
M90XA (details follow)." );
Console.WriteLine(e.ToString());
WaitForUser();
Cleanup(); return 3 ;
} string iviOptions = "Simulate=true" ;
Keysight M90XA X-Series Measurement Applications for Modular Instruments
3. string optionString = iviOptions; try
{
_myM90XA.Initialize(_resourceName, false , false , optionString);
} catch (Exception e)
{
Console.WriteLine( "Could not initialize the
M90XA (details follow)." );
Console.WriteLine(e.ToString());
WaitForUser();
Cleanup(); return 3 ;
}
4. Switch between the M90XA Software and direct access to the M9391 driver session by sharing the M9391 IVI driver session.
The private method UseIviDriver() shows how to checkout the hardware driver from Agilent M9000 Resource Manager, use it, then check-in back so that it is available for use.
Checkout
#region Check-out (lock) IVI HW driver for use
M9000Resource m9000Resource; if (_myM9000Session.Checkout(_resourceName, out m9000Resource) != ResourceManagerResult.Ok)
{
Console.WriteLine( "Could not checkout driver resource '{0}'" , _resourceName );
WaitForUser(); return 1;
}
// Cast it to the type you asked for var driver = (IAgM9391) m9000Resource.Item;
Console.WriteLine( "\nDriver is available for use." );
#endregion
Use IVI
#region Use IVI HW driver resource
// Note that if we are doing multiple checkout
/checkin we may be able to skip
Keysight M90XA X-Series Measurement Applications for Modular Instruments 56
4.
57
// some setup stuff if we know we were the last user.
if (!m9000Resource.StateQuestionable)
{
Console.WriteLine( "No one used the driver since we last unlocked it." );
} driver.RestoreDefaultProperties(); driver.AcquisitionMode = AgM9391AcquisitionModeEnum.
AgM9391AcquisitionModePower; driver.PowerAcquisition.Configure( 10.0e6 /* MHz BW
*/ , 1.0e-3 /* seconds duration */ ); driver.Apply(); driver.Arm(); double power = -200.0; bool overload = false ; driver.PowerAcquisition.ReadPower( 0,
AgM9391PowerUnitsEnum.AgM9391PowerUnitsdBm, ref power, ref overload );
Console.WriteLine( "IVI driver power measurement result: {0:G4} dBm" , power);
#endregion
Checkin
#region Check-in (unlock) IVI HW driver so others may use it
_myM9000Session.Checkin(m9000Resource);
Console.WriteLine( "\nDriver checked in, ready for use by others" );
#endregion
Internally, the M90XA is also checking out the same resource, using it, and checking it back in.
C (Sharp) Example Form
This section covers the CS_ExampleForm programming example provided with the
M90XA Software.
The following example shows, how to create the Windows Form application to start the M90XA Software:
1. Select a specific X-series application.
2. Perform band power measurements with the M90XA.
3.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
3. Perform band power measurements with the IVI driver.
The code for this example is similar to the CS_UsingM9391 or CS_UsingM9393 console program.
In addition to source code, a compiled exe is installed. To run the exe:
1. Go to >
.
> >
The program first prompts to open the M9391 or M9393 driver session based on an IVI driver Name , and a saved hardware configuration Alias .
2. Click Open Session to open the driver session.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 58
2.
3. After the shareable IVI resource session is opened, you may use the driver directly as illustrated by the band power measurements.
You may also start the M90XA software by clicking the Start M90XA .
4. After the M90XA Software is launched, you can use the Select Active App to switch between the different X-Series Measurement Applications.
59
5.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
5. In the “Hardware Sharing Example: Band Power” area, click the Using X-App to send commands to the M90XA to perform a band power measurement.
This is not supported in some X-series applications, so you may need to first switch to WLAN.
6. Click Using IVI Driver to perform a band power measurement.
Code Walkthrough
To review or modify this program, make a copy of the VS.Net
folder, then open the project file for this example in Visual Studio.
The project has the same assembly references and app.config requirements as the
C (Sharp) Example console programs.
Use Visual Studio to View Code in MainForm.cs in the CS_ExampleForm project.
Near the beginning of this file are some #define directives for each supported IVI driver. Unless you have all the IVI drivers installed, you need to delete or commentout directives for IVI drivers you are not using.
ApiExampleForm Code
#define M9391_SUPPORTED // remove this line to compile without the M9391 IVI driver.
#define M9393_SUPPORTED // remove this line to compile without the M9393 IVI driver.
#if M9391_SUPPORTED
// This 'using' requires installation of the M9391
IVI driver. Disable if not needed.
using Agilent.AgM9391.Interop;
#endif
#if M9393_SUPPORTED
// This 'using' requires installation of the M9393
IVI driver. Disable if not needed.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 60
61 using Agilent.AgM9393.Interop;
#endif using System; using System.Diagnostics; using System.Globalization; using System.Windows.Forms; using System.Collections.Generic; using Agilent.M9000; using Agilent.M9000.Interfaces; using Ivi.ConfigServer.Interop; using Ivi.Visa.Interop; using Microsoft.Win32; // need Agilent.AgM90XA.Interop reference using Agilent.AgM90XA.Interop;
Other portions of this example are similar to the C (Sharp) Example console application.
Visual Basic .Net Example
This section covers the Visual Basic .Net examples provided with the M90XA
Software. Two console application example programs are provided, one for use with the M9391, and another for use with the M9393. The steps below are for the
M9391 but can be applied to the M9393.
To open this example, first copy the example folder files from the installed location to a temporary folder (for eg, C:\Temp). This ensures that you always have access to the original examples.
References
This example references the following assemblies:
Assembly Purpose Copy Local
Agilent.AgM90XA.Interop
The Agilent M90XA IVI-COM driver
Agilent.AgM938x.Interop
The Agilent M938x IVI-Com driver
Agilent.AgM9391.Interop
The Agilent M9391 IVI-COM driver
Agilent.M9000
Ivi.Driver.Interop
The Agilent M9000 Application Framework
For IVI driver communications
For SCPI communications
False
False
False
False
False
False
Ivi.Visa.Interop
App.Config
Keysight M90XA X-Series Measurement Applications for Modular Instruments
The Agilent M9000 Resource Manager uses version 4.0 of the .NET Common
Language Runtime. The app.config file (as displayed below) has a startup configuration to allow interoperability with older components that were developed for Version 2 of the CLR.
If you are starting from scratch and an app.config file does not exist in your solution, create one and copy the following text into the App.config file:
<?xml version= "1.0" encoding= "utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy= "true" >
<supportedRuntime version= "v4.0" sku= ".NETFramework,
Version=v4.0" />
</startup>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name= "DefaultSource" switchName= "Def aultSwitch" >
<listeners>
<add name= "FileLog" />
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name= "EventLog" />-->
</listeners>
</source>
</sources>
<switches>
<add name= "DefaultSwitch" value= "Information
" />
</switches>
<sharedListeners>
<add name= "FileLog"
type= "Microsoft.VisualBasic.Logging.
FileLogTraceListener, Microsoft.VisualBasic, Version=8.
0.0.0, Culture=neutral,
Keysight M90XA X-Series Measurement Applications for Modular Instruments 62
PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData= "FileLogWriter" />
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name= "EventLog" type= "System.
Diagnostics.EventLogTraceListener" initializeData= "APPLI
CATION_NAME" /> -->
</sharedListeners>
</system.diagnostics>
</configuration>
If you are modifying an existing solution you may need to add the startup setting to the configuration section of the existing solution's app.config file.
Building the VB.Net Example
1. Open the VB_UsingM9391 project file.
2. Open the source code VB_UsingM9391.vb
and review the code.
3. Build the VB_UsingM9391 project.
Compiling requires several .h include files that are installed by the M90XA software,
M9391 driver, and VISA (from Agilent/Keysight IO Libraries). These are found through environment variables such as IVIROOTDIR32 and VXIPNPPATH which are set by the installers. Linking requires these same environment variables to find library files.
Running the VB.Net Example
You can either run the program from within Visual Studio, or find the .exe
and execute it.
You need to specify the following command line parameters:
The ivi Alias name
If you want to use/get simulated results add "sim" after the ivi Alias name.
You can also specify these parameters in Visual Studio. Click Project > Properties .
On the Debug tab, under the Start Options section, specify the command line arguments.
63 Keysight M90XA X-Series Measurement Applications for Modular Instruments
When you run the program, the following output appears:
Code Walkthrough
1. Open a session to the M9000 Resource Manager.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 64
65
1.
OpenM9000Session
Try
_myM9000Session = SessionFactory.
OpenM9000Session()
Catch e As Exception
Console.WriteLine( "Could not start
M9000Session (details follow)." )
Console.WriteLine(e.ToString())
WaitForUser()
Cleanup()
Return 1
End Try
Console.WriteLine( "M9000Core successfully started." )
2. Create a sharable M9391 IVI driver session.
OpenSharableResource
' Open the IVI driver as a sharable resource
Dim result = _myM9000Session.
OpenSharableResource(ResourcePluginType, _iviAlias,
_resourceName, simulate)
If result <> ResourceManagerResult.Ok Then
Console.WriteLine( "Could not open sharable resource of type '" + ResourcePluginType +
"' using alias '" + _iviAlias + "'. " + result.
ToString() + ". See Windows Event Log." )
WaitForUser()
Cleanup()
Return 2
End If
Console.WriteLine( "Sharable IVI driver session successfully created." )
3. Start the M90XA Software.
M90XA.Initialize
Try
Console.WriteLine( "Starting the M90XA, please be patient." )
' Start the M90XA
_myM90XA = New AgM90XA()
Catch e As Exception
Console.WriteLine( "Could not instantiate the M90XA (details follow)." )
Console.WriteLine(e.ToString())
Keysight M90XA X-Series Measurement Applications for Modular Instruments
3.
WaitForUser()
Cleanup()
Return 3
End Try
Dim iviOptions As String = "Simulate=true"
Dim optionString As String = iviOptions
Try
_myM90XA.Initialize(_resourceName, False
, False , optionString)
Catch e As Exception
Console.WriteLine( "Could not initialize the M90XA (details follow)." )
Console.WriteLine(e.ToString())
WaitForUser()
Cleanup()
Return 3
End Try
4. Switch between the M90XA Software and direct access to the M9391 driver session by sharing the M9391 IVI driver session.
The private method UseIviDriver() shows how to check out the hardware driver from Agilent M9000 Resource Manager, use it, then check-in back so that it is available for use.
Checkout
' Check-out (lock) IVI HW driver for my use
Dim m9000Resource As M9000Resource
If _myM9000Session.Checkout(_resourceName, m9000Resource) <> ResourceManagerResult.Ok Then
Console.WriteLine( "Could not checkout driver resource '{0}'" , _resourceName)
WaitForUser()
Return 1
End If
' Cast it to the type you asked for
Dim driver = DirectCast (m9000Resource.Item,
IAgM9391)
Console.WriteLine( "Driver is available for use." )
'endregion
Use IVI
' Use IVI HW driver resource
' Note that if we are doing multiple checkout/checkin we may be able to skip
Keysight M90XA X-Series Measurement Applications for Modular Instruments 66
4.
' some setup stuff if we know we were the last user.
If Not m9000Resource.StateQuestionable Then
Console.WriteLine( "No one used the driver since we last unlocked it." )
End If
'Get some driver properties, just as an example
PrintDriverProperties(driver)
driver.RestoreDefaultProperties()
driver.AcquisitionMode =
AgM9391AcquisitionModeEnum.
AgM9391AcquisitionModePower
driver.PowerAcquisition.Configure
(10000000.0, 0.001) 'MHz Bandwidth, secound duration
driver.Apply()
driver.Arm()
Dim power As Double = -200.0
Dim overload As Boolean = False
driver.PowerAcquisition.ReadPower(0,
AgM9391PowerUnitsEnum.AgM9391PowerUnitsdBm, power, overload)
Console.WriteLine( "IVI driver power measurement result: {0:G4} dBm" , power)
Checkin
' Check-in (unlock) IVI HW driver so others may use it
_myM9000Session.Checkin(m9000Resource)
Console.WriteLine( "Driver checked in, ready for use by others" )
Internally, the M90XA is also checking out the same resource, using it, and checking it back in.
67 Keysight M90XA X-Series Measurement Applications for Modular Instruments
89600 VSA: Running In-Process and Sharing Hardware Driver
Sessions
Traditional UI supports 89600 VSA running in-process with M90XA 26.0. To start the M90XA and 89600 applications from the Start menu, select All
>
26.0 + 89600 VSA (64-bit).
>
While the multi-touch UI does not support 89600 VSA running in-process with
M90XA.
In some applications it is desirable to use the 89600 VSA Software in-process with the M90XA X Series Applications and/or user programming. The primary advantage is that the hardware driver session may be shared between apps very quickly, nearly eliminating mode switching time.
Minimum Version Requirements
M90XA X-Series Applications: 26.0
89600 VSA Software:
For M9391A and M9393A Classic Mode (9KHz to 27GHz): 19.02
For M9393A Extended Frequency Mode (3.6GHz to 50GHz): 21.0
If multiple versions of 89600 VSA Software are installed, the newest version should be used.
Preparing the 89600
Before attempting to run the 89600 in-process with the M90XA, you must prepare the SCPI Connection Type and the Hardware Configuration as described below.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 68
SCPI Preferences
When the 89600 is running in-process with the M90XA and an SCPI connection is being used to communicate with the 89600, conflicts can arise.
To avoid potential conflicts:
The 89600 must not be configured to use a HiSLIP connection type.
If Telnet or Socket connection types are used, the port numbers must not conflict with port numbers on the M90XA.
The M90XA must be started before the 89600 VSA Software.
If the 89600 .NET API is being used then the 89600 connection type should be set to None.
1. To set the connection type,
2. Start 89600 VSA Software normally
3. Select Utilities > SCPI Preferences.
4. Set the Connection Type.
The setting persists when you close the 89600 VSA Software.
69
Hardware Configuration
The M9391 and M9393 Soft Front Panels save hardware and driver configuration information to the IVI Config Store as named connections. When the M90XA is initialized, this name is used to specify the hardware to use. (For more information,
refer to Launching M90XA Software.) This name is also used by the M9000
Resource Manager for sharing the driver instance. (For more information, refer to C
Keysight M90XA X-Series Measurement Applications for Modular Instruments
The 89600 VSA Software saves hardware and driver configuration information differently, so it is necessary to create the configuration both ways and then map the IVI logical name to the 89600 configuration name. By convention, these two names must be identical.
When you want to use M9000 Resource Manager for sharing hardware driver session between 89600 VSA and M90XA X-Series Applications and/or user programming, you must pass a command-line argument to 89600 to indicate that Resource Manager sharing should be used along with the configuration to use it with, and the IVI logical name that should be used with it. Following is the syntax for this command-line argument:
/M9000:<89600 Configuration Name>=<IVI Logical Name from IVI Config Store>
Sharing the M9300A Frequency Reference Module
The Keysight M9300A PXIe Frequency Reference module can be shared across multiple measurement applications. While the M9300A module is being shared, any of the configurations that share this reference can control it fully. However, the user interface of some applications may not reflect M9300A settings made by other applications. For example, the Keysight 89600 software might change it to an internal reference, but the M90XA soft keys might not show that.
To work around this situation, perform either of the following steps:
Configure the M9300A Reference module the same way in both the applications.
Leave the M9300A Reference module out of the configuration and use the
M9300A Soft Front Panel (SFP) to configure it before starting the apps.
Starting the 89600
To start the M90XA and 89600 applications from the Start menu, select All
> >
89600 VSA .
To start the M90XA and 89600 applications in-process with your own program, see
the programming example C (Sharp) Example Form with 89600
. There is a shortcut to the example programs on the Start menu at > >
Keysight M90XA X-Series Measurement Applications for Modular Instruments 70
71
Sharing the Hardware
Checkout
To “check out” the shared driver session for use by the 89600 VSA Software, simply set a hardware parameter or start the measurement. The 89600 does the checkout automatically any time the user performs an action that requires hardware access.
If the shared driver session is not available because it is checked out to another application, the request times out.
The M90XA X-Series Applications wait patiently for the driver session to become available and allows the user to abort the request at any time.
Check in
To “check in” the shared driver session so that it can be used by other applications, select > from the 89600 VSA Software GUI (or Measurements.
SelectedItem.SelectedAnalyzer.Disconnect(); from the API).
The M90XA X-Series Applications automatically checks in the driver session after every hardware access. With the 89600, you must explicitly disconnect from the hardware before the driver session is checked in.
Programming Example with 89600 VSA
This section covers the available programming examples for M90XA and 89600
VSA.
For more information about programming with M90XA, refer to
.
C (Sharp) Example Form with 89600
C (Sharp) Example Form with 89600
This section covers the CS_ExampleFormWith89600 example program provided with the M90XA Software. This example program demonstrates the use of 89600
VSA software in-process with the M90XA X-Series Applications and user
programming. For more information, refer to 89600 VSA: Running In-Process and
Sharing Hardware Driver Sessions
.
A single example program caters to both M9391A and M9393A. Create a copy of the Examples folder and double-click the CS_ExampleFormWith89600 project file to open it in Visual Studio.
References
This example references the assemblies as displayed below:
Keysight M90XA X-Series Measurement Applications for Modular Instruments
Assembly
Agilent.AgM90XA.Interop
Agilent.AgM9391.Interop
Agilent.AgM9393.Interop
Agilent.M9000
Agilent.SA.Vsa.
InProcessFactory
Agilent.SA.Vsa.Interfaces
Ivi.ConfigServer.Interop
Ivi.Driver.Interop
Ivi.Visa.Interop
Purpose
The Agilent M90XA IVI-COM driver
The Agilent M9391 IVI-COM driver
The Agilent M9393 IVI-COM driver
The Agilent M9000 Application Framework False
For starting the most recent installed version of Agilent 89600 False
Copy Local
False
False
False
The Agilent 89600 interface definitions
For reading the IVI Configuration Store
For IVI driver communications
For SCPI communications
False
False
False
False
Keysight M90XA X-Series Measurement Applications for Modular Instruments 72
By default, after M90XA installation, CS_ExampleFormWith89600 project has two references:
Agilent.SA.Vsa.InProcessFactory.dll located in M90XA installation directory ( C:\Program Files\Agilent\M90XA\26.0\Agilent.SA.Vsa.
InProcessFactory.dll
)
Agilent.SA.Vsa.Interfaces.dll located in
CS_ExampleFormWith89600 folder
You can also change the reference of Agilent.SA.Vsa.Interfaces.dll
to the
Agilent 89600 installation directory on your machine. This is done by setting
Copy Local to
Software\Interfaces\Agilent.SA.Vsa.Interfaces.dll
). But you cannot add it to the
M90XA installation directory ( C:\Program Files\Agilent\M90XA\26.
0\xSA\Common\Agilent.SA.Vsa.Interfaces.dll
).
App.Config
The Agilent M9000 Resource Manager uses version 4.0 of the .NET Common
Language Runtime. The app.config file (as displayed below) has a startup configuration to allow interoperability with older components that were developed for Version 2 of the CLR.
73
If you are starting from scratch and an app.config file does not exist in your solution:
1. Right-click on the startup project name and select Add New.
2. From the list of Visual C# items, select Application Configuration File .
3. Copy the following text into the App.config file:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,
Version=v4.0" />
</startup>
</configuration>
Keysight M90XA X-Series Measurement Applications for Modular Instruments
If you are modifying an existing solution, you may need to add the startup setting to the configuration section of the existing solution's app.config file.
Running the Program
In addition to source code, a compiled exe is installed. To run it, click >
>
CS_ExampleFormWith89600 (64-bit).
> >
The following is a screen capture of the main form.
Here are the steps to run this example program:
1. Open the M9391 or M9393 driver session based on an IVI driver Name , and a saved hardware configuration Alias . Click Open Session to open the driver session.
2. After the shareable IVI resource session is open, you may start the M90XA software by clicking the e Start M90XA button.
3. Similarly, you may start the 89600 VSA by clicking the Start 89600 button.
4.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 74
75
4. Next, specify the values for the parameters for band power measurements.
5. Make measurement using M90XA X-Apps, IVI Driver, or 89600.
To “check out” the shared driver session for use by the 89600 VSA Software, simply set a hardware parameter or start the measurement. The 89600 does the checkout automatically any time the user performs an action that requires hardware access.
If the shared driver session is not available because it is checked out to another application, the request times out.
Note that the M90XA X-Series Applications wait patiently for the driver session to become available and allows the user to abort the request at any time.
To “check in” the shared driver session so that it can be used by other applications, select Control > Disconnect from the GUI (or Measurements.SelectedItem.
SelectedAnalyzer.Disconnect(); from the API).
Note that the M90XA X-Series Applications automatically check in the driver session after every hardware access. With the 89600, you must explicitly disconnect from the hardware before the driver session is checked in.
Code Walkthrough
To review or modify this program, make a copy of the Examples folder, then open the CS_ExampleFormWith89600 project file in Visual Studio.
Use Visual Studio to View Code in MainForm.cs in the CS_ExampleFormWith89600 project. Near the beginning of this file are some #define directives for each supported IVI driver. Unless you have all the IVI drivers installed, you need to delete or comment-out directives for IVI drivers that you are not using.
This example is similar to the other C# examples in the following areas.
1. Open a session to the M9000 Resource Manager.
2. Create a sharable M9391 IVI driver session.
3. Start the M90XA Software.
4. Switch between the M90XA Software and direct access to the M9391 driver session by sharing the M9391 IVI driver session.
This example adds the Keysight 89600 VSA Software to the process.
1. Start the 89600 VSA Software.
2. Switch between the 89600, M90XA, and direct access to the M9391 driver session by sharing the M9391 IVI driver session.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
Starting the 89600 VSA Software
This example is designed so that it does not directly reference the Keysight 89600
VSA Software installed on your computer. This allows you to install a newer version of 89600 at a later date, without having to update a reference and re-compile this program. There are two parts to the 89600 startup, first to create to VSA instance as an object, and second to cast it to an Agilent.SA.Vsa.Application.
Starting the 89600 VSA Software try
{
// This program references (with Copy Local = false) a fixed version of
// Agilent.SA.Vsa.Interfaces.dll which is distributed with the example.
// To start the 89600 VSA Software we are calling the InProcessFactory. This allows
// us to get the latest installed version of the
89600 without referencing the
// particular version of Agilent.SA.Vsa.Interfaces.
dll directly.
// This has the advantage that an upgrade to the
89600 VSA Software
// will not break this program.
// Start the latest installed version of the 89600
VSA Software var success = Setup89600(InProcessFactory.Create( null
,-1, 0, commandLineArgs)); if (success)
{
// M90XA is running; update GUI state
lbl89600Status.Text = "89600 VSA Running" ;
_currentState = _currentState | State.VsaStarted;
UpdateGui();
} else
lbl89600Status.Text = "89600 VSA Did Not Start" ;
} catch (Exception ex)
{
lbl89600Status.Text = ex.Message;
}
Casting to Agilent.SA.Vsa.Application
private bool Setup89600( object appObject)
{
Keysight M90XA X-Series Measurement Applications for Modular Instruments 76
77
// This is in a private method so that the JIT compiler does not look
// for VsaApplication before the InProcessFactory has loaded the interfaces assembly
_my89600 = appObject as VsaApplication; if (_my89600 != null )
{
_my89600.IsExitEnabled = false ;
_my89600.Title += " - Running In-Process with
Agilent M90XA" ;
// Disconnect the 89600 so it will check in the hardware driver.
_my89600.Measurements.SelectedItem.
SelectedAnalyzer.Disconnect(); return true ;
} return false ;
}
Switching between 89600, M90XA, and the IVI driver session
Because the M90XA and 89600 VSA applications may be used interactively from the graphical user interface, it is possible that one of these applications has the IVI driver session checked out at the time that the Using IVI Driver button is pressed. In the click event handler, force the applications to check in the IVI driver session with the following code:
Force Applications to Checkin Driver Session
// Stop any running M90XA measurements so it will check in the hardware driver. if (_myM90XA != null )
_myM90XA.Stop();
// Disconnect the 89600 (if necessary) so it will check in the hardware driver.
if (_currentState.HasFlag(State.Vsa))
Disconnect89600();
Likewise, the Using X-App event handler disconnects the 89600 and the Using
89600 event handler stops the M90XA.
Keysight M90XA X-Series Measurement Applications for Modular Instruments
Troubleshooting
This section covers the procedures to troubleshoot some common problems with
M90XA.
Common Problems
Here are some common problems you may encounter:
LTE-Advanced Apps are only available as 64-bit Applications
Incorrect Alignment Results in M9393
Difficulty starting M90XA
If you have difficulty starting the M90XA, you need to first verify that you can connect to the M9391 or M9393 VSA via its Soft Front Panel and that you have a working hardware configuration saved into the IVI store.
To start the M9391 Soft Front Panel, go to > > Keysight > M9391
> M9391 SFP .
To start the M9393 Soft Front Panel, go to > > >
> M9393 SFP .
For more information about the M9391 SFP, refer to M9391 Help available at: Start
> All Programs > Keysight > M9391 > M9391 Help .
For more information about the M9393 SFP, refer to M9393 Help available at: Start
> All Programs > Keysight > M9393 > M9393 Help .
Incorrect Alignment Results in M9393
When using M9393, by default, the measurements are made according to the factory calibration data. If necessary, you can perform additional alignments to improve Amplitude accuracy and LO nulling. Before you perform alignments using
M9393, ensure that you disable any RF signal being input to M9393. Any incoming
RF signal can alter the alignment results. Hence, when you perform alignments using > , the following message box is displayed.
Keysight M90XA X-Series Measurement Applications for Modular Instruments 78
You must disconnect the RF input signal and then click OK to perform alignments.
For more information on Alignments, refer to Keysight M9393 Soft Front Panel Help .
Technical Support
In case of any problems related to the working of M90XA Software, contact the technical support at www.keysight.com/find/contactus .
79 Keysight M90XA X-Series Measurement Applications for Modular Instruments
This information is subject to change without notice.
© Keysight Technologies 2013 - 2020
Edition 26.0, February, 2020
M9000-90001 www.keysight.com

Download
Advertisement