Agilent E1439
VXI 70 MHz IF ADC
with filters and memory
User’s Guide
Agilent Technologies Part Number E1439-90005
Printed in U.S.A.
Print Date: December 2002, Third Edition
© Agilent Technologies, Inc. All rights reserved.
8600 Soper Hill Road, Everett, Washington 98205-1209 U.S.A.
Download from Www.Somanuals.com. All Manuals Search And Download.
The Agilent E1439 at a Glance
The Agilent E1439 95 MSa/s Digitizer with DSP and Memory provides high precision digitizing
for time and frequency domain applications along with signal conditioning, filtering, and
memory. The module plugs into a single C-size slot in a VXI mainframe.
E1438/
E1439
Number of Channels
Type of Inputs
1
50 ohm
Input Bandwidth
Sample Rate
150 MHz, 36 MHz alias protected
95 Msample/s
Input Range
−36 to +12 dBm
Raw ADC resolution
VXI Bus Support
VXI Device Type
I/O Data Port (E1439D only)
Size
12 bits
VME (and Local Bus E1439D only)
Register based
Fiber optic serial FPDP (front panel data port)
C-sized, single slot
3
Download from Www.Somanuals.com. All Manuals Search And Download.
What You Get With the Agilent E1439
The following items are included with your Agilent E1439:
Hardware
•
•
Agilent E1439 ADC, C-size VXI module
CD-ROM for Windows setup
Software
CD-ROM for installation
A Windows setup program that installs:
•
•
•
•
•
•
•
•
•
Firmware installation program
The Agilent E1439 VXIplug&play libraries and drivers
Soft Front Panel program for the Agilent E1439 with source files
Web-based help for the Agilent E1439
AGDSP function library and online help
Example programs and source files
Microsoft Visual C++ C-library and source files
Microsoft Visual Basic header files
Documentation
•
•
Agilent E1439 Installation and Service Guide
Online documentation available after software installation:
•
•
•
Agilent E1439 User’s Guide in PDF format (this document)
Web-based help files providing operational information and programmer’s reference
WinHelp files for the Agilent E1439 Soft Front Panel
4
Download from Www.Somanuals.com. All Manuals Search And Download.
In This Book
This book documents the Agilent E1439 module. It provides:
•
•
•
•
•
•
hardware installation information
software installation information
getting started information
operational information
programmer’s reference
replaceable parts
Other Documentation
Installation and Service information is provided as a printed document as well as in this PDF
document.
After running the setup program the following documentation is available:
•
•
Web-based help files are available from the Start menu.
WinHelp for the Soft Front Panel is available from the application.
5
Download from Www.Somanuals.com. All Manuals Search And Download.
6
Download from Www.Somanuals.com. All Manuals Search And Download.
Contents
To install the Agilent E1439. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
The measurement loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Transferring data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Functions listed by class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
age1439_adc_clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Download from Www.Somanuals.com. All Manuals Search And Download.
Contents
age1439_cal_get. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
age1439_clock_fs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
age1439_close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
age1439_epoch_setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
age1439_error_query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
age1439_filter_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
age1439_input_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
age1439_lbus_reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
age1439_meas_init. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
8
Download from Www.Somanuals.com. All Manuals Search And Download.
Contents
age1439_options_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
age1439_reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
age1439_state_recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
age1439_state_save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
age1439_sync_clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
age1439_trigger_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Default values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Front Panel Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
Glossary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
9
Download from Www.Somanuals.com. All Manuals Search And Download.
Contents
10
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To inspect the Agilent E1439
To inspect the Agilent E1439
The Agilent E1439 single channel VXI ADC Module was carefully inspected both mechanically
and electrically before shipment. It should be free of marks or scratches and it should meet its
published specifications upon receipt.
If the module was damaged in transit, do the following:
•
•
•
Save all packing materials.
File a claim with the carrier.
Call your Agilent Technologies sales and service office.
2
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To install the Agilent E1439
To install the Agilent E1439
Caution
To protect circuits from static discharge, observe anti-static techniques whenever handling
the Agilent E1439 VXI ADC Module.
1. Set up your VXI mainframe. See the installation guide for your mainframe.
2. Select a slot in the VXI mainframe for the E1439 module.
The Agilent E1439D module’s local bus receives ECL-level data from the
module immediately to its left and outputs ECL-level data to the module
immediately to its right. Every module using the local bus is keyed to prevent
two modules from fitting next to each other unless they are compatible. If you
will be using the local bus, select adjacent slots immediately to the left of the
data-receiving module. If the VXI bus is used, maximum data rates will be
reduced but the module can be placed in any available slot.
3. Using a small screwdriver or similar tool, set the logical address configura-
tion switch on the E1439. (See the illustration on the next page.) Each module
in the system must have a unique logical address. The factory default setting
is 1100 0000 (192).
Note
Note
For optimal phase noise performance in multi-module systems it is recommended that the first
channel be an Agilent E1439C or D1. The Agilent E1439C does not support local bus or fiber
optic transfers.
Multi-module systems may include multiple Agilent E1438s or Agilent E1439s but not a mixture
of the two types of modules.
1As opposed to the older A or B models.
3
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To install the Agilent E1439
Logical Address
0
1
4. Set the mainframe’s power switch to off (0).
Caution
Installing or removing the module with power on may damage components in the module.
5. Place the module’s card edges (top and bottom) into the module guides in the
slot.
6. Slide the module into the mainframe until the module connects firmly with
the backplane connectors. Make sure the module slides in straight and that the
insertion/extraction levers are pressed parallel to the front panel.
4
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To install the Agilent E1439
7. Attach the module’s front panel to the mainframe chassis using the module’s
captive mounting screws.
VXI Mainframe
E1438/
E1439
Slotted
Captive Screws
Power Switch
5
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To clean fiber optic connectors
To clean fiber optic connectors
The Agilent E1439D has a fiber optic serial FPDP (front panel data port). Since the data transmits
via light, the fiber optic connections must be clean. The following procedure describes how to
clean fiber optic connectors.
Caution
Do not use any type of foam swab to clean optical fiber ends. Foam swabs can leave filmy
deposits on fiber ends.
1. Apply pure isopropyl alcohol to a clean lint-free cotton swab or lens paper.
Cotton swabs can be used as long as no cotton fibers remain on the fiber end after cleaning.
2. Clean the connector while avoiding the ends of the fiber.
3. Apply isopropyl alcohol to a new clean lint-free cotton swab or lens paper.
4. Clean the fiber end with the swab or lens paper.
Do not scrub during this initial cleaning because grit can be caught in the swab and become a
gouging element.
5. Immediately dry the fiber end with a clean, dry, lint-free cotton swab or lens paper.
6. Blow across the connector end face from a distance of 6 to 8 inches using filtered, dry,
compressed air. Aim the compressed air at a shallow angle to the fiber end face.
Nitrogen gas or compressed dust remover can also be used.
Caution
Note
Do not shake, tip, or invert compressed air canisters because this releases particles in the
can into the air. Refer to instructions provided on the compressed air canister.
7. As soon as the connector is dry, connect or cover it for later use.
To order multimode LC fiber optic cables, call Stratos Lightwave at (708) 867-9600
(http://www.stratoslightwave.com) or call Fiber Instrument at (800) 500-0347
(http://www.fisfiber.com).
6
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To store the module
To store the module
Store the module in a clean, dry, and static free environment.
For other requirements, see storage and transport restriction in “Technical Specifications”.
To transport the module
•
•
Package the module using the original factory packaging or packaging identi-
cal to the factory packaging.
If returning the module to Agilent Technologies for service, attach a tag
describing the following:
•
Type of service required
•
•
•
Return address
Model number
Full serial number
In any correspondence, refer to the module by model number and full serial number.
•
•
Mark the container FRAGILE to ensure careful handling.
If necessary to package the module in a container other than original packaging, observe the
following (use of other packaging is not recommended):
•
•
•
•
Wrap the module in heavy paper or anti-static plastic.
Protect the front panel with cardboard.
Use a double-wall carton made of at least 200-pound test (32 ECT) material.
Cushion the module to prevent damage. For example, several layers of plastic bubble
wrap is usually sufficient.
Caution
Do not use styrene pellets in any shape as packing material for the module. The pellets do
not adequately cushion the module and do not prevent the module from shifting in the
carton. In addition, the pellets create static electricity that can damage electronic
components.
7
Download from Www.Somanuals.com. All Manuals Search And Download.
Installing the Agilent E1439
To transport the module
8
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
Getting Started and Introduction
Getting Started and Introduction
This section helps you get your Agilent E1439 running and making simple measurements without
programming. It shows you how to install the software libraries and how to run the Soft Front
Panel program. It also introduces you to the example programs. The Host Interface Library is
available as a Windows Library that communicates with the hardware using VISA (Virtual
Instrument Software Architecture). VISA is the input-output standard upon which all the
VXIplug&play software components are based..
This section assumes you have already installed the module in the VXI mainframe as shown in
the previous chapter. It also assumes that you have installed a VXI interface according to the
manufacturer’s instructions.
Note
Be sure to read the readmefile for important up-to-date software installation information.
10
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
System Requirements
System Requirements
System Requirements (Microsoft Windows)
•
•
•
A Pentium-class personal computer:
Microsoft Windows 2000, or NT.
One of the following interfaces:
•
•
•
HP/Agilent FireWire −E8491B IEEE-1394 PC Link to VXI
National Instruments PCI MXI-2
Other VISA compliant VXI interface
•
•
•
VISA (Virtual Instrument Software Architecture) library
The computer must have a CD ROM drive for the installation media
One of the following Web browsers:
•
•
Microsoft Internet Explorer 4.0 or greater
Netscape Navigator 4.08 or greater
11
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To install the Windows VXIplug&play drivers
To install the Windows VXIplug&play drivers
This procedure assumes that you have already installed a VISA (Virtual Instrument Software
Architecture) library.
Note
If you attempt to install the Windows VXIplug&play drivers without having installed a VISA
library you will receive a fatal error.
1. Insert the CD labeled: “Agilent E1439 VXI 70MHz IFADC with filters and
memory”
2. Run the program: drive:\windows\setup.exe
Where drive represents the drive containing the setup CD.
3. The setup program asks you to confirm or change the directory path. The
default directory path is recommended.
4. A dialog box asks if you want to install startup shortcuts
This creates a program group called “AGE1439” within the Vxipnp directory
that includes:
•
•
•
•
•
•
A shortcut to run the Agilent E1439 Soft Front Panel
A shortcut for the Agilent E1439 web-based online help file
A shortcut for the PDF version of the Agilent E1439 User’s Guide
A shortcut for the AGDSP web-based online help file
Several shortcuts for example programs
A shortcut for a readme file
5. A readme file may be displayed. If so, be sure to read it and follow the
instructions.
Updating firmware
Future updates will be distributed on the Web. To check your current revision run the Info Utility
or check Help/About in the Soft Front Panel program.
To check for new revisions access the Agilent Technologies Web page
http://www.agilent.com/and search for "E1439".
Install the updated firmware using the firmware installation program—FirmwareInstall. This
program’s default location is drive:\vxipnp\win[95|NT]\age1439\firmware. Start the
program, then use the "Select File" button to locate the firmware image you want to install. Enter
the VXI address of the instrument to be updated and click the "Update" button. The installation
will take one or two minutes. This program requires VISA to be installed on the host computer.
12
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To use the Resource Manager
To use the Resource Manager
The Resource Manager is a program from your hardware interface manufacturer. It looks at the
VXI mainframe to determine what modules are installed. You need to run it every time you power
up. If you get the message: "VISUCCESS_DEVICE_NPRESENT" then run the Resource
Manager.
Before running the Agilent E1439 software make sure that your hardware is configured correctly
and that the Resource Manager runs successfully. Before using your measurement system, you
must set up all of its devices, including setting their addresses and local bus locations. No two
devices can have the same address. Usually addresses 0 and 1 are taken by the Resource Manager
and are not available.
For more information about the Resource Manager, see the documentation with your hardware
interface.
Note
Most Resource Managers will recognize the manufacturer and model number of the
Agilent E1439 but if your interface requires that you enter this information manually, use the
following:
Manufacturer number: 4095 (Hex FFF)
Model number: 699 (Hex 2BB)
13
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To use the program group (Windows)
To use the program group (Windows)
If you installed the program group using the default method during the installation procedure, you
have a shortcut for a program group similar the one below. Access it through the Start button:
Programs \ Vxipnp \ age1439
This program group contains shortcuts that access the Soft Front Panel program, the User’s
Guide, online help, and example programs. The following pages provide an overview of these
items.
If you did not install the program group, executable files for each of the items represented by
group shortcuts are available in the drive:\vxipnp directory and its subdirectories.
14
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To use the VXIplug&play Soft Front Panel (SFP)
To use the VXIplug&play Soft Front Panel (SFP)
In a Windows environment, the Soft Front Panel is the best place to start to explore the
capabilities of the Agilent E1439. The Soft Front Panel is useful for checking your system to
make sure that it is installed correctly and that all of its parts are working. You can also use it to
make actual measurements, since it accesses most of the Agilent E1439’s functionality.
Select the
shortcut in your program group to start the program. This
assumes you have already installed all required hardware and drivers (including VISA) and have
run the configurator and Resource Manager required by your hardware interface.
If prompted for the resource descriptor, use the default "VXI::192" unless the logical address of
the Agilent E1439 has been changed from its default setting of 192. If it has been changed, type
the appropriate logical address instead of 192, then press OK.
Note
You can also run the Agilent E1439 Front Panel in a simulation mode without an Agilent E1439
module, a hardware interface, or VISA libraries by typing "sim" in place of the resource
descriptor.
The Agilent E1439 Front Panel Help, available from the Soft Front Panel Help menu, describes
the capability of the Soft Front Panel and has links to functions that control and define many of
the parameters.
The source files for this program are provided for you to use as sample code.
15
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To use the example programs
To use the example programs
Several example programs are included that perform useful tasks and can serve as a basis for your
own programs. When you installed your Agilent E1439 Windows libraries and drivers using the
setup program or utility, you also installed executable and source code files for several useful
example programs. The programs demonstrate programming the module with "C", Microsoft
Visual Basic,
The executables for these examples require an Agilent E1439 and, for Windows, VXIplug&play
support; in other words, they will not run in simulation mode like the Agilent E1439 Soft Front
Panel program.
Shortcuts for the executables appear in the age1439 Windows program group if you added it
during setup.
In Windows environments, executable files and source code for the Microsoft Visual Basic
examples are installed in the drive:\vxipnp\win[95|NT]\age1439\vb directory. The "C" examples
are in the ...\age1439\msc\examples directory.
The group of programs described here may be supplemented with additional programs later,
which will be described in the online help or readme file.
ACVolts_32.exe
This is the simplest practical complete program using the Agilent E1439, and it functions like an
AC voltmeter. It is written in Visual Basic.
acvolts.exe
This is a console version of acvolts_32.exe, written in Microsoft Visual C++.
Benchmark_32.exe
This performance benchmark program is really more of a utility than an example, although source
code is provided. It allows users to measure data transfer rates and command processing times on
their system without having to write new code. The utility is written in Visual Basic.
bench.exe
This is a console version of Benchmark_32.exe, written in Microsoft Visual C++.
16
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To use the example programs
multchan_32.exe
This example shows how to synchronize two modules to achieve simultaneous sampling, filter
decimation, and matched local oscillator phase. It is written in Visual Basic.
info.exe
This example shows how to retrieve option and revision information from an Agilent E1439, and
it doubles as a handy utility. It is written as a console program in Microsoft Visual C++.
interrupt.exe
This example shows how to set up and trap a VXI interrupt to indicate an error condition in the
Agilent E1439. It is written as a console program in Microsoft Visual C++.
17
Download from Www.Somanuals.com. All Manuals Search And Download.
Getting Started with the Agilent E1439
To use the example programs
18
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Agilent E1439 overview
Agilent E1439 overview
100 MHZ
VCXO
102.4 MHz
VCXO
Intermodule
clock
VXI CLOCK
VXI SYNC
Intermodule
sync
Clock
Generation
Ext
Clock/Ref
Ext
Trigger
Trigger
Detection
VXI bus
Interface
Zoom and
Decimation
Filtering
FIFO
Memory
Anti-alias
Filter
Sampling
ADC
Analog
In
Attenuators
Local bus
Interface
(not present
in the E1439C)
Fiber Optic
FPDP Interface
(E1439B/D only)
XMT
RCV
(E1439B/D only)
20
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Programming the Agilent E1439
Programming the Agilent E1439
The Agilent E1439 is shipped with software and documentation to support a broad set of choices
of controllers, I/O interfaces, programming languages, and operating systems. By virtue of its
compliance to the VXIplug&play standard, the E1439 is most easily controlled in an environment
conforming to one of the supported VXIplug&play frameworks. However, support is also
supplied for other common hardware and software environments. The relationship among the
various levels of programming is shown in the diagram below.
Windows & Visual Basic
C Programming
WIN
C-Function Library
Hardware Registers
Windows framework
The primary development environment supported by the E1439 is the VXIplug&play WINNT
framework specifications. It requires the following resources prior to the installation of the
E1439:
•
•
•
•
•
An embedded or a stand-alone Pentium-class PC
Microsoft Windows 2000, or NT
VISA interface library
VISA compatible hardware interface
Microsoft Visual C++ and/or Microsoft Visual Basic development system.
Additional details on the WIN framework can be found in the VXIplug&play VPP-2 System
Frameworks Specification, Revision 2.0.
In addition to the C source code files, the E1439 includes compiled libraries, example programs,
an interactive soft front panel program, online help files, and an installation program. The
interactive soft front panel program allows the E1439 to be turned on, verified, and used for
simple tasks without writing any user programs.
21
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Programming the Agilent E1439
C programming
The E1439 is shipped with a source library of C-functions that can be called from user programs.
This elevates the interface above the register level so the programmer does not have to be
concerned with such things as register addresses and packing or splitting parameters into 16-bit
register lengths. The library includes ANSI compliant source code files with all machine
dependent code constrained to a single source file. By re-writing selected portions of the
machine.h file, the programmer can create and compile an E1439 library that is compatible with
virtually any development environment using the C language. The most common reason for re-
writing machine.h is to accommodate I/O libraries other than VISA. In some cases, the library
may need merely to be re-compiled to target a different processor type for the host computer.
Porting the E1439 library to a different computer environment is likely to be a fairly straight
forward task. However, some of the higher level tools shipped with the E1439 may not be as
easily ported. The interactive soft front panel and some example programs include human
interfaces that depend on certain display and keyboard support which may be system dependent.
Although source code is included for these applications, porting them to a different environment
may present a greater problem than porting the library itself. The installation utilities are
specifically targeted to operate on the supported development environments and may not be
available in other environments.
22
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
The measurement loop
The measurement loop
The measurement loop progresses through four states. The transition from one state to the next is
tied to the transition of the Sync signal. The effect of the Sync signal is summarized in the
following diagram representing the four possible states of an Agilent E1439 module.
New data collected
Old data cleared
No data collected
Old data available
Assert
IDLE
ARM
Release
(Block Mode)
Release
Data collected
Pre-trigger data cleared
Measure
Trigger
Data collected and output
Assert
In the Idle state, the E1439 places no new data into the FIFO output buffer memory although
previously measured data is retained in the buffer memory and is available for output via the
VME (and also local bus, or fiber optic transmitter port on the E1439D). The module stays in the
Idle state until the Sync line is asserted.
Upon entering the Arm state the E1439 clears old data. It remains in the Arm state until the Sync
signal is released. If an E1439 is programmed with a pre-trigger delay, it collects enough data
samples to satisfy this pre-trigger delay, and then releases the Sync line. If no pre-trigger delay
has been programmed, the module releases the Sync line immediately. When all E1439s in a
system have released the Sync line, the module moves to the Trigger state.
Upon entering the Trigger state, an E1439 that is programmed with a pre-trigger delay continues
collecting data into the FIFO, discarding any data prior to the pre-trigger delay. An E1439
remains in the Trigger state until the Sync line is asserted. The Sync line may be asserted by a
direct command or by any E1439 that encounters a trigger condition and is programmed to assert
the Sync line. When the Sync signal is asserted, all modules synchronously move to the Measure
state.
In the Measure state, the E1439 continues collecting data and sends the data saved in the FIFO
memory to the selected I/O port, starting with the sample indicated by the trigger arrival, offset by
the number of samples specified by the trigger delay. This data transfer continues until all data has
been transferred or until the module meets the criteria for returning to the Idle state imposed by
block mode or continuous mode operation constraints.
23
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
The measurement loop
Modules programmed for block mode operation assert the Sync line until a complete block of
data, including any pre-programmed pre- or post-trigger delay, has been collected and is available
to the I/O port. The module then releases the Sync line. The module returns to the Idle state when
the block of data has been collected.
In continuous mode, a module releases sync immediately but moves to the Idle state only if
explicitly programmed to do so or if the FIFO data buffer overflows because data cannot be read
from the I/O port fast enough.
The measurement loop in multi-module systems
The following rules generally apply to transitions between states when multiple modules share a
Sync signal:
•
•
•
If any one module asserts the Sync line, a synchronous state transition occurs for all modules
in a system.
All modules in a system must have released the Sync line in order to bring about a
synchronous transition to Trigger state.
In block mode, each module releases the Sync line after its block of data has been collected.
Immediately upon entering the Measure state in continuous mode, each module releases the
Sync line. It continues to collect and output data until it is programatically signaled to stop or
until the FIFO overflows. With the Sync line released it is then possible to change the center
frequency for one or multiple modules without interrupting the measurement. See
•
•
A module may be programmed explicitly to inhibit its transition to the Arm state despite Sync
transitions.
In addition to controlling the progression through the four module states, the Sync signal is
used to synchronize the decimation counters and local oscillators of multiple E1439 modules.
24
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Delay and phase in triggered measurements
Delay and phase in triggered measurements
It is important to note that the trigger delay is specified in terms of output samples. When using
the digital filters within the E1439 to reduce the sample rate, there are multiple ADC samples
corresponding to each output sample. In order to determine the relationship between the first
output sample of a block and the actual ADC sample where the trigger occurred, you must read
the actual delay from the module using age1439_trigger_delay_actual_get.
This relationship varies from block to block and is a function of the particular value of counters
within the digital filters at the time the trigger occurs. Thus the actual delay from the trigger event
is the delay from age1439_trigger_delay_get multiplied by 2sigBw (from age1439_filter_bw_get
if filter decimation is used, or 2(sigBw-1) if filter decimation is off). From this value, subtract the
value returned by age1439_trigger_delay_actual_get. The result is in periods of the ADC
sample clock. Special considerations apply in multi-module systems. See “Trigger and phase in
When doing a zoomed measurement, it may also be helpful to know the phase of the digital LO at
the time the trigger occurred, since the LO is also running continuously and it has an arbitrary
phase relationship with the trigger event. age1439_trigger_phase_actual_get returns the phase
of the LO at the trigger point. The LO phase could be used in time domain averaging of blocks, or
other operations involving zoomed blocks of data, so that the varying phase of the LO can be
removed from the calculation.
The trigger_delay value is the time, measured in output samples, from the desired trigger point to
the start of the time record. The trigger_delay_actual value is the time, measured in input
samples, from the desired trigger point to the actual trigger point.
Start of
Desired
Actual
time record
trigger point
trigger point
signal
time
trigger_delay_
actual
trigger_delay
The following example illustrates how trigger_delay and trigger_delay_actual can be
combined. In this example:
filter_bw=4 (2.4 MHz span)
filter_decimate = 1 (on)
25
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Delay and phase in triggered measurements
trigger_delay = -2 (a pre-trigger delay of 2)
Because the filter_bw is 4 with decimation on, there are 16 input samples for every output sample
for a decimation rate of 24
.
trigger_delay_actual=0 (or 0/16=0 output samples)
desired trigger
trigger
level
actual trigger
signal
2
1
3
4
trigger_delay_actual=4(or 4/16=1/4output samples)
desired trigger
trigger
level
actual trigger
2
1
3
4
trigger_delay_actual=8 (or 8/16=1/2 output samples)
desired trigger
trigger
level
actual trigger
2
1
3
4
The phase returned is the phase of the LO at the actual trigger point, not the desired trigger point.
The following example illustrates how age1439_phase_actual_get might be used. In this
example, the input signal is a sine wave at a frequency of 4 MHz. The module is set up as follows:
frequency_center = 4.5 MHz
filter_bw = 4 (2.4 MHz span)
filter_decimate = 1 (on)
trigger_type = 1 (ADC trigger)
trigger_delay = -32 (a pre-trigger delay of 32)
trigger_adclevel = 0
data_type = 1 (complex)
After the measurement is completed, call age1439_delay_actual_get and age1439_phase_
actual_get. In this example, the values returned happened to be:
delay_actual = 16
phase_actual = 19697
26
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Delay and phase in triggered measurements
Due to the pretrigger delay of 32, the desired trigger point would have been at the 32nd sample of
the time record. However, the delay_actual value of 16 indicates that the sample corresponding
to the actual trigger is number 32+16/24 or the 33rd sample. The measured phase of the 33rd
(complex) sample, found via the atan2() function, is 159 degrees. The phase of the LO at this
sample is 19697*360/65536=108 degrees. Adding these together to get the corrected phase of the
input signal results in 267 degrees = -93 degrees, which is close to the expected phase of a sine
wave triggered at its zero-crossing, which would be -90 degrees.
27
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Magnitude trigger and magdwell time
Magnitude trigger and magdwell time
The magnitude trigger operates on the magnitude of a (possibly filtered) signal. For a real signal,
the magnitude is merely the absolute value of the signal. For a complex signal, the magnitude is
the square root of the sum of the squares of the real and imaginary parts of the signal.
Because the magnitude trigger can operate on the filtered signal, the trigger can be more selective
regarding what signals will cause a trigger than the ADC trigger. Only signals in the filter
bandwidth around the center frequency will be considered when determining when a trigger
occurs. Signals outside the filter's passband will be filtered out before the magnitude trigger
circuit and will not cause any triggers to occur.
The magnitude trigger's behavior can be modified by the magDwell time. The magDwell time is
the number of samples that a signal's magnitude must be low (i.e., below the magLevel threshold)
before the magnitude trigger circuit will recognize the signal as being low. This can facilitate
triggering off of a burst signal; for example, a tone burst or a TDMA burst. Due to the zero
crossings within the tone burst, the ADC trigger can not reliably trigger on the leading edge of the
burst. If you set the magDwell time longer than any potential drop outs within a burst and shorter
than the gap between bursts, the magnitude trigger can easily catch the leading edge of a tone
burst.
For a magnitude trigger with positive slope, the signal must be low for at least a magDwell
number of samples. After that, the module will trigger the next time the signal goes above the
magLevel threshold. For a negative slope, the module will trigger the first time that the signal is
low for at least a magDwell number of samples after being high. Note that in this case, the trigger
will occur a magDwell period of time after the end of the tone burst. You can use a negative
trigger delay to compensate for this and to capture the end of the tone burst.
B
C
A
D
Signal
Envelope
or
Possible
Positive
Trigger
Points
Negative
Trigger
Point
Positive
Trigger
Point
Level
Time
High
Low
magDwell times:
Output of magnitude
comparators
A. Time A is less than the magDwell time. The magnitude trigger does not recognize the
signal as being low.
B. Time B is longer than the magDwell time. The magnitude trigger does recognize the
signal as being low and a positive trigger may occur on the rising edge at the end of
B.
28
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Magnitude trigger and magdwell time
C. Time C is less than the magDwell time. The magnitude trigger does not recognize the
signal as being low
D. Time D is longer than the magDwell time. The magnitude trigger does recognize the
signal as being low and a negative trigger may occur at the end of D.
In the example shown, the signal is below the threshold at A and C, but in both of these cases, the
signal is low for a time less than the magDwell time. Hence the magnitude trigger does not
recognize the signal as low and these do not cause any triggers. About half way through B, the
signal has remained low long enough so that the trigger recognizes the signal as low. After this, a
positive trigger would occur on the next rising edge of the signal's magnitude. A negative trigger
would occur at the end of D, a magDwell period of time after the falling edge.
29
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Frequency and filtering
Frequency and filtering
The Agilent E1439’s center frequency is normally set at zero (baseband path) and 70 MHz for the
IF signal path. However, you may set the center frequency to a non-zero value in order to examine
a narrower span away from baseband (zoom measurement).The frequency band of interest,
represented by digitized time data samples from the ADC, is mixed with the E1439 digital LO, a
complex exponential, at the desired center frequency. As a result, the frequency band of interest in
the input signal is shifted to a complex signal centered around dc. See “Synchronizing changes in
multi-module systems” on page 39 for special considerations with respect to changing the center
frequency in multi-module systems.
The default filter for E1439 measurements is an analog anti-alias filter. However, you may further
isolate the frequency band of interest for more detailed analysis by using digital filtering. A
decimating digital filter simultaneously decreases the bandwidth of the signal and decreases the
sample rate. The built-in digital filters conform to the Nyquist sampling criterion, which
guarantees that the output sample rate may be reduced by the same factor as the signal bandwidth
reduction while still maintaining a complete representation of the underlying bandlimited signal.
For each octave step in bandwidth reduction (except for the first octave), the E1439 digital filters
automatically reduce the data rate by discarding alternate output samples. This process, called
decimation, results in an output sample rate that is nominally four times the signal bandwidth
whenever sigBw>0. This is still double the theoretical rate necessary to fully characterize the band
limited signal. However, because the digital filters do not have a perfectly abrupt cutoff, the
sample rate cannot be reduced to the theoretical limit without some aliasing of signals in the
transition frequency band of the filters. In many applications, this limited aliasing potential is not
important. For this reason you may optionally choose to apply a final factor-of-two decimation.
See the Technical Specifications for detailed information on the digital filter shapes.
The decimation process used to reduce the output sample rate is driven from a "decimation
counter" that keeps track of which samples to save and which ones to discard for each of the
octave bandwidth reduction filter stages. In multi-module systems where synchronous sampling is
required, the decimation counters in all the modules must be synchronous with each other. See
30
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Using clock and sync
Using clock and sync
The following diagram shows the flow of clock and sync signals:
VXI Clock
VXI Clock Output
EXT Clock/Ref
BNC
ADC Clock
VCXO
VCXO Freq
ADC Clock
Reference Clock
Reference Prescaler
Font Panel Clock
Intermodule Clock
SMB
ADC Divider
SMB Clock Output
SYNC Clock
Intermodule Sync
SMB
SYNC Output
SYNC Direction
VXI SYNC
31
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Managing multiple modules
Sharing Reference and Sync signals in multi-module systems
The Agilent E1439 supports synchronous operation among multiple E1439s by using a shared
ADC clock and Sync signal to drive all the modules in a system. The shared Sync signal is used to
synchronize critical operations including arming, triggering the beginning of data collection,
setting a common phase of the local oscillators for zoom operation, and forcing concurrent output
sample times when decimation is used. The Sync line transitions are constrained to not occur
during the critical (setup and hold) regions of the external reference. The reference operates at
1/38 of the internal ADC clock, typically 95 MHz for a E1439 module. The reference can be
either generated within the master module or an external reference can be fed into the master
module through a front panel BNC.
Note
Note
For optimal phase noise performance in multi-module systems it is recommended that the first
channel be an Agilent E1439C or D1. The Agilent E1439C does not support local bus or fiber
optic transfers.
Multi-module systems may include multiple Agilent E1438s or Agilent E1439s but not a mixture
of the two types of modules.
Clock distribution
When shared, the reference clock and sync lines are distributed among modules either on the VXI
backplane using the ECL Trigger lines, or on the front panel using the SMB Clock/Ref extender
connectors. When VXI backplane distribution is used with more than one VXI mainframe, the
front panel Intermodule Clock and Sync connectors can be used to distribute clock and Sync lines
from one mainframe to another.
Since the Sync transition timing relative to the reference input is critical, the module driving the
Sync line should ideally be the same one identified as the master. However, when using backplane
distribution, any E1439 in the same mainframe as the master can drive the Sync line.
When using the multi-sync mode of operation, the selection of front panel or backplane
distribution of reference and Sync signals involves the following considerations:
•
Backplane distribution requires the use of the ECL Trigger lines on the backplane, which are
then unavailable to other modules.
•
The overall time skew between the arrival of ADC clock edges is smaller when using
backplane distribution, particularly if the master (or buffer) module is physically located in
the center of the group of E1439 modules.
•
Backplane distribution is more susceptible to pickup of jitter on the ADC clock from other
digital activity on the VXI backplane. The extent of this pickup depends on the mainframe and
on the other modules in the mainframe. One important step in reducing this pickup is to
disable, whenever possible, the 10 MHz VXI clock generated by the slot-0 controller.
1As opposed to the older A or B models.
32
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
•
•
For backplane distribution make sure that all modules conform to VXI specification 1.4 or
later with regard to their attachment to the ECL Trigger lines. See the Agilent E1439
Technical Specifications for the clock jitter (phase noise) specification degradation using
backplane distribution.
Front panel distribution requires the use of two short, equal length cables with SMB
connectors between modules. In addition, unused SMB connectors on modules being used for
front panel distribution must be terminated in 50 ohms.
The following diagrams show typical multi-module configurations and the clock setups that apply
to each module:
33
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Managing multi-module systems
Note
The
symbol indicates a 50 ohm terminator, which is required on unused SMB connectors in
systems using front panel distribution
Module #1 - “Rear master,
Module #2 - “Front slave,
Module #1 - “Front master,
Module #2 - “Front slave,
Backplane
Backplane
10 MHz
frequency
reference
1
2
1
2
Internal clock and SYNC distribution
using VXI backplane ECL trigger lines.
External reference and SYNC distribution
using VXI backplane ECL trigger lines.
Module #1 - “Front master,
Module #2 - “Front slave,
Module #1 - “Front master,
Module #2 - “Front slave,
10 MHz
frequency
reference
1
2
1
2
Internal clock and SYNC distribution using
front panel SMB clock and SYNC
extender connections.
External reference and SYNC distribution using
front panel SMB clock and SYNC
extender connections.
34
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Module #1 - “Front slave,
Module #2 - “Front master,
Module # 3 - “Front slave,
Module #4 - “Front slave,
2
1
3
4
Sharing clock and SYNC among several
modules via front panel distribution.
Managing multi-mainframe systems
Module #1 - “Front slave,
Module #2 - “Front master,
Module #3 - “Front slave,
Module #4 - “Front slave,
1
2
4
3
VXI Mainframe A
VXI Mainframe B
Clock and SYNC distribution using front panel
extender connections within and between mainframes.
35
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Module #1 - “Front slave,
Module #2 - “Send sync to
Module # 3 - “Receive sync
Module #4 - “Front slave,
Backplane
Backplane
1
2
3
4
VXI Mainframe A
VXI Mainframe B
Clock and SYNC distribution using front panel
extender connections between mainframes and
VXI backplane connections within mainframes.
36
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Using an external sample clock
Splitter
Splitter
User generated
External sample clock
external sync pulse
Sharing clock and SYNC among several
modules using external sample. Front panel distribution.
37
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Splitter
Splitter
User generated
External sample clock
external sync pulse
Sharing clock and SYNC among several
modules using external sample. Rear panel distribution.
38
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Synchronizing changes in multi-module systems
Multi-module systems require special treatment with respect to timing of frequency and filter
changes. Center frequency changes may involve synchronizing the local oscillators of all modules
in a system. Digital filter changes in multi-module systems require that the decimation counters
be synchronized.
Calling the following functions voids synchronized multi-module setups:
age1439_clock_setup and related low-level clock setup functions
age1439_clock_recover
age1439_input_autozero
age1439_input_range_auto
age1439_self_test
age1439_state_recall
Special considerations apply to the measurement loop. See “The measurement loop in multi-
Synchronous digital filter changes
In multi-module systems where synchronous sampling is required, the decimation counters in all
the modules must be synchronous with each other. This condition can be forced by preparing each
module in the system in advance. Any measurement in progress is terminated at this time and the
module is placed in the Idle state. After each module is prepared, the next sync line transition
causes the digital decimation counter to be reset and started at the same time. Once this is done,
the decimation counters stay synchronized as long as the same ADC clock is used.
If you also intend to change the center frequency along with the digital filters, you should
synchronize the digital filters first. Otherwise, the center frequency phase becomes
unsynchronized when the digital filters are changed.
Synchronous center frequency changes
In multi-module systems you may prepare each module in advance of a frequency change, then
perform the change synchronously by asserting the Sync line. This preserves the phase
relationship of the local oscillators for all modules in the system. Certain special considerations
apply to multi-module frequency changes:
•
•
•
If all modules in a system are in the Idle state when the Sync line transition occurs, the LO
frequency is updated and the next measurement is armed.
If all modules are in the measurement state in continuous mode when the Sync line transition
occurs, the LO frequency is synchronously updated, and the measurement continues.
In continuous mode, care must be taken to assure that all modules are in the same state, either
the Idle state or the Measure state, before the Sync line transition occurs, otherwise some
modules re-arm while others continue the current measurement.
•
•
In block mode, it is simplest to keep Forced Idle asserted during the Sync line transitions to
keep all the modules in the Idle state.
If you also intend to change the digital filters along with the center frequency, you should
synchronize the digital filters first. Otherwise, the center frequency phase becomes non-
synchronized when the digital filters are changed.
39
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Trigger and phase in multi-module systems
When you use triggering in multiple modules, you do not need to measure phase differences
between two or more channels if the channels are set up identically in terms of digital filtering and
LO frequency, and the digital filters and LOs are correctly synchronized. Since the filters and LOs
are synced together, their actual trigger delays and LO phases are identical and will cancel out of
relative phase measurements. Any remaining delay should be less than 10ns between two
modules in the same mainframe.
Only the module that generates the trigger has knowledge of the delay between the trigger event
and the start of data collection. Therefore, if you need the actual delay from the trigger, you
should use the trigger delay correction from the module that generated the trigger. Likewise, you
should obtain the LO phase at the time of the trigger from the module that generated the trigger.
External sample synchronization in multi-module systems
There are two general instances where you might want to use an external sample clock in a system
with multiple E1439s:
•
You wish to have the ADC's sample at a rate other than the 95 MHz clock supplied with the
E1439.
•
You wish more precise simultaneous sampling than can be provided by the normal scheme
that uses the internal VCXOs within the modules locked together by a 2.5 MHz reference that
is distributed from module to module. By exercising care in matching the skew of the sample
clocks fed into each module, channel-to-channel group delays at low frequencies can be well
below a nanosecond.
Note
External sample is specified only for use with baseband path.
To use external sample clocks with multiple modules and still perform synced measurements, you
need to use either the AGE1439_FRNT_SYNC_EXT_SAMP or AGE1439_REAR_SYNC_
that you feed into the Ext Clock/Ref BNC input of the E1439 as a sample clock for the ADC. A
counter within the E1439 generates two lower frequency clocks, one for the DSP circuitry and
one to clock the measurement SYNC signal between multiple modules. Since these clocks are
generated independently within each module, the counters in each module must be synced
together with a common externally generated signal in order to make properly synced and
triggered measurements involving multiple channels. You feed this "external sample sync" signal
into the External Trigger BNC and the module uses the signal to reset the counters to a known
phase.
The external sample sync signal should be generated on the falling edge of the external sample
clock, and fed into each module in the system by an identical length coax cable. Likewise, the
sample clock should be fed into each Ext Clock/Ref BNC by an identical length coax cable from a
common driver.
40
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Managing multiple modules
Here is the sequence of operations:
1. Put all modules into either the AGE1439_REAR_SYNC_EXT_SAMP mode or the
AGE1439_FRNT_SYNC_EXT_SAMP mode with the age1439_clock_setup command.
2. Issue the age1439_ext_sample_sync (AGE1439_EXT_SAMPLE_SYNC_ENABLE)
command to reset the counters within all the E1439s.
3. Generate the external sample sync pulse simultaneously into all modules. One way to do
this is to use one of the VXI TTLTRG lines and reclock the signal with the falling edge of
the sample clock. Note: If you are using an E1439A module with a serial number lower
than US41140000, you will need some user supplied hardware to convert TTLTRG to
ECL because older E1439As do not support TTL trigger.
4. Issue the age1439_clock_recover command to all modules since the DSP clock was
interrupted between the age1439_ext_sample_sync command and the external sync
signal on the Trigger input.
5. Sync the digital filters:
•
•
•
•
Force all modules to idle (age1439_meas_control).
Send the age1439_filter_sync command to all modules.
Assert and release the sync line from the master module (age1439_meas_control).
Release all modules from idle (age1439_meas_control).
6. Sync the digital local oscillators:
•
•
•
•
•
Force all modules to idle (age1439_meas_control).
Set all module frequencies to zero (age1439_frequency_center).
Assert and release system Sync (age1439_meas_control).
Set the LO frequencies to the desired ones (age1439_frequency_center).
Toggle system Sync again to synchronously set the LO frequencies (age1439_meas_
control).
•
Finally release all modules from idle (age1439_meas_control).
7. Now you may take a measurement:
•
•
Issue an age1439_meas_start.
Retrieve data from the modules when valid.
In the event that you do not supply a synchronizing signal in a reasonable length of time (or you
change your mind about it), the DSP clock can be restored by issuing age1439_ext_sample_sync
(AGE1439_EXT_SAMP_SYNC_CANCEL) followed by an age1439_clock_recover.
You should not need to perform the external sample sync operation again unless the external
clocks are interrupted or the clock setup changed.
See also the diagrams earlier in this section that show the physical setup. All the functions
41
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Transferring data
Transferring data
You can transfer data from the Agilent E1439C or D via the VMEbus. With the Agilent E1439D
you can also transfer data via the Local Bus and via a fiber optic interface.
•
The VMEbus is the universal data bus for VXI architecture. It provides flexibility and
versatility in transferring data. Transfers over the VMEbus are 16 bits or 32 bits wide.
•
The Local Bus on the Agilent E1439D supports faster transfer rates than the VMEbus. For
example, if you are transferring data from the Agilent E1439D to the Agilent E9821, the
Local Bus provides a direct pipeline to the Agilent E9821’s DSPs.
Using the Local Bus, you can transfer data in the background while processing data in a
signal-processing module. All Local Bus data transfers originate in the Agilent E1439D and
move towards a signal processing module to the right of the Agilent E1439D. If other
modules generate data to the left of the input module, the Agilent E1439D passes the data to
its right and inserts or appends its own data at the beginning or end of the frame.
•
The fiber optic interface, available on the Agilent E1439D, provides data rates greater than
200 Mbytes/second. It can transmit filtered or unfiltered data, copy data from its receiver to its
transmitter, or append data to copied data.
42
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Fiber Optic Interface
The E1439D provides a fiber optic interface that can transmit continuous full bandwidth data
from the internal A/D converter. In addition, it can stream data from multiple synchronized
modules operating at lower bandwidths onto a single fiber optic channel. An optical receiver can
then simultaneously analyze data collected at different frequencies and bandwidths.
The E1439D fiber optic interface uses a serial data stream protocol providing high data
throughput and low latency characteristics. This protocol is intended to be compatible with the
Serial Front Panel Data Port Draft Standard (VITA 17.1, draft 0.5 dated February 26, 2001)
currently under development by the VITA Standards Organization (http://www.vita.com). VITA
17.1 is not yet approved and manufacturers are not yet permitted to claim conformance to the
draft standard. However, laboratory testing at Agilent Technologies has demonstrated
interoperability of the E1439D with fiber optic products from other manufacturers that also intend
to support the draft standard. These products include Systran Simplex Link Protocol products,
such as the SL100 and SL240, and Mercury Computer products, such as the RINOJ-F RACEway
I/O daughter card.
The following overview supplies the basic concepts required to use all the supported features. For
details, see the descriptions of the API functions.
43
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Fiber Frames
Data is transmitted over the fiber interface in a series of fiber frames. Each fiber frame is
composed of a series of 32-bit values, which encode to 40 bits. Each 32-bit value can either be
data or an ordered set. Data and ordered sets are strung together to make the three types of fiber
frames—Data Frame, BOF, and EOE. The Data Frame transmits 0 to 512 32-bit data words. The
exact amount of data that is sent depends on the amount of data that is available when the fiber
interface is ready to send the Data Frame. BOF (Beginning Of Frame) is a synchronizing event
that can be sent just prior to the start of data transmission. EOE (End Of Epoch) is a synchronizing
event that contains the last 4 data bytes in an epoch. An epoch is composed of one or more Data
Frames followed by an EOE. The following shows the ordered sets and data that make up the
three fiber frames:
Data Frame (Normal Data Fiber Frame)
1
2
3
4
5
6
7
7
7
IDLE
SOF
0 to 512 data words
CRC
FEOF
SEOF
GO/STOP
GO/STOP
GO/STOP
BOF (Sync Without Data Fiber Frame)
8
1
2
4
6
No data
MEOF
IDLE
SOF
CRC
CRC
SEOF
SEOF
EOE (Sync with Data Fiber Frame)
9
10
2
4
8
6
SWDV
Last 4 data bytes in epoch
SOF
MEOF
1. Pad for Data Frame or BOF
2. Start Of Frame, framing event that embeds PIO1, PIO2, and DIR
3. 32 bit or 4 Byte words, maximum 2048 Bytes
4. Cyclic Redundancy Check, optional
5. Frame End Of Frame, end of Data Frame
6. Status End Of Frame, embeds FIFO OV and NRDY
7. Flow controls
8. Mark End Of Frame, end of BOF and EOE
9. Sync With Data Valid, start of EOE
10.4 bytes, exactly
Control Signals
PIO1, PIO2, DIR, and NRDY are FPDP (front panel data port) control signals. These signals can
be defined by another product or you can define their meaning and application.
When an overflow condition in the transmit FIFO occurs, the E1439D asserts FIFO OV indicating
exceeded.
If flow control is enabled, the E1439D responds to the STOP and GO signals. See “Generate” on
page 48 for details.
44
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Fiber Modes
The E1439D’s fiber interface can operate in five different modes:
•
•
•
•
•
Off
The Off fiber mode disables the fiber transmitter but allows the fiber receiver to read control
signals. Normal data collection and filtering continues, and the data port selection determines
whether data is sent to the local bus (Agilent E1439D only) or read from the FIFO via the VME
bus. See the following illustration.
E1438D / E1439D
Fiber RX
ADC
Fiber TX
DIGITAL
FILTERS
FIFO
VME BUS
LBUS
Fiber Interface Setup
Fiber Mode
Rate
Off
setting ignored
setting ignored
setting ignored
setting ignored
BOF
CRC
Flow Control
Epoch Generate setting ignored
Epoch Size setting ignored
Note
Setting the data port to Fiber while in the Off fiber mode causes the data FIFO to fill up with
filtered ADC data, which then causes data collection to stop.
45
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Copy
The Copy fiber mode copies optical data from its fiber receiver to its fiber transmitter without
adding any data. Normal data collection and filtering continues, and the data port selection
determines whether data is sent to the local bus (Agilent E1439D only) or read from the FIFO via
the VME bus. Copy is the default fiber mode after power-on or reset. See the following
illustration.
E1438D / E1439D
1 KB
FIFO
Fiber RX
ADC
Fiber TX
DIGITAL
FILTERS
FIFO
VME BUS
LBUS
Fiber Interface Setup
Fiber Mode
Rate
Copy
106 or 250 MBs
setting ignored
BOF
CRC
must match incoming signal
setting ignored
Flow Control
Epoch Generate setting ignored
Epoch Size setting ignored
Note
Setting the data port to Fiber while in the Copy fiber mode results in an invalid instrument state.
46
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Raw
The Raw fiber mode transmits raw (i.e., unprocessed, full bandwidth) ADC data over the fiber
interface. At the same time that the raw data is transmitted over the fiber interface, filtered ADC
data can be sent over the local bus (Agilent E1439D only) or read from the FIFO via the VME
bus. After selecting Raw, optical data transmission starts at the trigger event and is not affected by
trigger delays or data delays. The raw data transmission continues even after the measurement is
complete. Changing the fiber mode stops data transmission. See the following illustration.
E1438D / E1439D
1 KB
FIFO
Fiber RX
ADC
Fiber TX
DIGITAL
FILTERS
FIFO
VME BUS
LBUS
Fiber Interface Setup
Fiber Mode
Rate
Raw
1
106 or 250 MBs
BOF
CRC
Optional
2
ON
Flow Control
Optional
Epoch Generate Optional
Epoch Size Divisible by 4
1. Only with external sam-
ple. Internal sample gen-
erates data too fast for
this rate.
2. Some receivers may
require CRC to be off
for compatibility
Note
Setting the data port to Fiber while in the Raw fiber mode results in an invalid instrument state
because raw and filtered data cannot both be sent over the fiber interface at the same time.
47
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Generate
If flow control is off, Generate fiber mode transmits filtered ADC data over the fiber interface as
soon as data is available. ADC data is not available via any other data port and received optical
data is ignored. The following illustration shows an E1439D transmitting data when flow control
is turned off.
E1438D / E1439D
Fiber RX
Fiber TX
1 KB
FIFO
DIGITAL
FILTERS
ADC
FIFO
VME BUS
LBUS
Fiber Interface Setup
Fiber Mode
Rate
Generate
106 or 250 MBs
Optional
BOF
1
CRC
ON
Flow Control
OFF
Epoch Generate Optional
Epoch Size Divisible by 4
1. Some receivers may
require CRC to be off
for compatibility
48
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
If flow control is on and the fiber receiver is capable of generating flow control signals, Generate
fiber mode transmits filtered ADC data after the fiber receiver indicates that it is ready and a
complete data block is ready to be transmitted. ADC data is not available via any other data port
and received optical data, other than the flow control signals, is ignored. The following
illustration shows an E1439D transmitting data to a fiber receiver when flow control is on.
E1438D / E1439D
Fiber Receiver
Fiber
RX
Fiber
TX
Fiber RX
Fiber TX
1 KB
FIFO
FLOW
CONTROL
DATA
DIGITAL
FIFO
ADC
FILTERS
Processing
VME BUS
LBUS
Fiber Interface Setup
Mode
Generate
106 or 250 MBs
Rate
BOF
Optional
ON
CRC
Flow Control
No Copy
Epoch Generate Optional
Epoch Size Divisible by 4
49
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
Append
The Append fiber mode copies optical data from its fiber receiver to its fiber transmitter and
appends its own filtered ADC data. This mode is required in an optical fiber append chain. For
the first module in an append chain, set the fiber mode to Generate, BOF to ON, and Epoch
Generate to ON. The module generates data epochs in the standard fashion and a BOF is sent after
each epoch. For all modules after the first, set fiber mode to Append, BOF to ON, and Epoch
Generate to ON. Each module copies received data to its transmitter output until a BOF is
received. The module then sends one epoch of filtered data from its ADC (if at least one block is
available), followed by a BOF.
In block data mode, the data from a single trigger is transmitted. Subsequent triggers should not
be generated faster than the data can be transmitted.
In continuous data mode, the generated data must not exceed the available fiber bandwidth,
allowing the data to be merged without data loss from a FIFO overrun. Therefore, you must
reduce the generated sample rate using either an external sample clock operating at a slower rate
or data decimation. If you use an external sample clock operating at a slower rate, epoch size must
be 1024 bytes (a larger epoch size causes a FIFO overrun resulting in a loss of data, and a smaller
epoch size increases overhead reducing the available bandwidth). The available bandwidth is then
about 101 MBytes/second or 238 MBytes/second. If you use data decimation, an epoch size of
approximately 2048 bytes provides the maximum available bandwidth.
Note
Epoch size and block size must be equal (in bytes). Since block size is in samples, you can
multiply block size by the number of bytes per sample to determine the equivalent epoch size.
Conversely, you can divide the epoch size by the number of bytes per sample to determine the
equivalent block size. Real 12-bit data contains 2 bytes per sample, complex 12-bit data and real
24-bit data contains 4 bytes per sample, and complex 24-bit data contains 8 bytes per sample.
50
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
The following shows two E1439D modules in an append chain transmitting data to a fiber
receiver when flow control is off.
E1438D / E1439D
E1438D / E1439D
Fiber Receiver
Fiber
RX
Fiber
TX
1 KB
FIFO
Fiber RX
Fiber TX
Fiber RX
Fiber TX
1 KB
FIFO
1 KB
FIFO
DATA
DIGITAL
FIFO
DIGITAL
FIFO
ADC
ADC
FILTERS
FILTERS
Processing
VME BUS
LBUS
VME BUS
LBUS
Fiber Interface Setup
First E1439D in chain
Next E1439D in chain
Mode
Rate
BOF
Generate
Mode
Rate
BOF
Append
106 or 250 MBs
ON
same as module to left
1
ON
CRC
ON
CRC
ON
Flow Control
OFF
Flow Control
OFF
Epoch Generate ON
Epoch Size Divisible by 4; must match blocksize
Epoch Generate ON
Epoch Size Divisible by 4; must match blocksize
1. The final module in an append chain may require BOF to be Off for compat-
ibility with data receivers that cannot process BOFs.
51
Download from Www.Somanuals.com. All Manuals Search And Download.
Using the Agilent E1439
Fiber Optic Interface
The following shows two E1439D modules in an append chain transmitting data to a fiber
receiver when flow control is on.
E1438D / E1439D
E1438D / E1439D
Fiber Receiver
Fiber
RX
Fiber
TX
1 KB
FIFO
Fiber RX
Fiber TX
Fiber RX
Fiber TX
1 KB
FIFO
1 KB
FIFO
DATA
DIGITAL
FIFO
DIGITAL
FIFO
ADC
ADC
FILTERS
FILTERS
Processing
VME BUS
LBUS
VME BUS
LBUS
Fiber Interface Setup
First E1439D in chain
Next E1439D in chain
Mode
Rate
BOF
Generate
106 or 250 MBs
ON
Mode
Rate
BOF
Append
same as module to left
1
ON
CRC
ON
CRC
ON
2
Flow Control
Copy
Flow Control
No Copy
Epoch Generate ON
Epoch Size Divisible by 4; must match blocksize
Epoch Generate ON
Epoch Size Divisible by 4; must match blocksize
1. The final module in an append chain may require BOF to be Off for compat-
ibility with data receivers that cannot process BOFs.
2. Set intermediate modules to Copy and the last module to No Copy.
52
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Introduction
Introduction
The programmer’s reference is presented as a set of VXIplug&play functions since this is the
primary targeted environment. However, when you performed the setup for the Agilent E1439,
drivers were installed to support various programming environments as described in
The function descriptions in the programmer’s reference are valid for all environments. Be sure to
installation and to become familiar with the capabilities of your Agilent E1439 software in
various programming environments. You should find the example programs particularly helpful
for programming in various environments.
Many of the function descriptions in the programming reference include several related functions.
You may use the primary function to set all related parameters or you may use the other functions
within the group to set or query a single parameter.
Parameter variables are presented as alphanumeric values which are descriptive and easy to
remember. However, for faster programming you may use the numeric equivalents for the
parameter variables listed at the end of this section.
54
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by class
Functions listed by class
Component
Capability
Subclass
Function Name
INITIALIZE & CLOSE
age1439_init (on page 132)
age1439_close (on page 86)
MEASURE
READ
INITIATE
age1439_meas_control (on page 151)
age1439_meas_init (on page 154)
age1439_meas_start (on page 155)
age1439_meas_status_get (on page 156)
age1439_wait (on page 189)
MEASURE
MEASURE
READ
FETCH
age1439_read (on page 159)
age1439_read64 (on page 159)
age1439_read_raw (on page 162)
age1439_clock_fs (on page 76)
CONFIGURE
age1439_clock_fs_get (on page 76)
age1439_clock_recover (on page 77)
age1439_clock_setup (on page 78)
age1439_clock_setup_get (on page 78)
age1439_combo_setup (on page 87)
age1439_data_memsize_get (on page 88)
age1439_data_scale_get (on page 89)
age1439_data_setup (on page 90)
age1439_filter_setup (on page 120)
age1439_frequency_setup (on page 128)
age1439_input_autozero (on page 134)
age1439_input_range_auto (on page 137)
age1439_input_setup (on page 141)
age1439_trigger_setup (on page 183)
age1439_adc_clock (on page 72)
MEASURE
CONFIGURE
LOW LEVEL
age1439_adc_clock_get (on page 72)
age1439_adc_divider (on page 73)
age1439_adc_divider_get (on page 73)
55
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by class
Component
Capability
Subclass
Function Name
age1439_data_blocksize (on page 90)
age1439_data_blocksize_get (on page 90)
age1439_data_delay (on page 90)
age1439_data_delay_get (on page 90)
age1439_data_mode (on page 90)
age1439_data_mode_get (on page 90)
age1439_data_port (on page 90)
age1439_data_port_get (on page 90)
age1439_data_resolution (on page 90)
age1439_data_resolution_get (on page 90)
age1439_data_spectral_order (on page 90)
age1439_data_spectral_order_get (on page 90)
age1439_data_type (on page 90)
age1439_data_type_get (on page 90)
age1439_data_xfersize (on page 96)
age1439_data_xfersize_get (on page 96)
age1439_filter_bw (on page 120)
age1439_filter_bw_get (on page 120)
age1439_filter_decimate (on page 120)
age1439_filter_decimate_get (on page 120)
age1439_filter_sync (on page 123)
age1439_frequency_center (on page 128)
age1439_frequency_center_get (on page 128)
age1439_frequency_center_raw (on page 125)
age1439_frequency_center_raw_compute (on
age1439_frequency_center_raw_get (on page 125)
age1439_frequency_cmplxdc (on page 128)
age1439_frequency_cmplxdc_get (on page 128)
age1439_frequency_sync (on page 128)
age1439_frequency_sync_get (on page 128)
age1439_front_panel_clock_input (on page 131)
age1439_front_panel_clock_input_get (on page 131)
age1439_input_alias_filter (on page 141)
age1439_input_alias_filter_get (on page 141)
age1439_input_autozero (on page 134)
age1439_input_coupling (on page 141)
age1439_input_coupling_get (on page 141)
age1439_input_offset (on page 135)
age1439_input_offset_get (on page 135)
56
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by class
Component
Capability
Subclass
Function Name
age1439_input_offset_save (on page 136)
age1439_input_range (on page 141)
age1439_input_range_get (on page 141)
age1439_input_signal (on page 141)
age1439_input_signal_get (on page 141)
age1439_input_signal_path (on page 141)
age1439_input_signal_path_get (on page 141)
age1439_reference_clock (on page 165)
age1439_reference_clock_get (on page 165)
age1439_reference_prescaler (on page 166)
age1439_reference_prescaler_get (on page 166)
age1439_smb_clock_output (on page 173)
age1439_smb_clock_output_get (on page 173)
age1439_sync_clock (on page 178)
age1439_sync_clock_get (on page 178)
age1439_sync_direction (on page 179)
age1439_sync_direction_get (on page 179)
age1439_sync_output (on page 180)
age1439_sync_output_get (on page 180)
age1439_trigger_adclevel (on page 183)
age1439_trigger_adclevel_get (on page 183)
age1439_trigger_delay (on page 183)
age1439_trigger_delay_get (on page 183)
age1439_trigger_delay_actual_get (on page 181)
age1439_trigger_gen (on page 183)
age1439_trigger_gen_get (on page 183)
age1439_trigger_magdwell (on page 183)
age1439_trigger_magdwell_get (on page 183)
age1439_trigger_maglevel (on page 183)
age1439_trigger_maglevel_get (on page 183)
age1439_trigger_phase_actual_get (on page 182)
age1439_trigger_slope (on page 183)
age1439_trigger_slope_get (on page 183)
age1439_trigger_type (on page 183)
age1439_trigger_type_get (on page 183)
age1439_vcxo (on page 187)
age1439_vcxo_get (on page 187)
age1439_vxi_clock_output (on page 188)
age1439_vxi_clock_output_get (on page 188)
age1439_epoch_setup (on page 98)
ROUTE
CONFIGURE
57
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by class
Component
Capability
Subclass
Function Name
age1439_lbus_mode (on page 148)
age1439_lbus_mode_get (on page 148)
age1439_lbus_reset (on page 150)
age1439_lbus_reset_get (on page 150)
ROUTE
CONFIGURE
LOW LEVEL
age1439_epoch_generate (on page 98)
age1439_epoch_generate_get (on page 98)
age1439_header (on page 99)
age1439_epoch_header_enable (on page 99)
age1439_epoch_header_enable_get (on page 99)
age1439_epoch_size (on page 98)
age1439_epoch_size_get (on page 99)
ROUTE
CONTROL
age1439_attrib_get (on page 74)
UTILITY
age1439_cal_get (on page 75)
age1439_driver_debug_level (on page 97)
age1439_driver_debug_level_get (on page 97)
age1439_interrupt_mask_get (on page 146)
age1439_interrupt_priority_get (on page 146)
58
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by class
Component
Capability
Subclass
Function Name
age1439_interrupt_restore (on page 145)
age1439_interrupt_setup (on page 146)
age1439_options_get (on page 157)
age1439_product_id_get (on page 158)
age1439_reset (on page 167)
age1439_reset_hard (on page 168)
age1439_revision_query (on page 169)
age1439_self_test (on page 170)
age1439_serial_number (on page 172)
age1439_serial_number_get (on page 172)
age1439_state_save (on page 175)
age1439_state_recall (on page 174)
age1439_status_get (on page 176)
59
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by functional group
Functions listed by functional group
This section lists the programing functions in groups of related functions. A brief description of
each group follows:
before using any other functions.
“Identification” on page 64: These functions identify the module, serial number and options.
“Analog setup” on page 61: These functions determine how the analog input section is
configured.
“Data format” on page 61: An Agilent E1439 can collect either real or complex data in 12-bit or
24-bit format. It can collect data into various blocksizes or in a continuous mode. This data can be
transferred either on the VXI backplane, the Local Bus or over the fiber interface.
“Digital processing” on page 62: The decimation filter provides bandpass filtering and decimation
capabilities. You may also select limited frequency spans away from baseband.
“Measurement control” on page 64: These functions initiate or terminate the measurement loop.
“Timing” on page 64: The clock signals for the ADC sample clock can be set in a variety of ways.
One Agilent E1439 can be enabled to drive the sample clock line on the VXI backplane or front
panel to enable synchronization of multiple Agilent E1439 modules.
“Trigger” on page 65: These functions set all parameters associated with triggering the beginning
of data collection.
“Synchronization (controlling multiple modules)” on page 66: These functions support
synchronous operation among multiple Agilent E1439s by using shared ADC clock and Sync
signals to drive all the modules in a system.
“Reading data” on page 65: The Agilent E1439 reads data from either the VME or the Local Bus
data port. This data can optionally be scaled and converted to floating point.
“Interrupts” on page 64: The Agilent E1439 can be programmed to interrupt via the VXI
backplane whenever certain status conditions are present.
“Debugging” on page 62: Allows you to identify program and hardware problems.
“Fiber Interface” on page 62: These functions are only available on E1439D.
60
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by functional group
Initializing and closing
Analog setup
fier
Data format
transmission
volts
age1439_data_spectral_order −specifies the spectral order of the output data.
age1439_data_spectral_order_get −gets the spectral order of the output data.
entire block has been acquired.
61
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by functional group
Debugging
clock
calls
information
Digital processing
nal bandwidth with one function
parameters
age1439_frequency_center_raw
mode
change
Fiber Interface
BOF events are transmitted
62
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by functional group
redundancy checks.
check setting.
ister.
disabling transmitter flow control signals.
flow control function.
front panel XMT/RCV led’s.
DIR and NRDY bits from the fiber receiver.
face.
optical signal is detected by the optical fiber interface receiver.
rate for fiber optic data.
either an internal of external signal path.
with other fiber interfaces before data acquisition begins.
PIO2, DIR or, NRDY FPDP control signals on the fiber transmitter
PIO2, DIR and NRDY bits from the fiber transmitter.
ated.
header. It can be used by the optical receiver to direct where to route and/or how to
process associated epoch data.
increment count for the epoch header.
generated
enable.
data epochs on the fiber interface.
interface
63
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by functional group
clock connectors
clock connectors
nal
ability
Trigger
beginning of data collection
recent trigger event
magnitude trigger.
value of the LO at the most recent trigger point
Reading data
VEE applications
65
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed by functional group
Synchronization (controlling multiple modules)
See “Timing” on page 64 for low level clock and sync setup commands
urations
ules for frequency change
systems
tems
66
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Functions listed alphabetically
clock source
sample clock
ple clock
surement setups
signal bandwidth with one function
output port transmission
volts
data.
data.
an entire block has been acquired
67
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
ated.
header. It can be used by the optical receiver to direct where to route and/or how to
process associated epoch data.
increment count for the epoch header.
generated
enable.
data epochs on the fiber interface.
calls.
ple clock
BOF events are transmitted
redundancy checks.
check setting.
ister.
disabling transmitter flow control signals.
front panel XMT/RCV led’s.
DIR and NRDY bits on the fiber receiver.
optical signal is detected by the optical fiber interface receiver.
face.
rate for fiber optic data.
either an internal of external signal path.
68
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
with other fiber interfaces before data acquisition begins.
PIO2, DIR or, NRDY FPDP control signals on the fiber transmitter.
PIO2, DIR and NRDY bits on the fiber transmitter.
tion
ter parameters
for age1439_frequency_center_raw
ment mode
quency change
mode
clock
filter
amplifiers
69
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
setting
module systems
valid hardware setup
measurement
string
VEE applications
ware revision.
repair purposes
SMB clock connectors
SMB clock connectors
signal
availability
70
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
most recent trigger event
magnitude trigger
samples
value of the LO at the most recent trigger point
beginning of data collection
source
systems
71
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_adc_clock
Specifies the ADC clock source. This description also includes the query function:
age1439_adc_clock_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_adc_clock(ViSession id, ViInt16 adcClock);
ViStatus age1439_adc_clock_get(ViSession id, ViPInt16 adcClockPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
adcClock
freq determines which oscillator is used. age1439_vcxo determines whether the internal
oscillator is turned on. You must use all three of the functions to provide the desired internal clock
source.
AGE1439_VCXO_EXT_REF takes an external reference signal on the front panel and uses a
phase-locked loop to convert it to the ADC clock of the module. The ADC clock can be either 100
MHz or 102.4 MHz. The external reference used by the phase lock loop to synthesize the ADC
clock can be either a 10 MHz or 10.24 MHz signal.
reference_clock.
adcClockPtr
points to the value of the current adcClock.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
72
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_adc_divider
Determines which divider is applied to the ADC clock source. This description also includes the
query function:
age1439_adc_divider_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_adc_divider(ViSession id, ViInt16 adcDivider);
ViStatus age1439_adc_divider_get(ViSession id, ViPInt16 adcDividerPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function should generally be left in the default mode. The alternate mode applies to a
different model of the module.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
adcDivider
AGE1439_DIVIDE_BY_10 divides the ADC clock by 10.
AGE1439_DIVIDE_BY_38 divides the ADC clock by 38.
adcDividerPtr
points to the current value of adcDivider.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
Comments
The Agilent E1439 normally runs its sample clock at 95 MHz. It divides that clock by 38 to
generate 2.5 MHz, which can be compared against a user-supplied 10Mhz reference that we
internally divide by 4 (age1439_reference_prescaler) which also generates a 2.5 MHz clock. In
the case of a multi module system without an external reference clock, the master module sends
its 2.5 MHz clock out on the VXI bus or front panel smbs for use by the other module's PLLs.
See Also
73
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_attrib_get
Gets low-level attributes of current I/O library session.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_attrib_get(ViSession id, ViInt16 attribute, ViPint32 value);
Description
age1439_attrib_get is used primarily to manage the use of interrupts which requires making
direct VISA function calls. Since interrupts are a shared resource across all modules using the
VXI interface, it is not possible for the Agilent E1439 library, which governs single modules, to
provide the functions to properly manage interrupts.
This function is used to access either the I/O library handle or the mapped I/O base address of the
module. You should refer to the appropriate VISA documentation for descriptions of the I/O
library functions.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
attribute
designates the type of attribute to return.
AGE1439_IO_HANDLE accesses the I/O library handle.
AGE1439_IO_ADDRESS points to the mapped I/O base address of the module.
AGE1439_RM_HANDLE accesses the I/O library handle of the default resource manager.
One or both of these parameters are used when calling I/O library functions directly.
value
is the value of the requested attribute. For the VISA I/O library the value of the handle attribute
corresponds to the vi parameter used by the majority of the I/O functions. The address attribute
points to the base of the mapped I/O address space.
Example
See the interrupt.c example program.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
74
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_cal_get
Gets last calibration date of specified board.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_cal_get(ViSession id, ViInt16 board, ViPInt32 datestampPtr);
Description
age1439_cal_get is used to read the date stamp of the last calibration.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
board
AGE1439_01_BOARD returns calibration information for the 01 (digital/ADC) board.
AGE1439_03_BOARD returns calibration information for the 03 (input) board.
datestampPtr
points to the return location for the timestamp of the most recent saved calibrations. Format is
YYYYMMDDin base 10 notation.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
75
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_clock_fs
Provides the module with the frequency of an external sample clock. This description also
includes the query:
age1439_clock_fs_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_clock_fs(ViSession id, ViReal64 fs);
ViStatus age1439_clock_fs_get(ViSession id, ViPReal64 fsPtr);
Description
This command is applicable only when an external sample clock is used. It is an order-dependent
command and must be set after selecting the external sample clock.
When using an external sample clock or when a module is a non-master in a multi-module group,
the frequency of the ADC clock is unknown by the module. It is the responsibility of the
programmer to provide the correct frequency so that library functions dependent on fs operate
properly. This value has no effect if the module is not set up to use the external sample clock.
Parameters
id
fs
is the VXI instrument session pointer returned by the age1439_init function.
provides the module with the frequency of an external sample clock (from 10,000,000 to
103,000,000) connected to the Ext Clk TTL connector.
AGE1439_FS_MIN supplies the minimum external sample clock frequency.
AGE1439_FS_MAX supplies the maximum external sample clock frequency.
fsPtr
points to the current value of the external sample clock frequency. If the Agilent E1439 is set to
the internal ADC clock, this query returns the value of that clock frequency. If the Agilent E1439
is set to the external clock, this query returns the last value entered via the age1439_clock_fs
function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
76
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_clock_recover
Allows recovery from an out-of-spec external sample clock.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_clock_recover(ViSession id);
Description
This command is used to restore proper function if the module has received an out-of spec
external sample clock. An out-of-spec situation could occur if the external sample clock is
removed or changed during operation, or if it has glitches which don’t meet specs. In this case the
module would cease functioning and this command must be issued in order to resume proper
operation after restoring a valid clock.
Parameters
id
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
77
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_clock_setup
Sets all timing parameters for commonly used measurement setups. This description also includes
a query:
age1439_clock_setup_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_clock_setup(ViSession id, ViInt16 clockSetup);
ViStatus age1439_clock_setup_get(ViSession id, ViPInt16 clockSetupPtr);
Description
age1439_clock_setup is used to select the source and distribution of clocking and
synchronization signals used by the Agilent E1439 module. The primary clock signal used by the
module is the ADC clock, for which the rising edges indicate the time for each sample of the
analog-to-digital converter.
This function changes the settings controlled by the following lower-level functions:
Note
frequency.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
clockSetup
This parameter provides a quick way to set up most of the timing parameters for several standard
clock configurations. The following setups are available:
78
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Simple clock setups for stand-alone modules
Internal reference
ADC_CLK
VCXO_INTERNAL
VCXO_ON
VCXO
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
CLOCK_OFF
N/A
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
CLOCK_OFF
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_OFF
N/A
SYNC_OUTPUT
SYNC_DIRECTION
Phase locked to external reference
ADC_CLK
VCXO_EXT_REF
VCXO_ON
VCXO
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_4
CLOCK_OFF
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
FRONT_PANEL_CLOCK
BNC_CLOCK
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_OFF
N/A
SYNC_OUTPUT
SYNC_DIRECTION
79
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
External sample clock (for use with baseband path only)
ADC_CLK
VCXO
EXT_SAMPLE_CLOCK
VCXO_OFF
ADC_DIVIDER
DIVIDE_BY_38
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
PRESCALE_BY_1
CLOCK_OFF
FRONT_PANEL_CLOCK
BNC_CLOCK
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_OFF
N/A
SYNC_OUTPUT
SYNC_DIRECTION
Front panel master-slave setups, one master per mainframe
Front master, internal reference
ADC_CLK
VCXO_INTERNAL
VCXO_ON
VCXO
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
CLOCK_OFF
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
N/A
CLOCK_OFF
DIVIDED_ADC_CLOCK
DIVIDED_ADC_CLOCK
SYNC_OUT_SMB
FRNT_TO_REAR
SYNC_OUTPUT
SYNC_DIRECTION
80
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Front master, phase locked to external reference
ADC_CLK
VCXO
VCXO_EXT_REF
VCXO_ON
ADC_DIVIDER
DIVIDE_BY_38
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
PRESCALE_BY_4
CLOCK_OFF
FRONT_PANEL_CLOCK
BNC_CLOCK
DIVIDED_ADC_CLOCK
DIVIDED_ADC_CLOCK
SYNC_OUT_SMB
FRNT_TO_REAR
SYNC_OUTPUT
SYNC_DIRECTION
Front slave, phase locked to master
ADC_CLK
VCXO_EXT_REF
VCXO_ON
VCXO
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
CLOCK_OFF
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
FRONT_PANEL_CLOCK
SMB_CLK
CLOCK_OFF
SMB_CLOCK
SYNC_OUTPUT
SYNC_DIRECTION
SYNC_OUT_SMB
FRNT_TO_REAR
81
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Rear panel master-slave setups, one master per mainframe
Rear master, internal reference
ADC_CLK
VCXO_INTERNAL
VCXO_ON
VCXO
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
DIVIDED_ADC_CLOCK
N/A
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
CLOCK_OFF
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_VXI
REAR_TO_FRNT
SYNC_OUTPUT
SYNC_DIRECTION
Rear master, phase locked to external reference
ADC_CLK
VCXO_EXT_REF
VCXO_ON
VCXO
ADC_DIVIDER
DIVIDE_BY_38
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
PRESCALE_BY_4
DIVIDED_ADC_CLOCK
FRONT_PANEL_CLOCK
BNC_CLOCK
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_VXI
REAR_TO_FRNT
SYNC_OUTPUT
SYNC_DIRECTION
82
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Rear slave, phase locked to master
VCXO_EXT_REF
ADC_CLK
VCXO
VCXO_ON
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
CLOCK_OFF
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
VXI_CLOCK
CLOCK_OFF
CLOCK_OFF
VXI_CLOCK
SYNC_OUTPUT
SYNC_DIRECTION
SYNC_OUT_VXI
REAR_TO_FRNT
Multi-module external sample setups, set all modules the same
Front sync, external sample clock, wired-OR sync
ADC_CLK
EXT_SAMPLE_CLOCK
VCXO_OFF
VCXO
ADC_DIVIDER
DIVIDE_BY_38
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
PRESCALE_BY_1
CLOCK_OFF
FRONT_PANEL_CLOCK
BNC_CLOCK
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_SMB
FRNT_TO_REAR
SYNC_OUTPUT
SYNC_DIRECTION
83
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Rear sync, external sample clock, wired-OR sync
ADC_CLK
VCXO
EXT_SAMPLE_CLOCK
VCXO_OFF
ADC_DIVIDER
DIVIDE_BY_38
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
PRESCALE_BY_1
CLOCK_OFF
FRONT_PANEL_CLOCK
BNC_CLOCK
CLOCK_OFF
DIVIDED_ADC_CLOCK
SYNC_OUT_VXI
REAR_TO_FRNT
SYNC_OUTPUT
SYNC_DIRECTION
Multiple mainframe setups
Send sync to slave
ADC_CLK
VCXO
VCXO_INTERNAL
VCXO_ON
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
DIVIDED_ADC_CLOCK
N/A
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
CLOCK_OFF
DIVIDED_ADC_CLOCK
VXI_CLOCK
SYNC_OUTPUT
SYNC_OUT_BOTH
REAR_TO_FRONT
SYNC_DIRECTION
84
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Receive sync from master
ADC_CLK
VCXO_EXT_REF
VCXO
VCXO_ON
ADC_DIVIDER
DIVIDE_BY_38
PRESCALE_BY_1
FRONT_PANEL_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK
REFERENCE_PRESCALER
VXI_CLK_OUTPUT
REFERENCE_CLOCK
FRONT_PANEL_CLOCK
SMB_CLOCK_OUTPUT
SYNC_CLOCK
CLOCK_OFF
SMB_CLOCK
SYNC_OUTPUT
SYNC_DIRECTION
SYNC_OUT_BOTH
FRONT_TO_REAR
clockSetupPtr
points to the current value of clockSetup.
level clock configuration functions are used to set up clocks to a non-standard configuration.
Example
The program multichan.exe example program provides an example of how to correctly set up a
multi-module system with synchronous clocks.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
Effect on Active Measurement
age1439_clock_setup aborts any measurement in progress.
See Also
85
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_close
Closes the module's software connection.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_close(ViSession id);
Description
age1439_close terminates the software connection to the module, deallocates system resources,
and places the module in the Idle state. After this function has been executed the specified id
identifier is no longer a valid parameter for function calls.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
86
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_combo_setup
Combines often used setup commands from various functions.
age1439_combo_setup sets signal bandwidth, blocksize and center frequency.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_combo_setup(ViSession id, ViInt16 sigBw, ViInt32 blocksize, ViInt32
phase, ViInt32 interpolate);
Description
age1439_combo_setup provides a faster way to set up parameters from several functions which
are often used together.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
blocksize
interpolate
phase
sigBw
Comments
This command halts the current measurement which also releases the forced Idle state. If you use
this command in multi-module systems to synchronously change the center frequency while the
the forced Idle condition.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
87
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_data_memsize_get
Returns the module's memory size in megabytes.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_data_memsize_get(ViSession id, ViPInt16 memSizePtr);
Description
This command allows you to determine whether your module contains standard memory of 18
Mbytes or a larger memory option.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the memory size in number of Megabytes.
memSizePtr
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
88
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_data_scale_get
Gets the data scale factor.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_data_scale_get(ViSession id, ViPReal64 scalePtr);
Description
age1439_data_scale_get calculates the correct scale factor for raw data using the current data
resolution and input range. The factor returned by this function is used to multiply raw data to get
data in volts.
When the module is providing only the real part of complex data, the data is doubled to provide
consistent spectrum measurements. This occurs with either shift decimation or when the real part
of a zoomed signal with a non-zero center frequency is taken.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the calculated scale factor with which to scale raw data to volts.
scalePtr
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
89
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_data_setup
Sets all format and data output flow parameters. This description also includes information on the
following functions which set or query the format and flow parameters individually:
age1439_data_blocksize determines the size of the output data block.
age1439_data_blocksize_get gets the output data block size.
age1439_data_delay determines the FIFO delay in continuous mode.
age1439_data_delay_get gets the FIFO delay in continuous mode.
age1439_data_mode selects block mode or continuous mode.
age1439_data_mode_get gets the data mode.
age1439_data_port selects VME bus or local bus output port.
age1439_data_port_get gets the output port designation.
age1439_data_resolution selects 12 or 24 bits data resolution.
age1439_data_resolution_get gets the data resolution.
age1439_data_spectral_order specifies the spectral order of the output data.
age1439_data_spectral_order_get gets the spectral order of the output data.
age1439_data_type selects real or complex output data.
age1439_data_type_get gets output data type.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_data_setup(ViSession id, ViInt16 dataType, ViInt16 resolution, ViInt16
mode, ViInt32 blocksize, ViInt32 dataDelay, ViInt16 spectralOrder, ViInt16 port);
ViStatus age1439_data_blocksize(ViSession id, ViInt32 blocksize);
ViStatus age1439_data_blocksize_get(ViSession id, ViPint32 blocksizePtr);
ViStatus age1439_data_delay(ViSession id, ViInt32 dataDelay);
ViStatus age1439_data_delay_get(ViSession id, ViPInt32 dataDelayPtr);
ViStatus age1439_data_mode(ViSession id, ViInt16 mode);
ViStatus age1439_data_mode_get(ViSession id, ViPInt16 modePtr);
ViStatus age1439_data_port(ViSession id, ViInt16 port);
ViStatus age1439_data_port_get(ViSession id, ViPInt16 portPtr);
ViStatus age1439_data_resolution(ViSession id, ViInt16 resolution);
ViStatus age1439_data_resolution_get(ViSession id, ViPInt16 resolutionPtr);
ViStatus age1439_data_spectral_order(ViSession id, ViInt16 spectralOrder);
ViStatus age1439_data_spectral_order_get(ViSession id, ViPInt16 spectralOrderPtr);
ViStatus age1439_data_type(ViSession id, ViInt16 dataType);
ViStatus age1439_data_type_get(ViSession id, ViPInt16 dataTypePtr);
Description
Note
The functions, age1439_data_delay, age1439_data_mode, age1439_data_resolution, and
age1439_data_type work the same for the fiber interface as they do for the other interfaces.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
blocksize
determines the number of sample points in each output data block.
AGE1439_BLOCKSIZE_MIN selects the minimum blocksize.
90
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
AGE1439_BLOCKSIZE_MAX selects the maximum blocksize.
AGE1439_BLOCKSIZE_DEF sets the default blocksize.
The range of available block sizes depends on the number of bytes required for each sample. The
command accepts any number between 2 and memory size (in bytes) × 2/3. If the requested block
size falls outside the range shown in the table the previous valid value is used and a status register
flag (bit 6) is set indicating a setup error. The blocksize is updated after the setup is changed to be
valid.
For real data blocksize is the number of real data values per data block. For complex data
blocksize is the number of complex data pairs per data block.
The following table summarizes the available block sizes for each setting of the dataType, and
resolution parameters.
max block size
in Msamples
(2 M*72 memory)1
data type resolution
min. block size
real
12
24
12
24
6
3
3
2
12
6
real
complex
complex
6
3
1. Parity memory is used in non-parity mode, so 2M× 72
bit memory yields 18 Mbytes of FIFO storage.
Note
Block size must be an even number. Considerably more samples may need to be taken in order to
set the block available status bit.
blocksizePtr
dataDelay
points to the current value of the blocksize parameter. The returned value is the closest valid value
to the requested block size.
is used to specify the minimum FIFO delay in number of samples. This parameter applies only in
continuous mode.
dataDelayPtr
dataType
points to the current value of the delay parameter.
determines whether the Agilent E1439 collects and returns real or complex data.
each sample
AGE1439_COMPLEX causes the real data followed by the imaginary data to be returned in each
sample.
Normally, if the center frequency set with the age1439_frequency_setup function is zero, the
type should be set to AGE1439_REAL since the imaginary component of each sample is zero
anyway. When non-zero center frequencies are used the type should normally be set to
AGE1439_COMPLEX, otherwise the imaginary component of the signal is lost.
91
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
when dataType is set to AGE1439_REAL and there is a non-zero center frequency the data scale
value is doubled for consistent spectrum measurements
dataTypePtr
mode
points to the current value of the dataType parameter.
selects whether the Agilent E1439's data collection operates in block mode or continuous mode.
AGE1439_BLOCK selects block transfer mode in which the measurement is halted after each
block of data. To start collection of the next data block the module must be armed and triggered
again. This mode is used whenever each block of data is to be associated with an individual
trigger event.
AGE1439_CONTINUOUS means that a single arm and trigger event starts a measurement which
runs continuously with no gaps between output data blocks. The measurement continues as long
as the data is read out fast enough to prevent overflow in the output FIFO. The continuous mode is
useful for continuous signal processing applications where data gaps are unacceptable.
modePtr
port
points to the current value of the mode parameter.
determines which output port is used to take data from the Agilent E1439 module.
This is the instrument default.
VXI local bus (Agilent E1439D only) . When using the local bus port the module immediately to
the right of the Agilent E1439 must be capable of receiving the local bus byte sequence.
stream over the fiber interface.
portPtr
points to the current value of the port parameter.
resolution
AGE1439_24BIT respectively. Choosing 12-bit precision allows for more samples in the FIFO
memory. Choosing 24 bits allows more dynamic range. Because of the broadband white noise
present on the input of the analog-to-digital converter, it is normally sufficient to use 12 bit
resolution whenever the age1439_filter_setup function specifies a signal bandwidth greater than
10 MHz. For narrower bandwidths much of the broadband white noise is filtered out, resulting in
lower noise in the output data. To take advantage of this lower noise, you should use the 24-bit
data resolution.
resolutionPtr
points to the current value of the resolution parameter.
Comments
The following table summarizes the output word or byte sequence for each combination of
dataType, resolution, and port parameters:
92
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
data
resolution
transfer
width
xfers1
sequence2
R [11:0] |Z4
data type
port
real
12 bit
12 bit
VME
16 bit
1
0
R [11:0] |Z4 ...
1
complex
real
VME
VME
VME
16 bit
16 bit
16 bit
2
2
4
R [11:0] |Z4
0
Q [11:0] |Z4
0
R [11:0] |Z4
1
Q [11:0] |Z4 ...
1
24 bit
24 bit
R [23:8]
0
R [7:0] |Z8
0
R [23:8]
1
R [7:0] |Z8 ...
1
complex
R [23:8]
0
R [7:0] |Z8
0
Q [23:8]
0
Q [7:0] |Z8
0
R [23:8]
1
R [7:0] |Z8 ...
1
real
12 bit
12 bit
LBUS
LBUS
8 bit
8 bit
2
4
R [11:4]
0
R [3:0] |Z4
0
R [11:4]
1
R [3:0] |Z4 ...
1
complex
R [11:4]
0
R [3:0] |Z4
0
Q [11:4]
0
Q [3:0] |Z4
0
R [11:4]
1
R [3:0] |Z4 ...
1
real
24 bit
24 bit
LBUS
LBUS
8 bit
8 bit
4
8
R [23:16]
0
R [15:8]
0
R [7:0]
0
Z8
R [23:16]
1
R [15:8] ...
1
complex
R [23:16]
0
R [15:8],
0
R [7:0]
0
Z8,
Q [23:16]
0
Q [15:8]
0
Q [7:0]
0
Z8
R [23:16]
1
R [15:8] ...
1
93
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
data
resolution
transfer
width
xfers1
sequence2
R [11:0] |Z4|R [11:0] |Z4
data type
port
real
12 bit
Fiber
32 bit
32 bit
32 bit
32 bit
1/2
0
1
R [11:0] |Z4|R [11:0] |Z4,...
2
3
complex
real
12 bit
24 bit
24 bit
Fiber
Fiber
Fiber
1
1
2
R [11:0] |Z4|Q [11:0] |Z4
0
0
R [11:0] |Z4|Q [11:0] |Z4 ...
1
1
R [23:0] |Z8
0
R [23:0] |Z8 ...
1
complex
R [23:0] |Z8
0
Q [23:0] |Z8 ...
0
R [23:0] |Z8 ...
1
1. That is, transfers required per measurement. A fraction indicates multi-
ple samples per transfer.
2. Sequence Notation:
R = real number transfer; Q = imaginary number transfer; Z4 = 4 zero
pad bits; Z8 = 8 zero pad bits (in the LSBs). Subscript denotes the sample
number. Bracketed indices show which sample bits are contained in the
transfer, MSB first. A vertical bar denotes bit-wise concatenation. Exam-
ple: For a 12-bit sample sent to the LBUS, R0[11:4] indicates the 8 MSBs
of the sample are transferred in the first byte. Then R0[3:0] | Z4 indicates
the 4 LSBs of the sample are padded with 4 zero bits and transferred in
the second byte.
The maximum rate at which data may be transferred to memory is determined by the ADC clock
rate: MaxBytes/s = 1.5 × (ADC clock rate). Divide MaxBytes/s by 1.5 to get the 12-bit sample
rate, and by 3 to get the 24-bit sample rate.
A limitation also applies to 32-bit, complex data transfers. Because this type of transfer cannot be
made at the full sample rate, a level of decimation must be added in order to reduce the sample
rate.
The following table summarizes the relationship between data parameter combinations,
decimation, filter bandwidth, precision, and whether the combination permits block or continuous
measurements:
Note
Continuous mode is only limited by maximum transfer rate of the selected interface.
sample rate BW fs=100
decimate
filterBW
12b real
24b real
12b complex 24b complex
(Msamples/s)
MHz
n/a
1
0
1
2
2
3
3
100
50
40
20
10
10
5
b
b,d
b
b
0
50
b,d
1
25
b,c,d
b,c,d
b,c,d
b,d
b,d
b,d
b,d
b
b
0
25
1
12.5
5
b,c,d
b,c,d
b,d
94
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
sample rate BW fs=100
decimate
filterBW
12b real
24b real
12b complex 24b complex
(Msamples/s)
MHz
0
1
0
4
4
5
12.5
6.25
6.25
2.5
2.5
b,c,d
b,c,d
b,c,d
b,c,d
b,c,d
b,c,d
b,c,d
b,c,d
b,c,d
b,d
b,c,d
b,c,d
1.25
b = block mode, continuos mode to fiber at the fiber transfer rate of 250 Mbytes per
second.
c = continuous mode to local bus
d = continuous mode to fiber at the fiber transfer rate of 106 Mbytes per second.
spectralOrder
This parameter is intended for use only with the IF signal path, providing efficient and transparent
compensation for the effect of down conversion on output data. It does not generate an error if it is
set in baseband mode though spectralOrder remains AGE1439_NORMAL.
AGE1439_NORMAL means that the spectrum of the output data will be in the same spectral
order as the input signal. That is, if the input signal increases in frequency from "right-to-left", so
does the spectrum of the output data.
AGE1439_REVERSED means that the spectrum of the output data will be in the reverse spectral
order from the input spectrum. That is, if the input signal increases in frequency from "right-to-
left", the spectrum of the output data decreases in frequency from "right-to-left".
Changing the spectral order in multiple-module systems causes the LO to lose synchronization
with the other modules. Thus, in multi-module systems, the LO’s need to be re-synchronized after
LO.
spectralOrderPtr
points to the current value of the spectralOrder for the current signal path. In baseband mode the
returned value is always AGE1439_NORMAL.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
95
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_data_xfersize
Allows data to be read before an entire block had been acquired.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_data_xfersize(ViSession id, ViInt32 xfersize);
ViStatus age1439_data_xfersize_get(ViSession id, ViPInt32 xfersizePtr);
Description
This command allows you to specify the allowable data transfer size in a situation where you
want to read a large block of data in increments before an entire block has been acquired.
Note
This function has no effect on the fiber output channel.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
xfersize
specifies the data transfer size in samples.
AGE1439_XFERSIZE_MIN selects the minimum allowable transfer size.
sub-multiple of blocksize or an error is generated.
AGE1439_XFERSIZE_DEF sets the default transfer size.
Note
xfersize is reset by any subsequent change in the blocksize parameter and therefore must be
xfersizePtr
points to the data transfer size in number of bytes.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
96
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_driver_debug_level
Sets and gets the debug level.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_driver_debug_level(ViSession id, ViInt16 debugLevel);
ViStatus age1439_driver_debug_level_get(ViSession id, ViPInt16 debugLevelPtr);
Description
This command allows you to set and get debug levels. Debug messages are sent to the application
debugger using the Windows kernel function Output Debug String.
Note
This function only works under Windows.
This function only works with a debug build of the library.
Debug messages are received by the Microsoft Visual C++ debugger or can be received by the
dbmon example program that comes with Microsoft Visual C++.
You can compile a DEBUG build by opening age1439_32.dsw, the Visual C++ project for the
driver DLL, age1439_32.dll, and selecting the "age1439_32.dl-Win32 Debug" build
configuration.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
debugLevel
debugLevelPtr
is the debug level.
points to the value of debugLevel.
Debug levels are defined as follows:
Debug Level
Description
Only output errors and algorithmic results
Add output of setup function calls
Add output of measurement function calls
Add output of status query function calls
Reserved
Add output of diagnostic function calls
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
97
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_epoch_setup
Sets the parameters relevant to the transmission of data epochs over the fiber interface. This
description also includes information on the following functions that set up or query the fiber
epoch parameters individually:
age1439_epoch_generate controls whether data epochs are generated or not.
age1439_epoch_generate_get gets the epoch generation status.
age1439_epoch_header sets the value of the first 32 bits of the epoch header.
age1439_epoch_header_get returns the header value.
age1439_epoch_header_enable controls whether epoch headers are generated or not.
age1439_epoch_header_enable_get gets the header status.
age1439_epoch_size sets the size of the data epoch in bytes.
age1439_epoch_size_get gets the size of the data epoch
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_epoch_setup(Visession id, ViInt16 epochGenerate, ViInt32 epochSize,
ViInt16 headerEnable, ViInt32 initialValue, ViInt32 incrementCount);
ViStatus age1439_epoch_generate(Visession id, ViInt16 epochGenterate);
ViStatus age1439_epoch_generate_get(Visession id, ViPInt16 epochGenteratePtr);
ViStatus age1439_epoch_header(Visession id, ViInt32 headerValue,
ViInt32 incrementCount);
ViStatus age1439_epoch_header_get(Visession id, ViPInt32 headerValuePtr,
ViPInt32 incrementCountPtr);
ViStatus age1439_epoch_header_enable(Visession id, ViInt16 headerEnable);
ViStatus age1439_epoch_header_enable_get(Visession id, ViPInt16 headerEnablePtr);
ViStatus age1439_epoch_size(Visession id, ViInt32 epochSize);
ViStatus age1439_epoch_size_get(Visession id, ViPInt32 epochSizePtr);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
epochGenerate
controls whether or not data epochs are generated.
AGE1439_EPOCH_GEN_ON enables data epoch generation.
AGE1439_EPOCH_GEN_OFF disables sending end of epoch and epoch headers and disables
generating data epochs.
When epochGenerate is off, EOE (End of Epoch) events and epoch headers are not sent however,
data still is. Generally, epochGenerate should be on and should only be disabled for purposes of
compatibility. This setting is ignored when the fiberMode is AGE1439_FIBER_COPY.
epochGeneratePtr
epochSize
points to the current value of epochGenerate
sets the size of data epochs in bytes.
AGE1439_EPOCH_SIZE_MIN selects the minimum data epoch size.
AGE1439_EPOCH_SIZE_DEF sets the data epoch size to the default.
AGE1439_EPOCH_SIZE_MAX selects the maximum data epoch size.
98
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
The units of epochSize are always in bytes and this value must be divisible by 4, with a minimum
value of 8 to a maximum value of 4,294,967,292 bytes.
Note
For maximum compatibility with other fiber optic components, values divisible by 8 are
recommended.
When the module is being used in a fiber append chain, epochSize must be set equal to blocksize
(in bytes). Since the function AGE1439_DATA_BLOCKSIZE sets the blocksize in samples, the
following table can be used to compute blocksize in bytes.
data type
resolution
bytes per sample
real
complex
real
12
12
24
24
2
4
4
8
complex
Note
You may set blocksize and epochSize independently for the other fiberMode settings.
points to the current value of epochSize
epochSizePtr
headerEnable
controls whether or not epoch headers are generated.
AGE1439_HEADER_ON enables epoch header generation
AGE1439_HEADER_OFF disables epoch header is generation.
The default setting is off. Epoch headers are enabled only when epoch generation is enabled.
Otherwise, epoch header settings are silently accepted. The epoch header setting must match the
configuration of the optical receiver.
headerEnablePtr
headerValue
points to the current value of headerEnable
sets the value of the first 32 bits of the epoch header.
Epoch headers are 64 bits long. Of these, the last 32 bits are not used and set to zero. The first 32
bits are available and can be set by the user. The 10 least significant bits of the 32 non-zero bits
contain a value that can be used by the optical receiver to direct where to route and/or how to
process the associated epoch data. These 10 bits are called the headerIndex and can be set from a
value of 0 to 1023. In addition the headerIndex can be sequentially incremented by 1 each time it
is transmitted. The number of increments that are applied before returning to the original value is
programmable by the user.
The headerValue sets the value of all 32 non-zero bits of epoch header, including the 10 least
significant bits that comprise the headerIndex bit field. The default headerValue is 0 and the
maximum value is (2^32 -1).
99
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
headerValuePtr
incrementCount
points to the current value of initalValue
specifies the number of automatic increments to the headerIndex bit field. The default
incrementCount is 0 and the maximum value is (2^10 -1).
Example
The following is a example of how the increment process works.
For headerValue = 0x12345678 and incrementCount = 0x2, the sequence of values for
headerValue and headerIndex are:
Increment headerValue
headerIndex
0
1
2
0
1
2
0x12345678
0x12345679
0x1234567A
0x12345678
0x12345679
0x1234567A
0x278
0x279
0x27A
0x278
0x279
0x27A
If an incremented header reaches a value where the headerIndex is 0x3FF, the next headerIndex
will be 0x000, and no carry will be generated to the upper 22 bits of the header.
Note
If the incrementCount is set to 0, incrementing the headerIndex field is disabled.
points to the current value of incrementCount
incrementCountPtr
The following table is a summary of valid fiber, epoch setups. Please note that the designation of
N/A means that this information is not applicable to this condition. In this case the setting is
accepted but ignored. The designation of OK means the setting is accepted and implemented. The
designation of NO means do not use this setting with this condition.
Copy1
Option/fiberMode
Off
Raw
Generate
Append
1
BOF_OFF
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
OK
OK
OK
OK
OK
OK
OK
OK
2
3
4
BOF_ON
CRC_OFF
OK
OK
5
5
OK
OK
OK
OK
OK
OK
1
5
5
CRC_ON
OK
OK
1
FLOW_CONTROL_OFF
N/A
N/A
OK
OK
FLOW_CONTROL_COPY
FLOW_CONTROL_NO_COPY
EPOCH_GEN_OFF
N/A
N/A
N/A
N/A
OK
OK
OK
OK
OK
NO
1
3
6
EPOCH_GEN_ON
N/A
N/A
N/A
N/A
N/A
N/A
OK
OK
OK
OK
1
HEADER_OFF
OK
OK
OK
OK
2
HEADER_ON
OK
1. Default instrument setting on power-up and reset.
2. Not applicable unless EPOCH _GEN_ON is enabled.
100
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
3. This is required if this is the first module in an append chain.
4. This is required unless this is the last module in an append chain.
5. CRC_ON or CRC_OFF must correspond to the setting of the
module supplying the data to the fiber interface.
6. This is required for all modules in an append chain.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
101
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_error_message
Returns error information obtained from function calls.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_error_message(ViSession id, ViStatus statusCode, ViChar
errorMessage[]);
Description
age1439_error_message takes an error return value generated by a function and translates it to a
readable string. This function includes host errors as well as firmware errors.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
represents the error message string up to 256 characters long.
errorMessage
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
statusCode
represents the instrument numeric error code.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an unknown error condition or other important
status condition and may return VI_WARN_UNKNOWN_STATUS.
See Also
102
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_error_query
Queries the module for the first error in the queue.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_error_query(ViSession id, ViPint32 errorCode, ViChar errorMessage[]);
Description
age1439_error_query queries the module for the oldest error and returns the corresponding error
message. This function does not report host errors that originate in the C library.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the instrument numeric error code.
errorCode
errorMessage
points to the error message string up to 80 characters long. This message also indicates what
function call generated the error.
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
103
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_ext_sample_sync
Enables synchronization of multiple modules. This description also includes the query:
age1439_ext_sample_sync_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_ext_sample_sync(ViSession id, ViInt16 syncEnable);
ViStatus age1439_ext_sample_sync_get(ViSession id, ViPInt16 syncEnablePtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This command is used to provide precision sampling in multi-module systems by synchronizing
them to an external sample clock. The External Trigger BNC provides the input for a
synchronizing signal. A splitter and identical cables provide external sample clock and user
generated external sync pulse signals to each module. This command is only specified for
baseband path.
Note
This command requires specialized external hardware. “External sample synchronization in
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
syncEnable
multi-module external sample setup. A counter within the module is put into its reset state and the
two clocks within the module that are derived from the sample clock stop operating; this includes
the clock used by the DSP circuitry that runs at one-half the sample clock, and a clock running at
one thirty-eighth of the sample clock used for multi-module sync. As soon as a rising edge is
applied to the External Trigger input of the Agilent E1439, the counter resumes counting from a
known state and the two clocks mentioned above have a known phase. Since the clocks may be
resumed counting.
AGE1439_EXT_SAMP_SYNC_CANCEL releases the module’s counter from its preset state and
syncEnablePtr
points to the value of syncEnable.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
104
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
See Also
105
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_clear
This function clears all data from the fiber interface FIFO buffers.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_clear(ViSession id);
Description
age1439_fiber_clear clears all data from the fiber interface FIFO buffers, and resets other
internal transient states such as, "reset to beginning of epoch" and "return to copy phase of
append".
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
106
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_error_clear
This function clears the AGE1439_STATUS_FIBER_ERROR bit in the status register.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_error_clear(ViSession id);
Description
age1439_fiber_error_clear clears the AGE1439_STATUS_FIBER_ERROR bit in the status
register. If the error is continuously present, the bit will not be cleared.
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
107
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_error_get
This function returns the value of the fiber interface error register when the AGE1439_STATUS_
FIBER_ERROR bit is set.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_error_get(ViSession id, ViInt16 fiberErrorPtr);
Description
age1439_fiber_error_get returns the fiber interface errors.
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the value of the fiber interface error. The bits are defined below:
fiberErrorPtr
Numeric
Value
Status Bit
Definition
Description
9
FI_ERR_UNLOCKED
512
256
Indicates that the internal receive or transmit
clock is not properly locked. This could be
caused by a poor quality receive signal.
8
TX_ERR_OVERRUN
Indicates that data transmission is not
sustainable because the raw data bandwidth
has exceeded the available fiber capacity.
7
6
5
4
3
2
1
0
RX_ERR_FIFO_OVERFLOW
RX_ERR_SYNC_LOST
RX_ERR_DISPARITY
128
64
32
16
8
Indicates that data arriving on the fiber receive
port has been lost.
Indicates that the receiver did not detect the
synchronization signal.
Indicates an invalid stream of bits was
detected in the received data.
RX_ERR_CODE_VIOLATION
RX_ERR_ALIGNMENT
RX_ERR_BEGIN_DISPARITY
RX_ERR_CRC
Indicates an invalid stream of bits was
detected in the received data.
Indicates an invalid stream of bits was
detected in the received data.
4
Indicates an invalid stream of bits was
detected in the received data.
2
Indicates a cyclic redundancy check error has
occurred on the receiver of the fiber interface.
RX_ERR_SIGNAL LOST
1
Indicates the signal is no longer being received
on the fiber interface.
108
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
109
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_LED_get
Returns a data register indicating the state of the front panel XMT/RCV LEDs.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_LED_get(ViSession id, ViPInt16 ledRegPtr);
Description
This function returns a register value that indicates the current state of the front panel XMT and
RCV LEDs.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the current value of the LED register.
ledRegPtr
AGE1439_LED_RX_SIGNAL indicates an optical signal has been detected, the RCV LED is on
or blinking.
RCV LED is blinking.
AGE1439_LED_TX_ENABLED indicates that the transmitter in enabled, the XMT LED is on or
blinking.
ms, the XMT LED is blinking.
Note
LEDs are blinking, indicating data is being received and/or being transmitted.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
110
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_rcv_signals_get
Returns the current value of the PIO1, PIO2, DIR, or NRDY bits present on the fiber receiver.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_rcv_signals_get(ViSession id, ViPInt16 pio1, ViPInt16 pio2,
ViPInt16 dir, ViPInt16 nrdy);
Description
These are embedded Serial FPDP signals. The use of these bits is optional. Serial FPDP does not
use these four signals directly, but simply transmits them from sender to receiver. This function
displays the value of recovered PIO1, PIO2, DIR and NRDY bits on the fiber receiver.
Note
receiver is not synced to the signal. (e.g., when the wrong interface speed has been selected). The
function will also return this error if it is selected and no signal is present.
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
Programmable I/O bit on the fiber receiver for user defined purposes.
Programmable I/O bit on the fiber receiver for user defined purposes.
pio1
pio2
Note
The following are FPDP signals that are accommodated in the Serial FPDP protocol. For further
information on these signals refer to ANSI/VITA 17-1998, Front Panel Data Port Specifications.
dir
returns the dir FPDP control signal.
returns the nrdy FPDP control signal.
nrdy
Return Value
AGE1439_SUCCESS indicates that a function was successful.
AGE1439_FIBER_ERROR is returned if there is no optical energy detected on the RCV fiber
port.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
111
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_setup
Sets the fiber interface parameters. This description also includes information on the following
functions which set up or query the fiber parameters individually:
age1439_fiber_BOF controls whether or not automatically generated BOF events are
transmitted.
age1439_fiber_BOF_get returns the current status of bofEnable.
age1439_fiber_crc sets up the fiber interface to transmit and receive cycle redundancy
checking to the same value.
age1439_fiber_crc_get gets the current status of crcEnable.
age1439_fiber_flow_control enables or disables transmitter flow control signals.
age1439_fiber_flow_control_get returns the value of flowControlMode.
age1439_fiber_mode is used to select the fiber mode.
age1439_fiber_mode_get returns the current value of fiberMode.
age1439_fiber_transfer_rate selects the transfer rate for fiber optical data.
age1439_fiber_transfer_rate_get returns the current value of transferRate.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_setup(Visession id, ViInt16 mode, ViInt16 bofEnable, ViInt16
flowControlEnable, ViInt16 crcEnable, ViInt16 transferRate);
ViStatus age1439_fiber_BOF(Visession id, ViInt16 bofEnable);
ViStatus age1439_fiber_BOF_get(Visession id, ViPInt16 bofEnablePtr);
ViStatus age1439_fiber_crc(Visession id, ViInt16 crcEnable);
ViStatus age1439_fiber_crc_get(Visession id, ViPInt16 crcEnablePtr);
ViStatus age1439_fiber_flow_control(Visession id, ViInt16 flowControlMode);
ViStatus age1439_fiber_flow_control_get(Visession id, ViInt16 flowControlModePtr);
ViStatus age1439_fiber_mode(Visession id, ViInt16 fiberMode);
ViStatus age1439_fiber_mode_get(Visession id, ViPInt16 fiberModePtr);
ViStatus age1439_fiber_transfer_rate(Visession id, ViInt16 transferRate);
ViStatus age1439_fiber_transfer_rate_get(Visession id, ViPInt16 transferRatePtr);
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
bofEnable
configures the automatic generation of BOF events. Generally, this is only used by modules in an
optical append chain.
AGE1439_BOF_ON is used in an optical append chain. When used in this manner, all but the last
module in the append chain should have BOF events enabled. The first module in the append
it to generate a BOF event after every EOE event, in other words, at the end of every data epoch it
FIBER_MODE_APPEND. In this case, the module re-transmits received data epochs without
modification. The reception of a BOF event alerts the module to the opportunity to insert a data
epoch of its own, if available, between the reception of EOE and BOF events. AGE1439_BOF_
otherwise this setting is silently accepted and ignored.
112
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
AGE1439_BOF_OFF is the default setting. It blocks the transmission of all automatically
generated BOF events. However, programmatically generated BOF events such as age1439_
fiber_xmt_BOF,whichareusedinthesynchronizationoffiberinterfaces,arenotblocked.
bofEnablePtr
crcEnable
points to the current value of bofEnable.
determines whether or not cyclic redundancy checking (CRC) is performed on the fiber receiver
and whether or not that information will be transmitted. Generally, cyclic redundancy checking
should be enabled, but turning CRC off may solve compatibility problems with some fiber optic
receivers.
AGE1439_CRC_ON enables CRC checking.
AGE1439_CRC_OFF disables CRC checking.
crcEnablePtr
fiberMode
points to the current value of crcEnable.
is used to turn the fiber interface off, configure it to copy data from the receiver to the transmitter
port without adding data, configure the transmission of filtered ADC data, or configure appending
ADC data to received data.
AGE1439_FIBER_MODE_RAW allows the transmission of unfiltered full bandwidth ADC data
at the same time filtered ADC data is available to read on the VME bus or the local bus.
AGE1439_FIBER_MODE_OFF turns off both the fiber transmitter and receiver (although PIO1,
PIO2, NRDY and DIR bits are still received). Normal data collection and digital processing
continues.
Note
If age1439_data_port is set to fiber while the fiber interface is turned off, the data FIFO will fill
from the fiber interface receiver to the fiber interface transmitter while the module is performing
other measurements. For instance, filtered ADC data can be sent on the LBUS or read from the
FIFO over the VME bus in accordance with the current setting of the age1439_data_port
function, with this parameter set. However, selecting fiber as the data port while using this mode
occurs because the fiber interface cannot perform both functions at the same time.
Note
The E1439D fiber receiver’s detect signal is used to activate the fiber transmitter. The E1439D
fiber interface is not a data receiver. The function of the receive port is limited to copying data to
the transmit port and to detecting FPDP control signals (e.g., PIO bits and flow control signals).
Since signal detect works on light energy alone, there does not need to be valid data on the fiber
receiver for there to be an output from the transmitter. If there is valid data present on the fiber
receiver, it is copied to the fiber transmitter. This preserves data transparency but not necessarily
protocol transparency. The outgoing protocol is always serial FPDP.
AGE1439_FIBER_MODE_RAW transmits unprocessed and unbuffered ADC data over the fiber
interface. After selection, optical data transmission begins when the first measurement is
triggered, and continues indefinitely after the measurement is complete. Transmission will
continue until the fiber mode is changed to something other than AGE1439_FIBER_MODE_
113
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
STATUS_SETUP_ERROR bit being set. This is because the fiber interface cannot send both raw
and filtered ADC data at the same time.
Note
fiber interface when one block is available in the FIFO. When flow control is enabled in this
mode, an external optical receiver can send stop and go commands that cause the module to pause
or resume data transmission. Received optical data other than data flow control signals are
ignored.
AGE1439_FIBER_MODE_APPEND copies data from the fiber optic receiver to the fiber optic
transmitter and appends its own filtered ADC data, when available.
fibermodePtr
points to the current value of fiberMode.
flowControlMode
configures fiber flow control. When flow control is on, an external optic receiver can pause or
resume the fiber data transmission by sending a stop or go command. Received optical data other
than flow control signals and PIO bits are ignored.
AGE1439_FLOW_CONTROL_NO_COPY responds to received flow control signals GO and
STOP, and transmits GO.
and transmits the received flow control signal values.
AGE1439_FLOW_CONTROL_OFF disables fiber flow control.
points to the current value of flowControlMode.
flowControlModePtr
transferRate
sets both the transmitter and receiver raw data rates.
AGE1439_106MBS transfers data at the legacy data rate of 106 Mbytes per second. This is the
default setting.
AGE1439_250MBS transfers data at 250 Mbytes per second. This is fast enough to support
continuous transmission of data at the highest sample rates and bit depths.
transferRatePtr
points to the current value of transferRate.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
114
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_signal_get
Returns a value indicating whether or not an optical signal is detected by the optical fiber
interface receiver.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_signal_get(ViSession id, ViPInt16 fiberSignalPtr);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
fiberSignalPtr
returns a value indicating whether or not an optical signal has been detected by the fiber interface
receiver.
AGE1439_NO_FIBER_SIGNAL indicates no optical signal has been detected by the fiber
interface receiver.
AGE1439_FIBER_SIGNAL_PRESENT indicates an optical signal has been detected by the fiber
interface receiver.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
115
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_verify
This function verifies the operational condition of the fiber interface.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_verify(ViSession id, ViInt16 verifyPath, ViInt16 sec);
Description
This function performs a verification of the fiber interface using either an internal or an external
signal path. The internal signal path cannot test the actual RX/TX ports but does test the internal
connections of the fiber interface to the rest of the module. The external signal path does test the
RX/TX ports but requires connecting an optical short between the RX and TX fiber ports.
Note
No fiber optic cables should be connected or disconnected during verification.
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
indicates which path, internal or external, is being tested by age1439_fiber_verify.
verifyPath
AGE1439_FIBER_VERIFY_INTERNAL verifies the internal fiber interface connections to the
rest of the module.
Note
age1439_self_test performs five-second internal fiber verification.
AGE1439_FIBER_VERIFY_EXTERNAL verifies the operational condition of the RX and TX
fiber ports by connecting an optical short between them.
sec
sets the number of seconds the verification procedure will last based on this argument.
AGE1439_FIBER_VERIFY_MIN sets minimum fiber verification time in seconds.
AGE1439_FIBER_VERIFY_MAX sets maximum fiber verification time in seconds.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
116
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_xmt_BOF
This function sends a BOF event used for synchronization with other fiber interfaces before data
acquisition begins.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_xmt_BOF(ViSession id);
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
Return ValueAGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
117
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_xmt_signals
Sets the transmitted values of PIO1, PIO2, DIR, and NRDY FPDP control signals on the fiber
transmitter.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_xmt_signals(ViSession id, ViInt16 pio1, ViInt16 pio2, ViInt16
dir, ViInt16 nrdy);
Description
These are embedded Serial FPDP signals. The use of these bits is optional. Serial FPDP does not
use these four signals directly, but simply transmits them from sender to receiver. These functions
set the value of PIO1, PIO2, DIR and NRDY bits on the fiber transmitter. The default value of
these signals is 0.
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
Programmable I/O bit on the fiber transmitter for user defined purposes.
pio1
pio2
Programmable I/O bit on the fiber transmitter for user defined purposes.
AGE1439_FIBER_SIG_ON FPDP control signals enabled.
AGE1439_FIBER_SIG_OFF FPDP control signals disabled. This is the default value for all
signals.
Note
The following are FPDP signals that are accommodated in the Serial FPDP protocol. For further
information on these signals refer to ANSI/VITA 17-1998, Front Panel Data Port Specifications.
dir
sets the dir FPDP control signal.
sets the nrdy FPDP control signal.
nrdy
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
118
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_fiber_xmt_signals_get
Returns the current value of PIO1, PIO2, DIR, and NRDY bits present on the fiber transmitter.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_fiber_xmt_signals_get(ViSession id, ViPInt16 pio1, ViPInt16 pio2,
ViPInt16 dir, ViPInt16 NRDY);
Description
These are embedded Serial FPDP signals. The use of these bits is optional. Serial FPDP does not
use these four signals directly, but simply transmits them from sender to receiver. These functions
display the value of recovered PIO1, PIO2, DIR and NRDY bits on the fiber transmitter.
Parameter
id
is the VXI instrument session pointer returned by the age1439_init function.
returns the current value of pio1.
pio1
pio2
returns the current value of pio2.
Note
The following are FPDP signals that are accommodated in the Serial FPDP protocol. For further
information on these signals refer to ANSI/VITA 17-1998, Front Panel Data Port Specifications.
dir
returns the current value of dir.
returns the current value of nrdy.
nrdy
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
119
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_filter_setup
Sets the digital filter bandwidth and decimation filter parameters. This description also includes
information on the following functions which set or query the decimation filter parameters
individually:
age1439_filter_decimate selects an extra factor of 2 decimation.
age1439_filter_decimate_get gets current state of extra decimation
age1439_filter_bw selects a signal filter bandwidth.
age1439_filter_bw_get gets the signal filter bandwidth
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_filter_setup(ViSession id, ViInt16 sigBw, ViInt16 decimate);
ViStatus age1439_filter_decimate(ViSession id, ViInt16 decimate);
ViStatus age1439_filter_decimate_get(ViSession id, ViPInt16 decimatePtr);
ViStatus age1439_filter_bw(ViSession id, ViInt16 sigBw);
ViStatus age1439_filter_bw_get(ViSession id, ViPInt16 sigBwPtr);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
decimate
the output sample rate is:
fs when sigBw=0, or
fs/2^(sigBw-1) when sigBw>0
additional factor of two by discarding alternate samples.
performed that shifts the center frequency of zoomed data up by fs/4 and transforms the complex
data stream into a real data stream without losing phase information. For consistent spectrum
measurements the data scale value is doubled when using shift decimate.
decimatePtr
sigBw
points to the current value of the decimate parameter.
selects an alias protected signal filter bandwidth that is roughly fs/(2.56 × 2^(sigBw)) where fs is
the ADC sample frequency. In zoom applications, where the center frequency is generally not
zero, the zoom filter bandwidth is centered on the frequency programmed with the age1439_
frequency_setup function. For baseband measurements the filter may equivalently be considered
as a low pass filter of approximately bandwidth fs/(2.56 × 2^(sigBw)) since the negative
frequencies are generally of no interest. The valid range of sigBw is 0 through 18. When sigBw =
0, no digital filtering is applied to the signal and the module relies on the analog anti-alias filter to
limit the signal bandwidth to fs/2.56.
To more accurately calculate the bandwidth use the calculation fs × k/2^(sigBw) where:
k=.36 for .25 dB bandwidth
k=.44 for 3 dB bandwidth
k=.5 for 15 dB bandwidth
120
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
k=.62 for 110 dB bandwidth
minimum.
maximum.
sigBwPtr
points to the current value of the sigBw parameter.
Caution
Selecting AGE1439_DECIMATE_ON when sigBw=0 results in aliasing (garbage data) due
to upper limit of the sampling frequency and, therefore, causes the SETUP_ERROR bit to
be set.
Selecting AGE1439_DECIMATE_SHIFT for non-zoomed data is not a useful configuration.
Comments
To ensure full alias-free operation the analog anti-alias filter (set by the age1439_input_alias_
filter function) should be ON unless the application inherently bandlimits the input signal to less
than fs/2. The analog anti-alias filter has a fixed bandwidth and thus is fully effective only when fs
≥ 100 MHz. If a slower external ADC clock is used, an additional analog filter of the appropriate
bandwidth may be required for full alias protection.
The decimation process used to reduce the output sample rate is driven from a "decimation
counter" which keeps track of which samples to save and which ones to discard for each of the
octave bandwidth reduction filter stages. In multi-module systems where synchronous sampling is
required, the decimation counters in all the modules must be synchronous with each other. This
condition can be forced by using the age1439_filter_sync function.
which result in invalid measurement conditions:
Invalid parameter combinations
resolution
(bits)
dataType
decimate
sigBw
12 or 24
12 or 24
12 or 24
24
REAL or COMPLEX
REAL or COMPLEX
COMPLEX
OFF or SHIFT
ON or SHIFT
any
1
0
0
REAL or COMPLEX
REAL or COMPLEX
COMPLEX
OFF
2
24
any
0 or 1
any
12 or 24
SHIFT
All other combinations are valid.
Example
Here are some bandwidth and sample rate results using the "k" calculation for bandwidth:
fs = 100 MHz default internal ADC clock (all data in MHz)
121
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Signal Bandwidth
MHz
Sample Rate
Msamples
sigBw .25 dB 15 dB Decimate OFF Decimate ON
1
2
3
4
18
9
25
N/A
50
50
25
12.5
6.25
3.125
4.5
2.25
25
12.5
6.5
12.5
>4 Continue to decimate by factors of two
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
122
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_filter_sync
Synchronizes the decimation counter for multi-module systems.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_filter_sync(ViSession id);
Description
This function causes the digital decimation counter to be reset by the next Sync line rising
transition. By calling age1439_filter_sync for every Agilent E1439 module using a shared ADC
clock, and then calling age1439_meas_control to cause a sync transition, the decimation counters
are prepared to start at the same time. Once this is done the decimation counters stay synchronized
as long as the same ADC clock is used. You do not need to resynchronize the decimation counters
when the digital filter bandwidths are changed.
Note
Resetting the decimation counter causes a transient in the digital filters. The transient takes about
30 decimated output sample periods to decay 100 dB. See the step response graphs in the
Technical Specifications for more detail.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Comment
The correct procedure for using this command is:
1. Force all modules to idle using age1439_meas_control.
2. Call age1439_filter_sync for all modules.
3. Cause a sync transition with one module using age1439_meas_control without releasing
force to idle.
4. Release force to idle on all modules.
If you also want to synchronize frequency or phase see age1439_frequency_setup. This
procedure also applies to those commands for multi-module systems.
Example
The multichan.exe example program provides an example of how to correctly set up a multi-
module system with synchronous filters.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
123
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
See Also
124
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_frequency_center_raw
Provides a fast way to set the center frequency
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_frequency_center_raw(ViSession id, ViInt32 phase, ViInt32 interpolate);
ViStatus age1439_frequency_center_raw_get(ViSession id, ViPInt32 phasePtr, ViPInt32
interpolatePtr);
Description
age1439_frequency_center_raw sets the center frequency without relying on the internal
Agilent E1439 microprocessor to do floating point computations, since the internal
microprocessor does not have a floating point co-processor. The parameters may be easily
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
specifies the phase part of the frequency.
specifies the interpolation part of the frequency.
points to the current actual value of phase.
points to the value of interpolate.
phase
interpolate
phasePtr
interpolatePtr
Comments
The following examples are provided in case you want to compute your own parameter values
The following C code segment shows how to compute these parameters, where freq is
(center frequency/sample rate):
static void rawFreq(double freq, long *phase, long *interpolate)
{
long ph, in;
freq *= -1048576.0;
ph = (long)fabs(freq);
in = (long)(((fabs(freq)-(double)ph)*37109375)+0.5);
if (freq < 0)
{
ph = -1 - ph;
if (in !=0);
in = 37109375 - in;
else;
ph = ph + 1;
}
*phase = ph;
125
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
*interpolate = in;
return;
}
The equivalent Visual Basic example follows:
Private Sub rawFreq(dblFreq as Double)
Dim dblFx As Double
Dim lngIn As Long
Dim lngPh As Long
dblFx = -1048576# * dblFreq
lngPh = Fix(Abs(dblFx))0
lngIn = Fix(((Abs(dblFx) - CDbl(lngPh)) * 37109375) + 0.5)
If (dblFx < 0) Then
lngPh = (-1) - lngPh
If (lngIn) Then
lngIn = 37109375 - lngIn
Else
lngPh = lngPh + 1
End If
End If
Call age1439_frequency_center_raw(lngId, lngPh, lngIn)
End Sub
Example
An example of this in VB is included in the Front Panel code and can be activated by changing the
following declaration in frmMain of E1439.vbp.
Const constFreqCentRaw = False
’When TRUE, set center frequency with
’age1439_frequency_center_raw()instead of
’age1439_frequency_center()
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
126
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_frequency_center_raw_compute
Computes the raw center frequency parameters
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_frequency_center_raw_compute(ViSession id, ViReal64 center, ViPInt32
phasePtr, ViPInt32 interpolatePtr);
Description
This function quickly computes the parameter values which you may use with age1439_
facilitate quick frequency hopping.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
provides the center frequency normalized to clock fs.
points to the computed value of phase.
center
phasePtr
interpolatePtr
points to the computed value of interpolate.
Example
Here is a Visual Basic snippet showing how to use this function:
Call age1439_frequency_center_raw_compute(lngId, dblCenterFreq, lngPh, lngIn)
Call age1439_frequency_center_raw(lngId, lngPh, lngIn)
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
127
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_frequency_setup
Sets all the zoom center frequency parameters. This description also includes information on the
following functions which set or query frequency parameters individually:
age1439_frequency_center sets the center frequency
age1439_frequency_center_get gets the current center frequency
age1439_frequency_cmplxdc selects a complex baseband measurement
age1439_frequency_cmplxdc_get gets the state of the baseband measurement mode
age1439_frequency_sync prepares the module for a synchronous frequency change
age1439_frequency_sync_get gets the state of the synchronous change mode
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_frequency_setup(ViSession id, ViInt16 cmplxDC, ViInt16 sync, ViReal64
centerFreq);
ViStatus age1439_frequency_center(ViSession id, ViReal64 centerFreq);
ViStatus age1439_frequency_center_get(ViSession id, ViPReal64 centerFreqPtr);
ViStatus age1439_frequency_cmplxdc(ViSession id, ViInt16 cmplxDC);
ViStatus age1439_frequency_cmplxdc_get(ViSession id, ViPInt16 cmplxDCPtr);
ViStatus age1439_frequency_sync(ViSession id, ViInt16 sync);
ViStatus age1439_frequency_sync_get(ViSession id, ViPInt16 syncPtr);
Description
age1439_frequency_setup sets the center frequency of a zoomed measurement. The center of a
frequency band of interest is converted to dc with this function. The frequency transition is phase
continuous unless the center frequency is set to zero in which case the transition may be selected
either to be phase continuous or phase reset. This function may also be used to synchronously
change frequency in multiple-module systems.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
centerFreq
supplies the center frequency normalized to the sample frequency. It is a number between−0.5 and
+0.5, which is interpreted as a fraction of the sample frequency. centerFreq is the desired center
frequency divided by the ADC sample frequency. For example, selecting 0.25 with a sample
clock frequency of 100 MHz yields a center frequency of 25 MHz. When using the IF signal path,
the normal range is 0.547 to 0.926 corresponding to 52 to 88 MHz. Your applications should
update this parameter when you change signalPath. The ADC sample frequency is returned by
the age1439_clock_fs_get function. Negative frequencies select the negative image of the signal,
which is spectrally inverted from the input signal.
AGE1439_CENT_FREQ_MIN selects the minimum allowable center frequency.
AGE1439_CENT_FREQ_MAX selects the maximum allowable center frequency.
AGE1439_CENT_FREQ_DEF sets the default center frequency.
centerFreqPtr
cmplxDC
points to the current actual value of the center frequency (as a fraction of the sample clock
frequency).
selects either a phase continuous or phase reset transition when freq=0.
128
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
AGE1439_CMPLXDC_OFF, combined with a frequency change to zero, causes phase to be reset
to zero.
AGE1439_CMPLXDC_ON, combined with a frequency change to zero, does not reset the phase
thereby generating a complex dc measurement at baseband. The state of this parameter does not
affect any transition where freq is nonzero. Whether the real or complex data is saved and
ultimately sent to the output port is determined by the age1439_data_type function
cmplxDCPtr
sync
points to the current actual value of cmplxDC.
systems.
modules for a frequency change, but does not actually bring about the change until the next ADC
clock corresponding to the next assertion of the shared Sync signal. The Sync transition is
generated by calling the age1439_meas_control function. Note that returning sync to OFF before
the Sync signal transition has occurred forces an immediate asynchronous frequency change.
syncPtr
points to the value of sync.
Comments
Although the freq parameter is a double precision floating point number, its effective resolution is
1/(2^19 × 5^9 × 19). This allows exact specification of any multiple of 10 mHz when fs=95 MHz.
The actual frequency is set to the nearest available value. This value is returned by the age1439_
frequency_center_get function. In multi-module systems this value represents the pending value
rather than the current value when a frequency change is incomplete due to a pending Sync signal
transition.
In multiple-module systems it is often desirable to force the frequency change to occur
synchronously in order to preserve the phase relationship of the LOs. You may accomplish this by
setting the sync parameter to ON for all the modules which are to be changed.
In configurations involving synchronous operation of multiple Agilent E1439 modules, the
age1439_frequency_setup function provides a mechanism to force all LOs to the same phase.
You can do this by first setting the frequency to zero and then synchronously changing the
frequency to the desired value.
Example
The example program multichan.exe shows how to correctly perform synchronous frequency
changes in a multi-module system.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
129
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
See Also
130
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_front_panel_clock_input
Specifies the source for the front panel clock. This description also includes the query function:
age1439_front_panel_clock_input_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_front_panel_clock_input(ViSession id, ViInt16 fpClock);
ViStatus age1439_front_panel_clock_input_get(ViSession id, ViPInt16 fpClockPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function selects a front panel clock source that is used to drive the analog to digital converter
(ADC) for single module operation or when a module is used as the master ADC clock source for
a multi-module system.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
AGE1439_CLOCK_OFF specifies no front panel source.
fpClock
AGE1439_SMB_CLOCK specifies clock input from the front panel Intermodule Clock/SMB
connectors.
AGE1439_BNC_CLOCK specifies clock input from the front panel Ext Clock/Ref BNC
connector.
fpClockPtr
returns a pointer to the current value of fpClock.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
131
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_init
Initializes the I/O driver for a module.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_init(ViRsrc rsrcName, ViBoolean idQuery, ViBoolean resetInstr,
ViPSession id);
Description
age1439_init must be the first routine called when you use the Agilent E1439 library. It
establishes communication with the module and returns a module identification which is used
with all subsequent functions involving this module. This function performs whatever
initialization the I/O driver needs for the environment in which this library is running.
Parameters
id
is a pointer to the VXI instrument Session identifier returned by this function for the module. This
identifier is then used with all other functions which address this module. This value is not a
idQuery
and model number in the module's VXI register set.
the id query if you want to use the driver with a similar module but do not need to modify the
driver source code.
resetInstr
rsrcName
debugging in cases where resetting would take the instrument out of the state you want to test.
specifies the interface and logical address. This descriptor varies depending on your I/O library.
An example of the descriptor form for the VISA I/O library is:
VXI[Board]::VXIlogical address [::INSTR]
Comments
If you receive a resource descriptor error, see your I/O library documentation to determine the
correct descriptor form.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
132
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
See Also
133
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_input_autozero
Nulls out the input dc offset voltage (applies to baseband input configuration only).
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_input_autozero(ViSession id);
Description
age1439_input_autozero updates a table of dc offset corrections to be used with each signal
path. The applicable correction from this table is automatically added to the input offset parameter
to achieve the correct dc offset value. Because of the length of time needed to execute this
function, it is not automatically called when the module is reset. Thus, the user program is
responsible for explicitly initiating the auto zero. This function should be called at least once after
the temperature of the module has stabilized. The interval between calls after that depends on the
importance of dc accuracy in the user application. It is not necessary to call the auto zero function
for every change of input setup parameters since the correction table maintains values for all setup
conditions.
Note
Calling age1439_input_autozero aborts any measurement already in progress and eliminates LO
phase coherence and filter synchronization in a synchronous multi-module system. See the
age1439_filter_sync and age1439_frequency_sync functions for details on how to re-establish
LO phase coherence and filter synchronization.
Calling this function deletes any saved state and halts any measurement or fiber transfer.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
134
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_input_offset
Sets the dc offset DAC setting for the current range. This description also includes the query:
age1439_input_offset_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_input_offset(ViSession id, ViInt16 coarseDac, ViInt16 fineDac);
ViStatus age1439_input_offset_get(ViSession id, ViPInt16 coarseDacPtr, ViPInt16
fineDacPtr);
Description
command only for special situations. The resultant values can be saved to non-volatile RAM with
Each ac coupling range has a unique DAC setting. All dc coupling ranges use the same DAC
setting as the highest range setting for ac coupling. The scaling between the coarse and fine DACs
is approximately 100 to 1.
AGE1439_OFFS_DAC_MIN sets the minimum dc offset DAC setting.
AGE1439_OFFS_DAC_MAX sets the maximum dc offset DAC setting.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
sets values of 0 to 255.
coarseDac
fineDac
sets values of 0 to 255.
coarseDacPtr
fineDacPtr
returns a pointer to the current value of coarseDac
returns a pointer to the current value of fineDac
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
135
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_input_offset_save
Saves all DAC offset settings to non-volatile RAM.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_input_offset_save(ViSession id);
Description
Use this command if you want DAC offset settings to persist past power-down.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
136
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_input_range_auto
Performs auto-ranging.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_input_range_auto(ViSession id, ViReal64 sec);
Description
age1439_input_range_auto sets the range of a Agilent E1439 to the lowest value that does not
cause an ADC overload to occur. The algorithm starts at the lowest range and moves up until there
is no ADC overload.
Note
Note
The baseband signalPath cannot be auto-ranged because it has only one range (-21 dBm).
Calling this function deletes any saved state and halts any measurement or fiber transfer.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
sec
is the time in seconds to take data at each range to insure that an overload is detected. Setting this
parameter to 0.0 results in the time being set automatically according to an algorithm that depends
on block size and filter bandwidth.
AGE1439_RANGE_TIME_MIN selects the minimum autorange time.
AGE1439_RANGE_TIME_MAX selects the maximum autorange time.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
137
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_input_range_convert
Converts the input range to volts.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_input_range_convert(ViSession id, ViInt16 range, ViPReal64
rangeVoltsPtr);
Description
age1439_input_range_convert converts the range of a Agilent E1439
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
is the input range returned by age1439_input_range_get.
range
rangeVoltsPtr
is the range in Volts.
Conversion values are as follows.
Full Scale
(dBm)
Full Scale
Voltage (Vp)
Variable
Range Index
48
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
12
11
10
9
1.26
1.12
1
.891
.794
.708
.631
.562
.501
.447
.398
.355
.316
.282
.251
.224
.12
8
7
6
5
4
3
2
1
0
−1
−2
−3
−4
−5
−6
−7
.178
.159
.141
138
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Full Scale
(dBm)
Full Scale
Voltage (Vp)
Variable
Range Index
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
−8
.126
.112
−9
−10
−11
.1
.089
−12
−13
−14
−15
−16
−17
−18
−19
−20
−21
−22
−23
−24
−25
−26
−27
−28
−29
−30
−31
−32
−33
−34
−35
−36
.0794
.0708
.0631
.0562
.0501
.0447
.0398
.0355
.0316
.0282
.0251
.0224
.02
.0178
.0158
.0141
.0126
.0112
.01
8
7
6
5
.0089
.0079
.0071
.0063
.0056
.005
4
3
2
1
0
0
Note
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
139
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
See Also
140
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_input_setup
Sets all the analog input parameters. This description also includes information on the following
functions which set or query the input parameters individually:
age1439_input_alias_filter selects or bypasses the built-in analog anti-alias filter
age1439_input_alias_filter_get gets the anti-alias filter state
age1439_input_coupling selects ac or dc input coupling
age1439_input_coupling_get get the input coupling type
age1439_input_range sets the full scale range
age1439_input_range_get gets the input range
age1439_input_signal connect/disconnect the input signal to the input amplifier
age1439_input_signal_get gets the input buffer amplifier state
age1439_input_signal_path selects a baseband or IF signal path
age1439_input_signal_path_get gets the current signal path
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_input_setup(ViSession id, ViInt16 signalPath, ViInt16 range, ViInt16
coupling, ViInt16 antiAlias, ViInt16 signal);
ViStatus age1439_input_alias_filter(ViSession id, ViInt16 antiAlias);
ViStatus age1439_input_alias_filter_get(ViSession id, ViPInt16 antiAliasPtr);
ViStatus age1439_input_coupling(ViSession id, ViInt16 coupling);
ViStatus age1439_input_coupling_get(ViSession id, ViPInt16 couplingPtr);
ViStatus age1439_input_range(ViSession id, ViInt16 range);
ViStatus age1439_input_range_get(ViSession id, ViPInt16 rangePtr);
ViStatus age1439_input_signal(ViSession id, ViInt16 signal);
ViStatus age1439_input_signal_get(ViSession id, ViPInt16 signalPtr);
ViStatus age1439_input_signal_path(ViSession id, ViInt16 signalPath);
ViStatus age1439_input_signal_path_get(ViSession id, ViPInt16 signalPathPtr);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
antiAlias
determines whether or not to use the built-in analog anti-alias filter. This filter only applies to
baseband measurements. In IF mode the antialias filter is always turned on. The antialias
parameters always set the baseband anti-alias filter regardless of the signal path.
AGE1439_ANTIALIAS_ON inserts a sharp-cutoff 36 MHzlow-pass filter ahead of the analog-
to-digital converter. You should leave the filter on at all times to insure band-limited, anti-aliased
data.
AGE1439_ANTIALIAS_OFF bypasses the low-pass filter.
antiAliasPtr
coupling
points to the current value of the antiAlias parameter in the current signal path. Therefore, in IF
mode this function always returns AGE1439_ANTIALIAS_ON.
specifies the ac or dc coupling mode of the input. This parameter applies to the baseband input
configuration only.
AGE1439_DC connects the input directly to the 50 Ohm buffer amplifier. Although dc coupling
can be selected in both baseband and IF signalPath, it has no effect in the IF path because the
signal is ac coupled after the input section.
141
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
AGE1439_ADC inserts a 0.2 µF capacitor between the input connector and the 50 Ohm buffer
amplifier.
couplingPtr
range
points to the current value of the coupling parameter for an Agilent E1439 or group of
Agilent E1439s.
is a range index number which is transformed to a full scale voltage value. This function always
sets only the IF signal path range even if signalPath is set to AGE1439_BB_PATH. In baseband
mode the range is fixed at -21 dBm.
AGE1438_RANGE_MAX sets the range to the maximum allowable.
AGE1439_RANGE_MIN sets the range to the minimum allowable.
Signal inputs with an absolute value larger than full scale generate an ADC overflow error.
Range values are as follows.
Full Scale
(dBm)
Full Scale
Voltage (Vp)
Variable
Range Index
48
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
12
11
10
9
1.26
1.12
1
.891
.794
.708
.631
.562
.501
.447
.398
.355
.316
.282
.251
.224
.12
8
7
6
5
4
3
2
1
0
−1
−2
−3
−4
−5
−6
−7
−8
−9
−10
−11
−12
−13
−14
.178
.159
.141
.126
.112
.1
.089
.0794
.0708
.0631
142
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Full Scale
(dBm)
Full Scale
Voltage (Vp)
Variable
Range Index
21
20
19
18
17
16
15
14
13
12
11
10
9
−15
−16
−17
−18
−19
−20
−21
−22
−23
−24
−25
−26
−27
−28
−29
−30
−31
−32
−33
−34
−35
−36
−36
.0562
.0501
.0447
.0398
.0355
.0316
.0282
.0251
.0224
.02
.0178
.0158
.0141
.0126
.0112
.01
8
7
6
5
.0089
.0079
.0071
.0063
.0056
.005
4
3
2
1
0
0
.005
Note
rangePtr
points to the current value of the range parameter for the selected signalPath. For the AGE1439_
BB_PATH signalPath the returned range is always AGE1439_RANGE_15.
signal
determines whether or not the input signal is connected to the input amplifier.
AGE1439_SIGNAL_ON attaches the input signal to the 50 Ohm buffer amplifier.
AGE1439_SIGNAL_OFF redirects the input signal to a dummy 50 Ohm load, and feeds the
buffer amplifier from an internally grounded 50 Ohm source resistance. The signal OFF setting is
useful for making reference measurements without the signal applied. When using ac coupling the
0.2 µF capacitor remains between the input connector and its 50 Ohm termination.
signalPtr
points to the current value of the signal parameter.
signalPath
frequencies between 52 and 88 MHz. The range values above only apply to the IF signal path.
signalPathPtr
points to the current value of signalPath
143
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Comments
To ensure full alias-free operation the analog anti-alias filter should be ON unless the application
inherently bandlimits the input signal to less than fs/2. The analog anti-alias filter has a fixed
bandwidth and thus is fully effective only when fs ≥ 100 MHz. If a slower external ADC clock is
used, an additional analog filter of the appropriate bandwidth may be required for full alias
protection.
When using the analog anti-alias filter, you may need to set the range parameter higher than the
actual range of the input signal. The reason for this is that step changes of input voltage cause an
overshoot and ringing response at the output of the anti-alias filter. The peak overshoot actually
exceeds the input voltage step by about 20%. The range setting must accommodate this overshoot
to avoid an ADC overflow.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
144
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_interrupt_restore
Restores the interrupt masks to the setting last programmed with age1439_interrupt_setup.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_interrupt_restore(ViSession id);
Description
The interrupt masks set by the age1439_interrupt_setup function are cleared during the interrupt
acknowledge cycle. This function restores the cleared interrupt masks.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
145
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_interrupt_setup
Sets both interrupt parameters. This description also includes information on the following
functions which query the interrupt parameters individually:
age1439_interrupt_mask_get gets the interrupt event mask
age1439_interrupt_priority_get gets the VME interrupt line
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_interrupt_setup(ViSession id, ViInt16 intrNum, ViInt16 priority, ViInt16
mask);
ViStatus age1439_interrupt_mask_get(ViSession id, ViInt16 intrNum, ViPInt16 maskPtr);
ViStatus age1439_interrupt_priority_get(ViSession id, ViInt16 intrNum, ViPInt16
priorityPtr);
Description
An Agilent E1439 has two independent interrupt generators, each capable of interrupting on one
of the seven VME interrupt lines when a status condition specified by a mask occurs.
age1439_interrupt_setup sets the interrupt mask, priority and which of the two interrupt
generators on the Agilent E1439 is to be used. The remaining age1439_interrupt_ functions
query the mask and priority individually.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
is the number of the interrupt generator. The only values accepted are 0 and 1.
intrNum
mask
specifies the mask of events on which to interrupt. VXIbus specifications only allow the 8 most
significant bits in the status register, bits 8 to 15, to be set as interrupts. Because of this, the
desired mask value must be right shifted 8 positions. In the E1439, bits 14 and 15 of the status
register cannot be used to generate interrupts, effectively leaving only 6 bits, 8 through 13, to
generate interrupts.
priority
specifies which of the seven VME interrupt lines to use. The only legal values are 0 through 7.
Specifying 0 turns the interrupt off, while 7 is the highest priority.
maskPtr priorityPtr contain the current value of the interrupt mask and priority parameters.
Comments
Interrupt masks are cleared during the interrupt acknowledge cycle. Therefore, the command
further interrupts.
Example
The program interrupt.exe described in the example programs provides an example of how to use
interrupts correctly.
146
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
147
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_lbus_mode
Sets the local bus transmission mode (Agilent E1439D only) . This description also includes the
query:
age1439_lbus_mode_get gets the current local bus mode.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_lbus_mode(ViSession id, ViInt16 lbusMode);
ViStatus age1439_lbus_mode_get(ViSession id, ViPInt16 lbusModePtr);
Description
age1439_lbus_mode sets the local bus to either generate, append, insert or pipeline data. The data
setup” on page 90) before these modes take effect.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
lbusMode
selects the transmission mode of the local bus when it is enabled by the age1439_data_port
function.
from other modules on the local bus.
AGE1439_APPEND causes the Agilent E1439 to pass data through from modules on its left and
append its data to the end.
AGE1439_INSERT causes the Agilent E1439 to place its data on the local bus and then pass data
through from modules on its left.
AGE1439_PIPELINE causes the Agilent E1439 to pipe data through from modules on its left
without appending or inserting its own data. The state of this parameter is unaffected by switching
back and forth between the local bus and the VME backplane with the age1439_data_port
function.
Module(s) to Left
E1438/E1439
Module to Right
GENERATE
INSERT
APPEND
PIPELINE
148
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
lbusModePtr
points to the current value of the lbusMode parameter.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
149
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_lbus_reset
Resets the local bus (Agilent E1439D only) . This description also includes the query:
age1439_lbus_reset_get gets the current local bus reset state
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_lbus_reset(ViSession id, ViInt16 lbusReset);
ViStatus age1439_lbus_reset_get(ViSession id, ViPInt16 lbusResetPtr);
Description
In order to avoid glitches in the local bus data, the local bus interface has strict requirements as to
the order in which modules in a VXI mainframe have their local bus interface reset. Upon power-
up or whenever any single module in the mainframe is put into a reset state, all modules should be
placed into the reset state from left to right. Then all modules can be take out of reset from left to
right.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
puts the Agilent E1439's local bus into reset or takes it out of reset.
lbusReset
LBUS_RESET_OFF takes the Agilent E1439 out of reset.
lbusResetPtr
points to the current value of the lbusReset parameter.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
150
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_meas_control
Initiates and controls measurements in multi-module systems.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_meas_control(ViSession id, ViInt16 idle, ViInt16 sync);
Description
age1439_meas_control explicitly controls the measurement state.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
idle
selects the condition of the Idle state.
AGE1439_ASSERT holds the module in the Idle state.
active.
sync
selects the state of the sync signal.
age1439_meas_control also changes the state of the Sync signal, which is used to arm or trigger
an Agilent E1439 module. In systems containing multiple Agilent E1439 modules the Sync signal
is used to arm or trigger all modules simultaneously, and also to synchronize decimation counters
and local oscillators among the Agilent E1439 modules.
AGE1439_ASSERT causes the module to assert the Sync signal.
AGE1439_RELEASE causes the module to release the Sync signal. When parameters of the
age1439_clock_setup function which enable sync output are selected the module shares the sync
signal with other Agilent E1439 modules. If any one of these modules asserts this shared Sync
signal it then becomes asserted for all of them. All modules must release it before the shared Sync
signal is released. Asserting then releasing the Sync line is used to start a measurement, load local
oscillator values, or take a digital filter out of reset. These situations require a Sync line transition
but do not require that the Sync line be held in a asserted state.
Note
Note
When the Sync line is asserted, it remains asserted for an adequate number of ADC clock cycles
to ensure that the signal effect propagates to all the modules in the system. You can determine
when the command is completed by looking as the Sync/Idle Complete bit in the Status Register.
Any command that halts the current measurement (See “Commands which halt active
measurements” on page 198) also releases the forced Idle and Sync controls. If
you want to hold a module in Idle after one of these commands you must call
age1439_meas_control again after the command that halted the current measurement.
Comments
the four states.
151
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
This function performs the following sequence:
1. Waits for both the AGE1439_STATUS_HARDWARE_SET and AGE1439_STATUS_
SYNC_COMPLETE bits to be set.
2. Returns AGE1439_STATUS_WAIT_TIMEOUT if more than three seconds elapses in
step 1.
3. Returns AGE1439_SETUP_ERROR if AGE1439_STATUS_SETUP_ERROR was
detected in step 1.
4. Writes data to the control register as prescribed by arguments to the function.
6. Waits for AGE1439_STATUS_SYNC_COMPLETE.
7. Returns AGE1439_SYNC_NOT_COMPLETE if more than three seconds elapse in step
6, otherwise it returns AGE1439_SUCCESS.
Special conditions prevail during the Measure state. If programmed for block mode operation in
the Measure state, the module asserts the Sync signal (regardless of the age1439_meas_control
sync parameter setting) until a complete block of data has been collected and is available to the
I/O port. When the shared Sync signal is released, indicating that all block mode data collection is
finished, all block mode modules move synchronously to the idle state. In continuous mode the
module releases the Sync signal immediately after moving into the measure state. This allows the
age1439_meas_control function to manipulate the Sync signal to cause synchronous changes to
LO frequency while a continuous measurement is in progress. In continuous mode a module
moves to the idle state only if explicitly programmed to do so or whenever the FIFO data buffer
overflows.
In addition to controlling the progression through the four module states, the Sync signal is used
to allow for synchronizing the decimation counters and local oscillators of multiple
Agilent E1439 modules and synchronizing the fs/10 clock during external sampling. This is done
by calling age1439_filter_sync and/or age1439_frequency_sync prior to asserting Sync with
age1439_meas_control. This is normally done with the module in the Idle state; however, the
center frequency can also be changed in the Measure state with age1439_frequency_sync if the
modules are all programmed for continuous (non-block mode) data collection.
If all modules in a multi-module system are in the Idle state when the age1439_meas_control
sync parameter is asserted, the LO frequency is updated and the next measurement is armed. If all
modules are in the measurement state in continuous mode, the LO frequency is synchronously
updated, and the measurement continues. In continuous mode you should ensure that all modules
are in the same state, either the Idle state or the Measure state, before using age1439_meas_
control to assert Sync. Otherwise some modules re-arm while others continue the current
measurement. In block mode the sync assertion is ignored unless all modules are in the Idle state.
The age1439_meas_control function assures that a single module is in a valid state by checking
that the hardware complete and sync valid bits in the status register are both true. In synchronous
multi-module systems you should use the age1439_wait function for each module to assure a
valid state in non-master modules within a synchronous group.
In the case of systems made up of multiple mainframes you must be aware that only modules in
the mainframe containing the master module, as defined by age1439_clock_setup, may assert
sync. Any sync asserted in other mainframes is ignored by modules in all mainframes. This is true
only for rear panel sync. Front panel sync is not sensitive to master mainframe designation.
152
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Example
The program multichan.exe described in the example programs provides an example of how to
correctly set up a multi-module measurement using age1439_meas_control to initiate state
transitions.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
153
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_meas_init
Initiates a measurement without first checking for valid hardware setup.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_meas_init(ViSession id);
Description
age1439_meas_init provides an easy way to initiate a measurement in a single module.
Note
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Comments
the four states.
This function performs the following sequence:
2. Moves the module to the Idle state.
3. Generates a Sync transition which moves the module to the Arm state.
4. Always returns AGE1439_SUCCESS (no error conditions can be detected by this
function).
Return Value
This function always returns AGE1439_SUCCESS and does not return any error conditions.
See Also
154
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_meas_start
Checks for valid hardware setup and then initiates a measurement.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_meas_start(ViSession id);
Description
age1439_meas_start provides an easy way to initiate a measurement in a single module system.
This command waits for a valid hardware setup, then, if the instrument is in a valid state, performs
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Comments
the four states.
This function performs the following sequence:
1. Waits for AGE1439_STATUS_HARDWARE_SET bit to be set.
2. Returns AGE1439_START_ERROR if more than three seconds elapses in step 1.
3. Returns AGE1439_SETUP_ERROR if AGE1439_STATUS_SETUP_ERROR was
detected in step 1.
Example
The program acvolts.exe described in the example programs provides an example of how to
initiate a very simple measurement using age1439_meas_start.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
155
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_meas_status_get
Returns the current measurement status.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_meas_status_get(ViSession id, ViPInt16 readValid, ViPInt16 blockReady,
ViPInt16 overload);
Description
This function is useful in determining the measurement status of a module when using the fiber
decodes the measurement-related status register bits. This function returns the current
measurement status, which is represented by one of the four following values that are encoded in
the bottom two bits of the status register:
Status Bit
Definition
Values
0-1
AGE1439_NO_DATA_WAITING_FOR_ARM
AGE1439_NO_DATA_MEASUREMENT_PAUSED
AGE1439_NO_DATA_MEASUREMENT_IN_PROGRESS
AGE1439_NO_DATA_WAITING_FOR_TRIGGER
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
readValid
blockReady
overload
Return Value
The return value of this function is the current measurement status, as represented by one of four
numeric values that are encoded in the bottom two bits of the status register shown in the table
above.
See Also
156
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_options_get
Identifies module options.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_options_get(ViSession id, ViChar options[]);
Description
Returns a list of options separated by commas.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
options
returns a string of up to 256 characters. For example "144" indicates option 144 (memory) is
installed.
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
157
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_product_id_get
Gets the module’s product identification string.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_product_id_get(ViSession id, ViChar productId[]);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
returns the module ID such as E1439C or E1439D.
productId
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
158
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_read
Reads scaled 32-bit floating-point data from the VME backplane register. This description also
includes the following function:
age1439_read64 reads scaled 64-bit floating-point data, implemented specifically for
VEE applications.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_read(ViSession id, ViReal32 data[], ViInt32 sampleCount, ViPInt16
overloadPtr);
ViStatus age1439_read64(ViSession id, ViReal64 data[], ViInt32 sampleCount, ViPInt16
overloadPtr);
Description
age1439_read returns a block of floating-point data from the Agilent E1439 that has been scaled
to be in volts. The function waits for a block of data to be ready before attempting to read the
block.
These functions can only read data from the VME backplane register. The data port of the
Agilent E1439 must be set to AGE1439_VME by the age1439_data_port function for these
functions to be effective.
Note
When using this function, INSTR_REAL32 should be defined when compiling C/C++ programs.
To do this, in the Microsoft Visual Development environment, go to Project Settings, select the
C/C++ tab, and add INSTR_REAL32 to the preprocessor definitions. In a makefile or on a
command line, supply the option "/D INSTR_REAL32" to cl.exe. See the acvolts.exe example
programs.
This function performs the following sequence:
1. Checks for AGE1439_STATUS_READ_BLOCK and AGE1439_STATUS_
OVERLOAD.
2. If a block of data is NOT ready:
A. The function immediately returns the current measurement state.
3. If a block of data IS ready:
A. Data is read from the module.
B. It is converted to a floating point number and scaled.
C. The function returns any errors that were encountered when reading the data.
D. The value of the overload argument is set to indicate whether any overloads have
occurred since the last successful read.
159
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
data
is a pointer to the array into which the floating point data is to be placed. Be sure to allocate
sufficient storage space at this location to hold the full data record as determined by the
sampleCount parameter. Note that when the module is set to complex data type, the output data
record contains 2 × sampleCount floating point values. For real data the record contains
sampleCount floating point values.
sampleCount
for age1439_read sampleCount is the number of real or complex data values to read. Real data is
one 32-bit floating point value. Complex data is made up of two 32-bit floating point values
comprising the real and imaginary values.
for age1439_read64 sampleCount is the number of real or complex data values to read. Real data
is one 64-bit floating point value. Complex data is made up of two 64-bit floating point values
comprising the real and imaginary values.
This should never be set larger than the blocksize parameter set in the age1439_data_blocksize
function. In continuous data collection mode, sampleCount should be set equal to blocksize to
ensure that the entire data block is read out.
overloadPtr
returns an overload indicator. The way to properly use the overload argument for the age1439_
read or age1439_read64 function is this:
1. Set up the hardware.
2. Call age1439_meas_start.
3. Call age1439_read or age1439_read64.
If data is not available, the read function returns immediately with one of the following return values, and
AGE1439_NO_DATA_MEASUREMENT_IN_PROGRESS
AGE1439_NO_DATA_MEASUREMENT_PAUSED
AGE1439_NO_DATA_WAITING_FOR_TRIGGER
AGE1439_NO_DATA_WAITING_FOR_ARM
When data is available, AGE1439_SUCCESS is returned and the overload value reflects whether an
overload was encountered for the given data block.
4. In continuous mode, subsequent data blocks can be read by calling a age1439_
read or age1439_read64 function again (age1439_meas_start should not be called
again).
5. When used in this way, an overload indication is given for each and every
data block read in block mode. In continuous mode the overload indicator
only means there was an overload sometime after calling age1439_meas_start.
Comments on Overload
Since reading the status register clears the overload bit, overloads are tracked at the API level.
In block mode, you receive the overload indication on a block-by block basis by calling age1439_
meas_start and age1439_read in sequence.
In continuous mode, depending on the effective sample rate of the instrument and how often data
is read, an overload indication returned by age1439_read may or may not correspond to the data
returned. The overload indication only means that an overload has occurred since the most recent
160
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
call to age1439_meas_init, age1439_meas_init, or age1439_read, whichever was issued last.
You should be aware that it is likely that the reported overload occurred in data which has been
acquired in the module, is waiting in the FIFO, but has not yet been read.
Return Value
AGE1439_SUCCESS
AGE1439_NO_DATA_MEASUREMENT_IN_PROGRESS
AGE1439_NO_DATA_MEASUREMENT_PAUSED
AGE1439_NO_DATA_WAITING_FOR_TRIGGER
AGE1439_NO_DATA_WAITING_FOR_ARM
See Also
161
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_read_raw
Reads raw, unscaled data from the VME backplane register.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_read_raw(ViSession id, ViInt16 data[], ViInt32 wordCount, ViPInt16
overloadPtr);
Description
age1439_read_raw returns a block of raw, unscaled integer data from the FIFO.
This function can only read data from the VME backplane register. The data port of the
Agilent E1439 must be set to AGE1439_VME by the age1439_data_port function for this
function to be effective.
This function performs the following sequence:
1. Checks for AGE1439_STATUS_READ_BLOCK and AGE1439_STATUS_
OVERLOAD.
2. If there is an overload then the overload count maintained by the API is incremented.
3. If a block of data is NOT ready:
A. the function immediately returns the current measurement state and
B. the value of the overload argument is set to AGE1439_OFF.
4. If a block of date IS ready:
A. data is read from the module,
B. the function returns any errors that were encountered when reading the data,
C. the value of the overload argument is set to AGE1439_ON, and
D. the overload count maintained by the API is set to zero.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
data
is a pointer to the array into which the raw data record is to be placed. Be sure to allocate
sufficient storage space to hold the full data record as determined by the wordCount parameter.
wordCount
wordCount is the total number of data values to read into the data array from the Agilent E1439
output FIFO. The maximum wordCount depends on the blocksize, data type, and data resolution
parameter settings.
162
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Resolution
(bits)
Data type
Words per sample
REAL
REAL
12
24
12
24
2
4
4
8
COMPLEX
COMPLEX
In continuous data collection mode, wordCount should be set equal to the maximum possible
wordCount to ensure that the entire data block is read out.
overloadPtr
use the overload argument for the age1439_read_raw function is this:
1. Set up the hardware.
2. Call age1439_meas_start.
3. Call age1439_read_raw.
If data is not available, the read function returns immediately with one of the following return values, and
AGE1439_NO_DATA_MEASUREMENT_IN_PROGRESS
AGE1439_NO_DATA_MEASUREMENT_PAUSED
AGE1439_NO_DATA_WAITING_FOR_TRIGGER
AGE1439_NO_DATA_WAITING_FOR_ARM
When data is available, AGE1439_SUCCESS is returned and the overload value reflects whether an
overload was encountered for the given data block.
4. In continuous mode, subsequent data blocks can be read by calling the
age1439_read_raw function again (age1439_meas_start should not be called
again).
5. When used in this way, an overload indication is given for each and every
data block read in block mode. In continuous mode the overload indicator
only means there was an overload sometime after calling age1439_meas_start.
Note
The primary purpose of the age1439_read_raw function is to provide the fastest possible way to
read blocks of data from the module. Since this command does not perform data scaling after
reading data it may save 10-20% of the overall age1439_read time, depending on the host
computer in use. The resulting data ordering is dependent on the data type and resolution. The
array may be cast as a long before reading the data to provide whole words.
Example
A declaration in the Front Panel example program can be changed to exercise age1439_read_
raw() in frmMain of e1439.vbp:
Const constFreqCentRaw = False ’when TRUE, use age1439_read_raw()
’instead of age1439_read
Return Value
AGE1439_SUCCESS
AGE1439_NO_DATA_MEASUREMENT_IN_PROGRESS
163
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
AGE1439_NO_DATA_MEASUREMENT_PAUSED
AGE1439_NO_DATA_WAITING_FOR_TRIGGER
AGE1439_NO_DATA_WAITING_FOR_ARM
See Also
164
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_reference_clock
Selects the source of the reference clock. This description also includes the query function:
age1439_reference_clock_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_reference_clock(ViSession id, ViInt16 refClock);
ViStatus age1439_reference_clock_get(ViSession id, ViPInt16 refClockPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
refClock
AGE1439_FRONT_PANEL_CLOCK specifies the front panel clock be used as the reference
AGE1439_VXI_CLOCK specifies that the VXI (rear panel) clock be used as the reference clock.
refClockPtr
Returns a pointer to the current value of refClock.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
165
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_reference_prescaler
Selects prescaling of the reference clock. This description also includes the query function:
age1439_reference_prescaler_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_reference_prescaler(ViSession id, ViInt16 refPrescaler);
ViStatus age1439_reference_prescaler_get(ViSession id, ViPInt16 refPrescalerPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function should generally be left in the default mode. The alternate mode applies to a
different model of the module.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
refPrescaler
AGE1439_PRESCALE_BY_1 divides the reference clock by one.
AGE1439_PRESCALE_BY_4 divides the reference clock by four.
refPrescalerPtr
Returns a pointer to the current value of refPrescalerPtr.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
166
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_reset
Places the module in a known state.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_reset(ViSession id);
Description
age1439_reset returns the module’s internal data structures to the power-up state but does not
reset the hardware. This function can be called separately by this function, or may be selected in
conjunction with the age1439_init function.
Note
Calling this function halts any measurement or fiber transfer.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Comments
This command takes about 100 ms to complete.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
167
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_reset_hard
Resets the module to the power-up state.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_reset_hard(ViSession id);
Description
age1439_reset_hard resets the module’s firmware and hardware including the processor.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Comments
including the save register, are reset to the power-up state.
This command takes about 15 seconds to complete.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
168
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_revision_query
Returns strings that identify the date of the firmware revision.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_revision_query(ViSession id, ViChar driverRev[], ViChar instrRev[]);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
returns the date and time of the module's driver revision in the form:
driverRev
a.dd.dd OPERS Ddd Mmm Date hh:mm:ss YYYY where Ddd is the
abbreviated day of the week and Date is an integer from 1 to 31
instrRev
returns the date, time, and board number of the module's firmware revision in the form:
mm-dd-yyyy hh:mm 01Bd: xxxx; 02Bd:xxxx where xxxx is a
manufacturer’s date code used for service purposes.
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
169
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_self_test
Performs a self-test and returns the result of that self test.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_self_test(ViSession id, ViPInt16 testResult, ViChar testMessage[]);
Description
The Agilent E1439 self test includes the following tests:
•
Digital: verifies the integrity of paths from LO chip through the filters to the memory
controller.
•
•
•
•
•
Serial: verifies the integrity of serial setup path for each board.
Memory: fills the entire DRAM then verifies that all the data is correct.
Analog: verifies that auto zero adjust is working and that the input is triggering.
Clock: verifies that the oscillator is working properly.
Fiber: performs five-second internal fiber verification.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the self test status message string up to 256 characters long.
testMessage
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
testResult
points to the instrument numeric error code.
Possible test result values are:
Error
Message
Error Code
(hex)
Self Test
Status Message
AGE1439_ST_SUCCESS
0x000
0x001
0x002
0x004
0X008
0x020
0x040
0x080
self test successful
hardware failure
AGE1439_ST_HARDWARE_FAIL
AGE1439_ST_SERIAL1_FAIL
AGE1439_ST_SERIAL2_FAIL
AGE1439_ST_CLOCK_FAIL
AGE1439_ST_MEMORY_FAIL
AGE1439_ST_DIGITAL1_FAIL
AGE1439_ST_DIGITAL2_FAIL
serial 1 test failed
serial 2 test failed
95 MHz clock test failed
memory test failed
real data path failed
complex data path failed
170
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Error
Error Code
Self Test
Message
(hex)
Status Message
AGE1439_ST_ANALOG_FAIL
AGE1439_ST_FIBER_FAIL
0x100
0x200
0x4000
analog test failed
fiber test failed
AGE1439_ST_EXECUTION_ERR
self-test execution error
Note
Note
The required completion time for self-test is up to 25 seconds depending on the amount of
memory in the module.
Calling this function halts any measurement or fiber transfer.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
171
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_serial_number
Sets the serial number of the module. This description also includes the query function:
age1439_serial_number_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_serial_number(ViSession id, ViChar serialNum[]);
ViStatus age1439_serial_number_get(ViSession id, ViChar serialNum[]);
Caution
This command is to be used for repair purposes only.
Description
This command is used to reassign a serial number after a module has been serviced.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
sends or gets a serial number of less than 16 characters
serialNum
Note
For this parameter you must allocate a character array of at least 256 characters AGE1439_STR_
LEN_MIN, including the null byte, prior to calling this function in any programming language.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
172
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_smb_clock_output
Specifies which clock to output from the SMB clock connectors. This description also includes
the query function:
age1439_smb_clock_output_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_smb_clock_output(ViSession id, ViInt16 smbClock);
ViStatus age1439_smb_clock_output_get(ViSession id, ViPInt16 smbclockPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function selects the source of the output for the front panel SMB clock connectors.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
smbClock
AGE1439_BNC_CLOCK specifies that the BNC input be output from the SMB clock
connectors.
AGE1439_CLOCK_OFF specifies no output from the SMB clock connectors.
AGE1439_DIVIDED_ADC_CLOCK specifies that the divided ADC clock be output from the
SMB clock connectors.
AGE1439_VXI_CLOCK specifies that the VXI clock be output from the SMB clock connectors.
smbClockPtr
Returns a pointer to the current value of smbClock.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
173
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_state_recall
Recalls a module’s previous instrument state.
age1439_state_recall
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_state_recall(ViSession id);
Description
This function aborts any active measurement and recalls the instrument state previously saved by
age1439_state_save. This function requires >100 ms to complete.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
174
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_state_save
Saves the module’s current instrument state.
age1439_state_save
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_state_save(ViSession id);
Description
not change a saved state. The state is not saved to non-volatile RAM.
Note
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
175
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_status_get
Reads status register information for the module.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_status_get(ViSession id, ViPInt16 statusPtr);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
points to the status word. The bits are defined below:
statusPtr
Status Bit
Definition
Description
0-1
measurement loop. See “The measurement loop” in
for more information about these states
2
3
Passed: This bit is always set to 1
This bit is set when the module is ready after power-on. See
the VXIbus Specifications for more information.
4
This bit is set internally whenever any data has been written
to the receive FIFO, or read from the transmit FIFO of the
fiber interface within the past 500 milliseconds,
approximately. The bit is cleared automatically when activity
ceases on the fiber interface
5
This bit is set internally whenever an error condition occurs
on the fiber interface. Reading the status register does not
function must be used explicitly. The function age1439_
fiber_error_get can be used to read the contents of the fiber
error register. If the error is continuously present, the bit will
not be cleared.
6
Setup error: An invalid parameter value was requested. If an
invalid block size was requested, the closest valid block size
is used until a change to an interrelated parameter makes the
requested block size valid. If a data resolution, data type,
filter bandwidth, trigger delay, or filter decimation parameter
was requested which would result in an inability to make a
measurement, the previous valid parameter is used until a
change to an interrelated parameter makes the requested
parameter valid
7
Sync/Idle Complete: This bit is set when the most recent
user-initiated Sync or Idle change has propagated through to
all modules in a system. The change is a result of asserting
Sync or forcing Idle via the Control Register or issuing a
meas_control command or function
176
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Status Bit
Definition
Description
8
This flag is set whenever there is at least one valid 16-bit
data word available to be read via the VME data register. Not
valid when using the local bus data port.
9
This bit is set in continuous mode whenever the size of the
data in the FIFO is equal to or greater than the block size
register. Check this bit before reading data to insure that a
block of data may be transferred without fear of running out
of data, thereby holding up the Local bus or VME bus. This bit
is set in block mode whenever the module has successfully
taken a block size number of samples since the most recent
trigger and is cleared when the block is read out, when force
to Idle is asserted, or when the module is armed for another
measurement.
10
This bit is set whenever the module is in the Trigger state, or
is in the Arm state and has satisfied its pre-trigger
requirements. When this bit is set, the module releases the
VXI Sync line. Once all modules release the Sync line, then all
modules go to the Trigger state.
11
FIFO Overflow: This bit set when the FIFO buffer overflows
in continuous mode
12
This bit is set whenever the ADC converts a sample that
exceeds the range of the ADC. The bit is cleared when the
Status register is read.
13
14
This bit is set whenever there is an error in the error queue. It
is cleared when the error queue is empty
A (1) in this field indicates that the module is not selected via
the P2 MODID line. A (0) indicates that the module is
selected by a high state on the P2 MODID line
15
This bit is set when all commands are complete and the
hardware has been set
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
177
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_sync_clock
Selects the source of the sync clock. This description also includes the query function:
age1439_sync_clock_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_sync_clock(ViSession id, ViInt16 syncClock);
ViStatus age1439_sync_clock_get(ViSession id, ViPInt16 syncClockPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
syncClock
AGE1439_SMB_CLOCK specifies using the front panel clock on the SMB connectors as the
sync clock.
AGE1439_VXI_CLOCK specifies using the VXI (rear panel) clock as the sync clock.
AGE1439_DIVIDED_ADC_CLOCK specifies using the divided ADC clock as the sync clock.
syncClockPtr
Returns a pointer to the current value of syncClock.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
178
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_sync_direction
Selects front or rear panel availability of the sync signal. This description also includes the query
function:
age1439_sync_direction_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_sync_direction(ViSession id, ViInt16 syncDirection);
ViStatus age1439_sync_direction_get(ViSession id, ViPInt16 syncDirectionPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function determines whether the front or rear panel sync signal is available to the other panel.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
syncDirection
AGE1439_SYNC_FRNT_TO_REAR specifies that front panel sync signal be available on the
VXI backplane (rear panel).
AGE1439_SYNC_REAR_TO_FRNT specifies that the VXI backplane sync signal be available
on the front panel SMB sync connectors.
syncDirectionPtr
Returns a pointer to the current value of syncDirection.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
179
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_sync_output
Selects the output for the sync signal. This description also includes the query function:
age1439_sync_output_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_sync_output(ViSession id, ViInt16 syncOutput);
ViStatus age1439_sync_output_get(ViSession id, ViPInt16 syncOutputPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function selects which output the module should use for it’s sync signal.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
AGE1439_SYNC_OUT_OFF specifies no sync signal output.
syncOutput
AGE1439_SYNC_OUT_BOTH specifies that the sync signal be output to both the front panel
SMB sync connectors and the VXI backplane.
AGE1439_SYNC_OUT_SMB specifies that the sync signal be output to the front panel SMB
sync connectors.
AGE1439_SYNC_OUT_VXI specifies that the sync signal be output to the VXI backplane.
syncOutputPtr
Returns a pointer to the current value of syncOutput.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
180
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_trigger_delay_actual_get
Returns the actual trigger delay from the most recent trigger event.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_trigger_delay_actual_get(ViSession id, ViPInt32 actualDelayPtr);
Description
This delay value provides more accuracy than the trigger delay parameter alone since it includes
a measurement of the fractional part of the output sample period between the previous output
sample and the actual trigger event. The trigger delay accuracy improves the delay value to one
ADC sample clock period rather than one output sample period. This can result in a substantial
improvement in accuracy when narrow bandwidth decimation filtering is used.
age1439_trigger_delay_actual_get must be called for each new trigger event that requires
precise delay measurement. The actual delay is still expressed in ADC sample periods.
In multiple module systems, the actual delay of the triggering module should be used to correct
data from other modules in the system.
Note
Due to the way the data is packed within the module, it is possible to get values from this
command that represent more than one output sample.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
actualDelayPtr
points to the returned actual delay from the most recent trigger event representing the actual time
from the desired trigger point to the actual trigger point.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
181
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_trigger_phase_actual_get
Returns a representation of the phase value of the LO at the most recent trigger point.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_trigger_phase_actual_get(ViSession id, ViPInt16 actualPhasePtr);
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
actualPhasePtr
points to the returned value which is an integer from −32768 to 32767 and should be interpreted as
follows:
AGE1439_TRIG_PHASE_0 represents 0 degrees (or 0)
AGE1439_TRIG_PHASE_90 represents 90 degrees (or 16384)
AGE1439_TRIG_PHASE_270 represents +270 (-90) degrees (or -16384)
In other words, each count represents 360/65536 degrees of phase.
To convert the returned phase value to degrees, multiply the returned value by 360/65536.
In multiple module systems, the actual phase of the triggering module should be used to correct
data from other modules in the system.
The returned phase value represents the digital LO’s phase at the time of the actual trigger. This
time may vary from the time of the desired trigger by the value returned by age1439_trigger_
The LO phase could be used in time domain averaging of blocks, or other operations involving
zoomed blocks of data, so that the varying phase of the LO can be removed from the calculation.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
182
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_trigger_setup
Sets all triggering parameters. This description also includes information on the following
functions which set or query the trigger parameters individually:
age1439_trigger_adclevel specifies the trigger threshold for an ADC trigger
age1439_trigger_adclevel_get gets the ADC trigger threshold
age1439_trigger_delay specifies a pre- or post-trigger delay time
age1439_trigger_delay_get gets the trigger delay time
age1439_trigger_gen determines whether a module can generate a trigger
age1439_trigger_gen_get gets the trigger generation status
age1439_trigger_magdwell specifies the wait (in samples) before transition causes
trigger
age1439_trigger_magdwell_get gets the number of dwell samples
age1439_trigger_maglevel specifies the trigger threshold for a magnitude trigger
age1439_trigger_maglevel_get gets magnitude trigger threshold
age1439_trigger_slope selects a positive or negative trigger
age1439_trigger_slope_get gets trigger slope
age1439_trigger_type determines the trigger type
age1439_trigger_type_get gets trigger type
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_trigger_setup(ViSession id, ViInt16 trigType, ViInt32 trigDelay, ViInt16
adcLevel, ViInt16 magLevel, ViInt16 slope, ViInt16 genTrig, ViInt32 magDwell);
ViStatus age1439_trigger_adclevel(ViSession id, ViInt16 adcLevel);
ViStatus age1439_trigger_adclevel_get(ViSession id, ViPInt16 adcLevelPtr);
ViStatus age1439_trigger_delay(ViSession id, ViInt32 trigDelay);
ViStatus age1439_trigger_delay_get(ViSession id, ViPint32 trigDelayPtr);
ViStatus age1439_trigger_gen(ViSession id, ViInt16 genTrig);
ViStatus age1439_trigger_gen_get(ViSession id, ViPInt16 genTrigPtr);
ViStatus age1439_trigger_magdwell(ViSession id, ViInt32 magDwell);
ViStatus age1439_trigger_magdwell_get(ViSession id, ViPInt32 magDwellPtr);
ViStatus age1439_trigger_maglevel(ViSession id, ViInt16 magLevel);
ViStatus age1439_trigger_maglevel_get(ViSession id, ViPInt16 magLevelPtr);
ViStatus age1439_trigger_slope(ViSession id, ViInt16 slope);
ViStatus age1439_trigger_slope_get(ViSession id, ViPInt16 slopePtr);
ViStatus age1439_trigger_type(ViSession id, ViInt16 trigType);
ViStatus age1439_trigger_type_get(ViSession id, ViPInt16 trigTypePtr);
Description
An Agilent E1439 can be triggered to collect data in a variety of ways. The trigger can be
internally generated or can come from an external source. Multiple modules can be triggered
synchronously. A variable pre- and post-trigger delay can be programmed for data collection. The
slope and level of the trigger point on a signal can be selected. The source of the internal trigger
can be either the output of the ADC or the magnitude of the complex output of the decimation
filter.
age1439_trigger_setup is the function that sets all trigger parameters at once. An Agilent E1439
generates a trigger only when it is in the Trigger state and the Sync line on the VXI backplane is
released. When a trigger is generated, the Agilent E1439 asserts the Sync line.
183
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
adcLevel
is used to set the triggering signal threshold when using the ADC trigger source. This threshold is
(full scale × adclevel/2048), where −2048 ≤adclevel ≤2047. There is hysteresis around the
threshold in order to prevent multiple triggers from a single threshold crossing. Hysteresis is 20
ADC counts, or about 1% full scale.
An accurate value of full scale (in volts) can be found by:
full scale = (age1439_data_scale_get * 2^N)/k
where N = 15 if age1439_data_resolution == AGE1439_12_BIT
N = 29 if age1439_data_resolution == AGE1439_24_BIT
and k = 2 if age1439_filter_decimate == AGE1439_DECIMATE_SHIFT
k = 2 if age1439_data_type == AGE1439_REAL and age1439_frequency_center is non-zero
k = 1 otherwise
adcLevelPtr
trigDelay
points to the current value of the adclevel parameter.
is the time delay, in units of output samples, between when a trigger is received and the first data
point in the output data.
AGE1439_TRIG_DELAY_MIN selects the minimum allowable trigger delay.
AGE1439_TRIG_DELAY_MAX selects the maximum allowable trigger delay.
AGE1439_TRIG_DELAY_DEF sets the default trigger delay.
Negative values indicate a pre-trigger condition where samples prior to the trigger event are
included in the output data. The amount of pre-trigger delay is limited to the number of samples
which can be saved in the buffer memory. See the age1439_data_setup function description for
the number of bytes used per sample. The delay limits depend on the data type as follows:
Trigger delay in output samples (DRAMsize in bytes)
24 bit real
24 bit complex
2^31−1
48−(DRAMsize/6)
12 bit complex
2^31−1
48−(DRAMsize/3)
12 bit real
2^31−1
48−(DRAMsize/1.5)
Post trigger
Pre-trigger
If trigDelay is < (Pre-trigger) a bad parameter error is set.
points to the current value of the of delay.
trigDelayPtr
genTrig
determines whether a module may generate a trigger.
184
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
same trigger type where you want only certain module(s) to generate a trigger.
genTrigPtr
magDwell
points to the current value of the genTrig parameter.
represents the number of samples that the signal magnitude must dwell low before begin
recognized as a low for the purpose of generating a magnitude trigger.
magDwellPtr
magLevel
points to the current value of the magDwell parameter
is used to set the triggering to detect when the envelope of a signal crosses the threshold while
using the magnitude trigger type.
LEVEL_MIN sets the minimum allowable level.
AGE1439_MAG_LEVEL_FS sets the full scale magnitude trigger threshold.
AGE1439_MAG_LEVEL_DEF sets the default magnitude trigger threshold.
signal, where −337 ≤magLevel ≤40.
Comment
Magnitude triggering is performed on the log magnitude of the signal. Magnitude triggering
occurs when the log magnitude of the signal crosses the specified magnitude trigger threshold.
Because of these facts magnitude trigger operation will not always be intuitive, and there is a case
that can be misinterpreted as improper operation:
Magnitude triggering may not occur when the magnitude trigger threshold level is set below the
known maximum amplitude of the input signal. The problem in such a case is that the trigger
threshold level is actually set too low, so that few, if any, signal samples fall below that level. A
transition from below the magnitude trigger threshold to above may never be detected if a sample
is not taken while the signal is below the trigger threshold. The solution is to INCREASE the
magnitude trigger level to the level at which there are frequent filter samples occurring both
above and below the magnitude trigger threshold
magLevelPtr
slope
points to the current value of the magLevel parameter.
selects the edge of the trigger source on which a trigger occurs for ADC and external triggers.
negative slope.
slopePtr
trigType
points to the current value of the of the trigger slope parameter.
determines the trigger source.
AGE1439_ADC generates a trigger based on the raw data samples from the ADC.
AGE1439_MAG generates a trigger based on the log magnitude of the signal after it has been
filtered to a selectable bandwidth around the center frequency established by the age1439_
frequency_setup function.
185
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
AGE1439_EXTERNAL uses transitions on the signal applied to the BNC external trigger
connector on the front panel.
AGE1439_EXTERNAL_ECL uses ECL level transitions on the signal applied to the BNC
external trigger connector on the front panel.
Note
Note
AGE1439_EXTERNAL_TTL uses TTL level transitions on the signal applied to the BNC
external trigger connector on the front panel.
AGE1439_EXTERNAL_TTL is supported on all E1439B, C and D modules, but it is not
supported on early E1439A modules. A module with a serial number lower than US41140000
AGE1439_USER disables the module from any event-driven trigger generation though it is still
possible to force the module to trigger a measurement by pulling the Sync line once the module is
in the trigger state. You may do this by calling the age1439_meas_start function, waiting for the
module to reach the trigger state, then triggering the measurement by using age1439_meas_
control to pull the Sync line.
Note
In multi-module systems all modules should be use the same trigger type in order to have the
same actual delay.
trigTypePtr
points to the current value of trigType.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
186
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_vcxo
Selects whether the internal clock source in the module is turned on or off. This description also
includes the query function:
age1439_vcxo_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_vcxo(ViSession id, ViInt16 vcxoState);
ViStatus age1439_vcxo_get(ViSession id, ViPInt16 vcxoStatePtr);
Note
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function selects whether the internal clock source is turned on or off.
This function is ignored in IF path since the Agilent E1439D does not run in IF mode if the
VCXO is turned off. If you switch from baseband to IF path the VCXO turns on; it remains on if
you switch back to baseband.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
vcxoState
AGE1439_VCXO_OFF specifies that the internal clock source is turned off.
AGE1439_VCXO_ON that the internal source is turned on.
vcxoStatePtr
Returns a pointer to the actual state of the VCXO.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
187
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_vxi_clock_output
Selects which clock drives the VXI clock. This description also includes the query function:
age1439_vxi_clock_output_get
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_vxi_clock_output(ViSession id, ViInt16 vxiClock);
ViStatus age1439_vxi_clock_output_get(ViSession id, ViPInt16 vxiClockPtr);
Note
This command should be used only for specialized custom clock requirements. Most useful clock
Description
This function selects which clock the module should use to drive it’s VXI clock.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
vxiClock
AGE1439_FRONT_PANEL_CLOCK specifies that the specified front panel clock drive the VXI
clock.
AGE1439_CLOCK_OFF specifies not driving vxi clock on the backplane.
AGE1439_DIVIDED_ADC_CLOCK specifies using the divided ADC clock to drive the vxi
clock.
vxiClockPtr
Returns a pointer to the current value of vxiClock.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
188
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Functions listed alphabetically
age1439_wait
Facilitates the synchronization and control of multi-module systems.
VXIplug&play Syntax
#include "age1439".h
ViStatus age1439_wait(ViSession id);
Description
This function assures that all slave modules are completely set up before issuing measurement
control commands to the master module. Prior to calling age1439_meas_control for the master
module in multi-module systems, you should call age1439_wait for each other module within the
related synchronous group to which you have previously sent commands.
This function polls the status register of the indicated module until the AGE1439_STATUS_
HARDWARE_SET and AGE1439_STATUS_SYNC_COMPLETE bits are both true, or until
approximately three seconds have elapsed. The function returns AGE1439_SUCCESS
immediately after the status bits are set, or, if the time-out limit is reached, AGE1439_STATUS_
WAIT_TIMEOUT is returned.
Parameters
id
is the VXI instrument session pointer returned by the age1439_init function.
Return Value
AGE1439_SUCCESS indicates that a function was successful.
Values other than AGE1439_SUCCESS indicate an error condition or other important status
condition. To determine the error message, pass the return value to “age1439_error_message” on
See Also
189
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Equivalent numeric values for variables
Variable Name
AGE1439_01_BOARD
Numeric Value
0
AGE1439_03_BOARD
AGE1439_12BIT
1
1
0
AGE1439_24BIT
AGE1439_106MBS
0
AGE1439_250MBS
1
AGE1439_AC
1
AGE1439_ADC
1
AGE1439_ADC_LEVEL_DEF
AGE1439_ADC_LEVEL_MAX
AGE1439_ADC_LEVEL_MIN
AGE1439_ANTIALIAS_OFF
AGE1439_ANTIALIAS_ON
AGE1439_APPEND
0
2047
−2048
0
1
2
AGE1439_ASSERT
1
AGE1439_BB_PATH
0
AGE1439_BLOCK
0
AGE1439_BLOCKSIZE_DEF
AGE1439_BLOCKSIZE_MAX
AGE1439_BLOCKSIZE_MIN
AGE1439_BOF_OFF
1024
805306320
2
0
AGE1439_BOF_ON
1
AGE1439_BNC_CLOCK
AGE1439_CENT_FREQ_DEF
AGE1439_CENT_FREQ_MAX
AGE1439_CENT_FREQ_MIN
AGE1439_CLOCK_OFF
AGE1439_CMPLXDC_OFF
AGE1439_CMPLXDC_ON
AGE1439_COMPLEX
AGE1439_CRC_OFF
1
0.0
+.5
−.5
0
0
1
1
0
AGE1439_CRC_ON
1
190
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Variable Name
AGE1439_CONTINUOUS
Numeric Value
1
AGE1439_CUSTOM_CLOCK_SETUP
AGE1439_DATA_DELAY_MAX
AGE1439_DATA_DELAY_MIN
AGE1439_DATA_REGISTER
AGE1439_DC
−1
805306320
0
3
0
AGE1439_DEBUG_LEVEL_0
AGE1439_DEBUG_LEVEL_1
AGE1439_DEBUG_LEVEL_2
AGE1439_DEBUG_LEVEL_3
AGE1439_DEBUG_LEVEL_4
AGE1439_DEBUG_LEVEL_5
AGE1439_DECIMATE_OFF
AGE1439_DECIMATE_ON
AGE1439_DECIMATE_SHIFT
AGE1439_DIVIDE_BY_10
AGE1439_DIVIDE_BY_38
AGE1439_DIVIDED_ADC_CLOCK
AGE1439_EPOCH_GEN_OFF
AGE1439_EPOCH_GEN_ON
AGE1439_EPOCH_SIZE_MIN
AGE1439_EPOCH_SIZE_DEF
AGE1439_EPOCH_SIZE_MAX
AGE1439_EXTERNAL
0
1
2
3
4
5
0
1
2
0
1
2
0
1
8
1024
4294967292
2
AGE1439_ERR_BASE
0X80000000 +
0X3FFC0800
AGE1439_EXTERNAL_ECL
2
5
AGE1439_EXTERNAL_TTL
AGE1439_EXT_SAMPLE_CLOCK
AGE1439_EXT_SAMP_SYNC_ENABLE
AGE1439_EXT_SAMP_SYNC_CANCEL
AGE1439_FI_ERR_UNLOCKED
AGE1439_FIBER
2
1
0
512
2
AGE1439_FIBER_MODE_APPEND
AGE1439_FIBER_MODE_COPY
AGE1439_FIBER_MODE_GENERATE
AGE1439_FIBER_MODE_OFF
AGE1439_FIBER_MODE_RAW
AGE1439_FIBER_SIG_OFF
4
1
3
0
2
0
AGE1439_FIBER_SIG_ON
1
191
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Variable Name
Numeric Value
AGE1439_FIBER_SIGNAL_PRESENT
AGE1439_FIBER_VERIFY_INTERNAL
AGE1439_FIBER_VERIFY_EXTERNAL
AGE1439_FIBER_VERIFY_MIN
AGE1439_FIBER_VERIFY_MAX
AGE1439_FLOW_CONTROL_OFF
AGE1439_FLOW_CONTROL_NO_COPY
AGE1439_FLOW_CONTROL_COPY
AGE1439_FRNT_MSTR_EXT_REF
AGE1439_FRNT_MSTR_INT_REF
AGE1439_FRNT_REAR_MSTR_EXT_REF
AGE1439_FRNT_REAR_MSTR_INT_REF
AGE1439_FRNT_REAR_SLAV_EXT_REF
AGE1439_FRNT_SLAV_EXT_REF
AGE1439_FRNT_SYNC_EXT_SAMP
AGE1439_FRONT_PANEL_CLOCK
AGE1439_FS_MAX
1
0
1
1
1073
0
1
2
8
7
10
27
28
9
21
3
103e6
AGE1439_FS_MIN
10e6
AGE1439_GENERATE
1
AGE1439_GENERATE_OFF
0
AGE1439_GENERATE_ON
1
AGE1439_HEADER_INCR_MIN
AGE1439_HEADER_INCR_MAX
AGE1439_HEADER_INDEX_MASK
AGE1439_HEADER_OFF
0
1023
0x3FF
0
AGE1439_HEADER_ON
1
AGE1439_HEADER_VALUE_MIN
AGE1439_HEADER_VALUE_MAX
AGE1439_IF_PATH
0
4294967295
0
4
3
1
0
1
0
1
1
2
4
8
AGE1439_IMMEDIATE
AGE1439_INSERT
AGE1439_IO_ADDRESS
AGE1439_IO_HANDLE
AGE1439_LBUS
AGE1439_LBUS_RESET_OFF
AGE1439_LBUS_RESET_ON
AGE1439_LED_RX_SIGNAL
AGE1439_LED_RX_DATA
AGE1439_LED_TX_ENABLED
AGE1439_LED_TX_DATA
192
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Variable Name
Numeric Value
AGE1439_MAG
3
AGE1439_MAGDWELL_DEF
AGE1439_MAGDWELL_MAX
AGE1439_MAGDWELL_MIN
AGE1439_MAG_LEVEL_DEF
AGE1439_MAG_LEVEL_FS
AGE1439_MAG_LEVEL_MAX
AGE1439_MAG_LEVEL_MIN
AGE1439_MAG_LEVEL_SCALE
AGE1439_NEGATIVE
1
16777215
0
−128
0
40
−337
0.37628749457997662
1
0
AGE1439_NO_FIBER_SIGNAL
AGE1439_NORMAL
0
AGE1439_OFF
0
AGE1439_OFFS_DAC_MAX
AGE1439_OFFS_DAC_MIN
AGE1439_ON
255
0
1
AGE1439_PIO_OFF
0
AGE1439_PIO_ON
1
AGE1439_PIPELINE
0
AGE1439_POSITIVE
0
AGE1439_PRESCALE_BY_1
AGE1439_PRESCALE_BY_4
AGE1439_RANGE_0
0
1
0
AGE1439_RANGE_1
1
AGE1439_RANGE_2
2
AGE1439_RANGE_3
3
AGE1439_RANGE_4
4
AGE1439_RANGE_5
5
AGE1439_RANGE_6
6
AGE1439_RANGE_7
7
AGE1439_RANGE_8
8
AGE1439_RANGE_9
9
AGE1439_RANGE_10
AGE1439_RANGE_11
AGE1439_RANGE_12
AGE1439_RANGE_13
AGE1439_RANGE_14
AGE1439_RANGE_15
AGE1439_RANGE_16
AGE1439_RANGE_17
10
11
12
13
14
15
16
17
193
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Variable Name
Numeric Value
AGE1439_RANGE_18
AGE1439_RANGE_19
AGE1439_RANGE_20
AGE1439_RANGE_21
AGE1439_RANGE_22
AGE1439_RANGE_23
AGE1439_RANGE_24
AGE1439_RANGE_25
AGE1439_RANGE_26
AGE1439_RANGE_27
AGE1439_RANGE_28
AGE1439_RANGE_29
AGE1439_RANGE_30
AGE1439_RANGE_31
AGE1439_RANGE_32
AGE1439_RANGE_33
AGE1439_RANGE_34
AGE1439_RANGE_35
AGE1439_RANGE_36
AGE1439_RANGE_37
AGE1439_RANGE_38
AGE1439_RANGE_39
AGE1439_RANGE_40
AGE1439_RANGE_41
AGE1439_RANGE_42
AGE1439_RANGE_43
AGE1439_RANGE_44
AGE1439_RANGE_45
AGE1439_RANGE_46
AGE1439_RANGE_47
AGE1439_RANGE_48
AGE1439_RANGE_MAX
AGE1439_RANGE_MIN
AGE1439_RANGE_TIME_MAX
AGE1439_RANGE_TIME_MIN
AGE1439_RATE_106MBS
AGE1439_RATE_250MBS
AGE1439_REAL
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
48
0
20
0
0
1
0
AGE1439_REAR_MSTR_EXT_REF
AGE1439_REAR_MSTR_INT_REF
15
14
194
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Variable Name
Numeric Value
AGE1439_REAR_SLAV_EXT_REF
AGE1439_REAR_SYNC_EXT_SAMP
AGE1439_RELEASE
16
22
0
AGE1439_REVERSED
1
AGE1439_RM_HANDLE
2
AGE1439_RX_ERR_
AGE1439_RX_ERR_ALIGNMENT
AGE1439_RX_ERR_BEGIN_DISPARITY
AGE1439_RX_ERR_CODE_VIOLATION
AGE1439_RX_ERR_CRC
8
4
16
2
AGE1439_RX_ERR_DISPARITY
AGE1439_RX_ERR_FIFO_OVERFLOW
AGE1439_RX_ERR_SIGNAL_LOST
AGE1439_RX_ERR_SYNC_LOST
AGE1439_RX_ERR_UNLOCKED
AGE1439_SIG_BW_MAX
32
128
1
64
512
18
AGE1439_SIG_BW_MIN
0
AGE1439_SIGNAL_OFF
0
AGE1439_SIGNAL_ON
1
AGE1439_SIMPLE_EXT_REF
AGE1439_SIMPLE_EXT_SAMP
AGE1439_SIMPLE_INT_REF
AGE1439_SMB_CLOCK
1
2
0
4
AGE1439_ST_ANALOG_FAIL
AGE1439_ST_CLOCK1_FAIL
AGE1439_ST_CLOCK2_FAIL
AGE1439_ST_DIGITAL1_FAIL
AGE1439_ST_DIGITAL2_FAIL
AGE1439_ST_EXECUTION_ERR
AGE1439_ST_FIBER_FAIL
0X100
0X008
0X010
0X040
0X080
0X4000
0X200
0X001
0X020
0X002
0X004
0X000
0x400
0x200
0x2000
0x10
0x20
AGE1439_ST_HARDWARE_FAIL
AGE1439_ST_MEMORY_FAIL
AGE1439_ST_SERIAL1_FAIL
AGE1439_ST_SERIAL2_FAIL
AGE1439_ST_SUCCESS
AGE1439_STATUS_ARMED
AGE1439_STATUS_BLOCK_READY
AGE1439_STATUS_ERROR_QUEUE
AGE1439_STATUS_FIBER_ACTIVE
AGE1439_STATUS_FIBER_ERROR
195
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Equivalent numeric values for variables
Variable Name
Numeric Value
AGE1439_STATUS_FIFO_OVERFLOW
AGE1439_STATUS_HARDWARE_SET
AGE1439_STATUS_MEAS_ARM_WAIT
AGE1439_STATUS_MEAS_IDLE
AGE1439_STATUS_MEAS_IN_PROGRESS
AGE1439_STATUS_MEAS_TRIG_WAIT
AGE1439_STATUS_MODID
AGE1439_STATUS_OVERLOAD
AGE1439_STATUS_PASSED
AGE1439_STATUS_READ_VALID
AGE1439_STATUS_READY
AGE1439_STATUS_SETUP_ERROR
AGE1439_STATUS_SYNC_COMPLETE
AGE1439_STR_LEN_MIN
0x800
0x8000
0x1
0x0
0x2
0x3
0X4000
0x1000
0x4
0x100
0x8
0x40
0x80
256
AGE1439_SYNC_FRNT_TO_REAR
AGE1439_SUCCESS
0
0
AGE1439_SYNC_OFF
0
AGE1439_SYNC_ON
1
AGE1439_SYNC_OUT_BOTH
AGE1439_SYNC_OUT_OFF
AGE1439_SYNC_OUT_SMB
AGE1439_SYNC_OUT_VXI
AGE1439_SYNC_REAR_TO_FRNT
AGE1439_TRIG_DELAY_DEF
AGE1439_TRIG_DELAY_MAX
AGE1439_TRIG_DELAY_MIN
AGE1439_TRIG_PHASE_0
AGE1439_TRIG_PHASE_90
AGE1439_TRIG_PHASE_180
AGE1439_TRIG_PHASE_270
AGE1439_TX_ERR_OVERRUN
AGE1439_USER
3
0
2
1
1
0
2147286000
−805108700
0
16384
−32768
−16384
256
0
AGE1439_VCXO_EXT_REF
AGE1439_VCXO_INTERNAL
AGE1439_VCXO_OFF
1
0
0
AGE1439_VCXO_ON
1
AGE1439_VME
0
AGE1439_VXI_CLOCK
5
196
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Commands which halt active measurements
Commands which halt active measurements
age1439_adc_clock
age1439_clock_recover
age1439_clock_setup
age1439_combo_setup
age1439_data_blocksize
age1439_data_delay
age1439_data_resolution
age1439_data_spectral_order
age1439_data_type
age1439_data_xfersize
age1439_ext_sample_sync
age1439_fiber_verify
age1439_filter_bw
age1439_filter_decimate
age1439_filter_setup
age1439_front_panel_clock_input
age1439_init
age1439_input_autozero
age1439_input_range_auto
age1439_meas_control
age1439_meas_init
age1439_meas_start
age1439_reset
age1439_reset_hard
age1439_self_test
age1439_state_recall
age1439_trigger_delay
age1439_trigger_setup
Commands which void synchronized multi-module setups:
age1439_clock_setup and low-level clock setup functions
age1439_clock_recover
age1439_input_autozero
age1439_input_range_auto
age1439_self_test
age1439_state_recall
198
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Error messages
Error messages
Warnings and errors are based on the value VI_ERROR
Error
Number
Parameter
Description
0x0000
AGE1439_SUCCESS
No error, command succeeded
Base number for error values
Invalid command code
0x80000000+0x3FFC0800 AGE1439_ERR_BASE
AGE1439_ERR_BASE +
0x0001
AGE1439_BAD_COMMAND
AGE1439_INVALID_HW_CONFIG
AGE1439_PARM_ERROR
AGE1439_ERR_BASE +
0x0002
The hardware configuration is not supported
Invalid command parameter
Error while saving to non-volatile memory
Error while downloading new firmware
Serial bus time-out; hardware error
Incorrect byte-order setting
AGE1439_ERR_BASE +
0x0003
AGE1439_ERR_BASE +
0x0004
AGE1439_NV_SAVE_ERROR
AGE1439_DOWNLOAD_ERROR
AGE1439_SERIAL_TIMEOUT
AGE1439_BYTE_SWAP_ERROR
AGE1439_START_ERROR
AGE1439_ERR_BASE +
0x0005
AGE1439_ERR_BASE +
0x0006
AGE1439_ERR_BASE +
0x0007
AGE1439_ERR_BASE +
0x0008
Start error
AGE1439_ERR_BASE +
0x0009
AGE1439_HARDWARE_FAILURE
AGE1439_WATCHDOG_RESET_ERROR
Hardware failure
AGE1439_ERR_BASE +
0x000a
Watchdog timer caused a hard reset, possibly
due to a hardware problem
AGE1439_ERR_BASE +
0x0011
AGE1439_NO_DATA_MEASUREMENT_IN_PROGRESS No data available, a measurement is in
progress.
AGE1439_ERR_BASE +
0x00102
AGE1439_NO_DATA_MEASUREMENT_PAUSED
AGE1439_NO_DATA_WAITING_FOR_TRIGGER
AGE1439_NO_DATA_WAITING_ FOR_ARM
AGE1439_NO_E1439_FOUND
No data available, the measurement is paused
No data available, trigger has not occurred
No data available, acquiring pre-trigger data
AGE1439_ERR_BASE +
0x0013
AGE1439_ERR_BASE +
0x0014
AGE1439_ERR_BASE +
0x0016
No AGE1439 found at specified logical
address
AGE1439_ERR_BASE +
0x0017
AGE1439_PROC_READY_TIMEOUT
Time-out is waiting for AGE1439 command
processor
AGE1439_ERR_BASE +
0x0018
AGE1439_MEMORY_ALLOCATION_ERROR
Memory allocation error
199
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Error messages
Error
Number
Parameter
Description
AGE1439_ERR_BASE +
0x001b
AGE1439_INTERFACE_HARDWARE_INCOMPATIBILE
AGE1439_NULL_ID
Interface hardware incompatible with
instrument drivers
AGE1439_ERR_BASE +
0x001d
ID parameter is zero, function aborted
Time-out waiting for desired status
Autozero error
AGE1439_ERR_BASE +
0x0001e
AGE1439_STATUS_WAIT_TIMEOUT
AGE1439_AUTOZERO_ERROR
AGE1439_ERR_BASE +
0x00067
AGE1439_ERR_BASE +
0x00068
AGE1439_AUTOZERO_CONVERGENCE_ERROR
AGE1439_AUTOZERO_SIGN_ERROR
AGE1439_AUTORANGE_ERROR
Possible hardware problem
Possible hardware problem
Autorange error
AGE1439_ERR_BASE +
0x00069
AGE1439_ERR_BASE +
0x006c
AGE1439_ERR_BASE +
0x0080
AGE1439_SETUP_ERROR
Hardware setup error
AGE1439_ERR_BASE +
0x0081
AGE1439_SYNC_NOT_COMPLETE
AGE1439_FIBER_ERROR
Command or Idle assertion did not complete
Fiber interface error
AGE1439_ERR_BASE +
0x000b
AGE1439_ERR_BASE +
0x0015
AGE1439_FIBER_HARDWARE_REQUIRED
AGE1439_TTL_TRIGGER_NOT_SUPPORTED
Fiber hardware required error
Hardware does not support TTL trigger
AGE1439_ERR_BASE +
0x0019
Errors required for SICL/SPIL when using HP E1485
Parameter
Error
Number
Description
AGE1439_ERR_BASE +
0x0082
AGE1439_UNKNOWN_STATUS
AGE1439_SHARED_MEMORY_MAP_ERROR
AGE1439_SPIL_ERROR
Unknown error
AGE1439_ERR_BASE +
0x0083
Conflict in memory mapping
Unexpected SPIL error
SICL specific error
AGE1439_ERR_BASE +
0x0084
AGE1439_ERR_BASE +
0x0085
AGE1439_SICL_ERROR
200
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Default values
Default values
Function
Parameter
Default Value
adcClock
adcDivider
clockSetup
blocksize
dataDelay
dataType
mode
port
resolution
spectralOrder
xfersize
epochGenerate
epochSize
headerEnable
incrementCount
headerValue
syncEnable
bofEnable
crcEnable
fiberMode
flowControlEnable
transferRate
pio1
pio2
dir
nrdy
decimate
sigBw
cmplxDC
centerFreq
sync
fpClock
201
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
Default values
Function
Parameter
antialias
Default Value
coupling
range
signal
signalPath
mask
0
priority
0
lbusMode
lbusReset
idle
sync
refClock
refPrescaler
smbClock
syncClock
syncDirection
syncOutput
adcLevel
genTrig
magDwell
magLevel
slope
trigDelay
trigType
vcxoState
vxiClock
202
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
VXIplug&play Syntax Quick Reference
VXIplug&play Syntax Quick Reference
ViStatus age1439_epoch_setup(Visession id, ViInt16 epochGenerate, ViInt32 epochSize,
ViInt16 headerEnable, ViInt32 initialValue, ViInt32 incrementCount)
ViStatus age1439_epoch_generate(Visession id, ViInt16 epochGenterate)
ViStatus age1439_epoch_generate_get(Visession id, ViPInt16 epochGenteratePtr)
ViStatus age1439_epoch_header(Visession id, ViInt32 headerValue,
ViInt32 incrementCount)
ViStatus age1439_epoch_header_get(Visession id, ViPInt32 headerValuePtr,
ViPInt32 incrementCountPtr)
ViStatus age1439_epoch_header_enable(Visession id, ViInt16 headerEnable)
ViStatus age1439_epoch_header_enable_get(Visession id, ViPInt16 headerEnablePtr)
ViStatus age1439_epoch_size(Visession id, ViInt32 epochSize)
ViStatus age1439_epoch_size_get(Visession id, ViPInt32 epochSizePtr);ViStatus age1439_
fiber_clear(ViSession id)
ViStatus age1439_fiber_error_clear(ViSession id)
ViStatus age1439_fiber_error_get(ViSession id, ViInt16 fiberErrorPtr)
ViStatus age1439_fiber_LED_get(ViSession id, ViPInt16 ledRegPtr)
ViStatus age1439_fiber_rcv_signals_get(ViSession id, ViPInt16 pio1, ViPInt16 pio2,
ViPInt16 dir, ViPInt16 nrdy);
ViStatus age1439_fiber_setup(Visession id, ViInt16 mode, ViInt16 bofEnable, ViInt16
flowControlEnable, ViInt16 crcEnable, ViInt16 transferRate)
ViStatus age1439_fiber_BOF(Visession id, ViInt16 bofEnable)
ViStatus age1439_fiber_BOF_get(Visession id, ViPInt16 bofEnablePtr)
ViStatus age1439_fiber_crc(Visession id, ViInt16 crcEnable)
ViStatus age1439_fiber_crc_get(Visession id, ViPInt16 crcEnablePtr)
ViStatus age1439_fiber_flow_control(Visession id, ViInt16 flowControlMode)
ViStatus age1439_fiber_flow_control(Visession id, ViInt16 flowControlModePtr)
ViStatus age1439_fiber_mode(Visession id, ViInt16 fiberMode)
ViStatus age1439_fiber_mode_get(Visession id, ViPInt16 fiberModePtr)
ViStatus age1439_fiber_signal_get(ViSession id, ViPInt16 fiberSignalPtr)
ViStatus age1439_fiber_transfer_rate(Visession id, ViInt16 transferRate)
ViStatus age1439_fiber_transfer_rate_get(Visession id, ViPInt16 transferRatePtr)
ViStatus age1439_fiber_verify(ViSession id, ViInt16 verifyPath, ViInt16 sec)
ViStatus age1439_fiber_xmt_BOF(ViSession id)
ViStatus age1439_fiber_xmt_signals(ViSession id, ViInt16 pio1, ViInt16 pio2, ViInt16 dir,
ViInt16 nrdy)
ViStatus age1439_fiber_xmt_signals_get(ViSession id, ViInt16 pio1, ViInt16 pio2,
ViInt16 dir, ViInt16 nrdy)
ViStatus age1439_meas_status_get(ViSession id, ViPInt16 readValid, ViPInt16 block-
Ready, ViPInt16 overload)
ViStatus age1439_adc_clock(ViSession id, ViInt16 adcClock)
ViStatus age1439_adc_clock_get(ViSession id, ViPInt16 adcClockPtr)
ViStatus age1439_adc_divider(ViSession id, ViInt16 adcDivider)
ViStatus age1439_adc_divider_get(ViSession id, ViPInt16 adcDividerPtr)
203
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
VXIplug&play Syntax Quick Reference
ViStatus age1439_attrib_get(ViSession id, ViInt16 attribute, ViPint32 value)
ViStatus age1439_cal_get(ViSession id, ViInt16 board, ViPInt32 datestampPtr)
ViStatus age1439_clock_fs(ViSession id, ViReal64 fs)
ViStatus age1439_clock_fs_get(ViSession id, ViPReal64 fsPtr)
ViStatus age1439_clock_recover(ViSession id)
ViStatus age1439_clock_setup(ViSession id, ViInt16 clockSetup)
ViStatus age1439_clock_setup_get(ViSession id, ViPInt16 clockSetupPtr)
ViStatus age1439_close(ViSession id)
ViStatus age1439_combo_setup(ViSession id, ViInt16 sigBw, ViInt32 blocksize, ViInt32
phase, ViInt32 interpolate)
ViStatus age1439_data_blocksize(ViSession id, ViInt32 blocksize)
ViStatus age1439_data_blocksize_get(ViSession id, ViPint32 blocksizePtr)
ViStatus age1439_data_delay(ViSession id, ViInt32 dataDelay)
ViStatus age1439_data_delay_get(ViSession id, ViPInt32 dataDelayPtr)
ViStatus age1439_data_memsize_get(ViSession id, ViPInt16 memSizePtr)
ViStatus age1439_data_mode(ViSession id, ViInt16 mode)
ViStatus age1439_data_mode_get(ViSession id, ViPInt16 modePtr)
ViStatus age1439_data_port(ViSession id, ViInt16 port)
ViStatus age1439_data_port_get(ViSession id, ViPInt16 portPtr)
ViStatus age1439_data_resolution(ViSession id, ViInt16 resolution)
ViStatus age1439_data_resolution_get(ViSession id, ViPInt16 resolutionPtr)
ViStatus age1439_data_scale_get(ViSession id, ViPReal64 scalePtr)
ViStatus age1439_data_setup(ViSession id, ViInt16 dataType, ViInt16 resolution, ViInt16
mode, ViInt32 blocksize, ViInt32 dataDelay, ViInt16 spectralOrder, ViInt16 port)
ViStatus age1439_data_spectral_order(ViSession id, ViInt16 spectralOrder)
ViStatus age1439_data_spectral_order_get(ViSession id, ViPInt16 spectralOrderPtr)
ViStatus age1439_data_type(ViSession id, ViInt16 dataType)
ViStatus age1439_data_type_get(ViSession id, ViPInt16 dataTypePtr)
ViStatus age1439_data_xfersize(ViSession id, ViInt32 xfersize)
ViStatus age1439_data_xfersize_get(ViSession id, ViPInt32 xfersizePtr)
ViStatus age1439_driver_debug_level(ViSession id, ViInt16 debugLevel)
ViStatus age1439_driver_debug_level_get(ViSession id, ViPInt16 debugLevelPtr)
ViStatus age1439_error_message(ViSession id, ViStatus statusCode, ViChar errorMes-
sage[])
ViStatus age1439_error_query(ViSession id, ViPint32 errorCode, ViChar errorMessage[])
ViStatus age1439_ext_sample_sync(ViSession id, ViInt16 syncEnable)
ViStatus age1439_ext_sample_sync_get(ViSession id, ViPInt16 syncEnablePtr)
ViStatus age1439_filter_bw(ViSession id, ViInt16 sigBw)
ViStatus age1439_filter_bw_get(ViSession id, ViPInt16 sigBwPtr)
ViStatus age1439_filter_decimate(ViSession id, ViInt16 decimate)
ViStatus age1439_filter_decimate_get(ViSession id, ViPInt16 decimatePtr)
ViStatus age1439_filter_setup(ViSession id, ViInt16 sigBw, ViInt16 decimate)
ViStatus age1439_filter_sync(ViSession id)
ViStatus age1439_frequency_center(ViSession id, ViReal64 centerFreq)
ViStatus age1439_frequency_center_get(ViSession id, ViPReal64 centerFreqPtr)
ViStatus age1439_frequency_center_raw(ViSession id, ViInt32 phase, ViInt32 interpolate)
ViStatus age1439_frequency_center_raw_compute(ViSession id, ViReal64 center,
ViPInt32 phasePtr, ViPInt32 interpolatePtr)
ViStatus age1439_frequency_center_raw_get(ViSession id, ViPInt32 phasePtr, ViPInt32
interpolatePtr)
ViStatus age1439_frequency_cmplxdc(ViSession id, ViInt16 cmplxDC)
ViStatus age1439_frequency_cmplxdc_get(ViSession id, ViPInt16 cmplxDCPtr)
204
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
VXIplug&play Syntax Quick Reference
ViStatus age1439_frequency_setup(ViSession id, ViInt16 cmplxDC, ViInt16 sync,
ViReal64 centerFreq)
ViStatus age1439_frequency_sync(ViSession id, ViInt16 sync)
ViStatus age1439_frequency_sync_get(ViSession id, ViPInt16 syncPtr)
ViStatus age1439_front_panel_clock_input(ViSession id, ViInt16 fpClock)
ViStatus age1439_front_panel_clock_input_get(ViSession id, ViPInt16 fpClockPtr)
ViStatus age1439_init(ViRsrc rsrcName, ViBoolean idQuery, ViBoolean resetInstr, ViPSes-
sion id)
ViStatus age1439_input_alias_filter(ViSession id, ViInt16 antiAlias)
ViStatus age1439_input_alias_filter_get(ViSession id, ViPInt16 antiAliasPtr)
ViStatus age1439_input_autozero(ViSession id)
ViStatus age1439_input_coupling(ViSession id, ViInt16 coupling)
ViStatus age1439_input_coupling_get(ViSession id, ViPInt16 couplingPtr)
ViStatus age1439_input_offset(ViSession id, ViInt16 coarseDac, ViInt16 fineDac)
ViStatus age1439_input_offset_get(ViSession id, ViPInt16 coarseDacPtr, ViPInt16 fine-
DacPtr)
ViStatus age1439_input_offset_save(ViSession id)
ViStatus age1439_input_range(ViSession id, ViInt16 range)
ViStatus age1439_input_range_auto(ViSession id, ViReal64 sec)
ViStatus age1439_input_range_convert(ViSession id, ViInt16 range, ViPReal64 rangeV-
oltsPtr)
ViStatus age1439_input_range_get(ViSession id, ViPInt16 rangePtr)
ViStatus age1439_input_setup(ViSession id, ViInt16 signalPath, ViInt16 range, ViInt16
coupling, ViInt16 antiAlias, ViInt16 signal)
ViStatus age1439_input_signal(ViSession id, ViInt16 signal)
ViStatus age1439_input_signal_get(ViSession id, ViPInt16 signalPtr)
ViStatus age1439_input_signal_path(ViSession id, ViInt16 signalPath)
ViStatus age1439_input_signal_path_get(ViSession id, ViPInt16 signalPathPtr)
ViStatus age1439_interrupt_mask_get(ViSession id, ViInt16 intrNum, ViPInt16 maskPtr)
ViStatus age1439_interrupt_priority_get(ViSession id, ViInt16 intrNum, ViPInt16 priori-
tyPtr)
ViStatus age1439_interrupt_restore(ViSession id)
ViStatus age1439_interrupt_setup(ViSession id, ViInt16 intrNum, ViInt16 priority, ViInt16
mask)
ViStatus age1439_lbus_mode(ViSession id, ViInt16 lbusMode)
ViStatus age1439_lbus_mode_get(ViSession id, ViPInt16 lbusModePtr)
ViStatus age1439_lbus_reset(ViSession id, ViInt16 lbusReset)
ViStatus age1439_lbus_reset_get(ViSession id, ViPInt16 lbusResetPtr)
ViStatus age1439_meas_control(ViSession id, ViInt16 idle, ViInt16 sync)
ViStatus age1439_meas_init(ViSession id)
ViStatus age1439_meas_start(ViSession id)
ViStatus age1439_options_get(ViSession id, ViChar options[])
ViStatus age1439_product_id_get(ViSession id, ViChar productId[])
ViStatus age1439_read(ViSession id, ViReal32 data[], ViInt32 sampleCount, ViPInt16
overloadPtr)
ViStatus age1439_read_raw(ViSession id, ViInt16 data[], ViInt32 wordCount, ViPInt16
overloadPtr)
ViStatus age1439_read64(ViSession id, ViReal64 data[], ViInt32 sampleCount, ViPInt16
overloadPtr)
ViStatus age1439_reference_clock(ViSession id, ViInt16 refClock)
ViStatus age1439_reference_clock_get(ViSession id, ViPInt16 refClockPtr)
ViStatus age1439_reference_prescaler(ViSession id, ViInt16 refPrescaler)
205
Download from Www.Somanuals.com. All Manuals Search And Download.
Agilent E1439 Programmer's Reference
VXIplug&play Syntax Quick Reference
ViStatus age1439_reference_prescaler_get(ViSession id, ViPInt16 refPrescalerPtr)
ViStatus age1439_reset(ViSession id)
ViStatus age1439_reset_hard(ViSession id)
ViStatus age1439_revision_query(ViSession id, ViChar driverRev[], ViChar instrRev[])
ViStatus age1439_self_test(ViSession id, ViPInt16 testResult, ViChar testMessage[])
ViStatus age1439_serial_number(ViSession id, ViChar serialNum[])
ViStatus age1439_serial_number_get(ViSession id, ViChar serialNum[])
ViStatus age1439_smb_clock_output(ViSession id, ViInt16 smbClock)
ViStatus age1439_smb_clock_output_get(ViSession id, ViPInt16 smbclockPtr)
ViStatus age1439_state_recall(ViSession id)
ViStatus age1439_state_save(ViSession id)
ViStatus age1439_status_get(ViSession id, ViPInt16 statusPtr)
ViStatus age1439_sync_clock(ViSession id, ViInt16 syncClock)
ViStatus age1439_sync_clock_get(ViSession id, ViPInt16 syncClockPtr)
ViStatus age1439_sync_direction(ViSession id, ViInt16 syncDirection)
ViStatus age1439_sync_direction_get(ViSession id, ViPInt16 syncDirectionPtr)
ViStatus age1439_sync_output(ViSession id, ViInt16 syncOutput)
ViStatus age1439_sync_output_get(ViSession id, ViPInt16 syncOutputPtr)
ViStatus age1439_trigger_adclevel(ViSession id, ViInt16 adcLevel)
ViStatus age1439_trigger_adclevel_get(ViSession id, ViPInt16 adcLevelPtr)
ViStatus age1439_trigger_delay(ViSession id, ViInt32 trigDelay)
ViStatus age1439_trigger_delay_actual_get(ViSession id, ViPInt32 actualDelayPtr)
ViStatus age1439_trigger_delay_get(ViSession id, ViPint32 trigDelayPtr)
ViStatus age1439_trigger_gen(ViSession id, ViInt16 generate)
ViStatus age1439_trigger_gen_get(ViSession id, ViPInt16 generatePtr)
ViStatus age1439_trigger_magdwell(ViSession id, ViInt32 magDwell)
ViStatus age1439_trigger_magdwell_get(ViSession id, ViPInt32 magDwellPtr)
ViStatus age1439_trigger_maglevel(ViSession id, ViInt16 magLevel)
ViStatus age1439_trigger_maglevel_get(ViSession id, ViPInt16 magLevelPtr)
ViStatus age1439_trigger_phase_actual_get(ViSession id, ViPInt16 actualPhasePtr)
ViStatus age1439_trigger_setup(ViSession id, ViInt16 trigType, ViInt32 trigDelay, ViInt16
adcLevel, ViInt16 magLevel, ViInt16 slope, ViInt16 generate, ViInt32 magDwell)
ViStatus age1439_trigger_slope(ViSession id, ViInt16 slope)
ViStatus age1439_trigger_slope_get(ViSession id, ViPInt16 slopePtr)
ViStatus age1439_trigger_type(ViSession id, ViInt16 trigType)
ViStatus age1439_trigger_type_get(ViSession id, ViPInt16 trigTypePtr)
ViStatus age1439_vcxo(ViSession id, ViInt16 vcxoState)
ViStatus age1439_vcxo_get(ViSession id, ViPInt16 vcxoStatePtr)
ViStatus age1439_vxi_clock_output(ViSession id, ViInt16 vxiClock)
ViStatus age1439_vxi_clock_output_get(ViSession id, ViPInt16 vxiClockPtr)
ViStatus age1439_wait(ViSession id)
206
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Front Panel Description
Front Panel Description
Fiber optic serial FPDP data link.
Dual LC connector.
XMT
RCV
I/O
Data
(”D” module only)
Access Overload
XMT RCV
LED lights whenever the input range is
exceeded, producing an overload in the ADC
LED lights when the module is accessed
via the VXI backplane.
LED lights when an optical signal is detected.
LED blinks when data is being received.
(”D” module only)
LED lights when the transmitter is enabled.
LED blinks when data generated by this module
is being transmitted. (”D” module only)
Clock
Clock Extenders are used to connect the
system reference from one mainframe or
module to another. It is an SMB connector
for ECL levels and must be terminated in
50 ohms at each end of the chain.
Sync extenders are used to extend the
sync line from one mainframe
or module to another. It is an SMB connector
for ECL levels and must be terminated in
50 ohms at each end of the chain.
Sync
BNC input for TTL, ECL, or sine
wave signals that can be used as the
ADC sample clock. This input can also
be used for the system frequency reference.
This input is ac coupled, and has 1 k ohm
impedance.
Ext Clock/Ref
Ext Trigger
BNC input for ECL or TTL signals that can trigger
data acquisition. For ECL, the input is ac coupled,
1 k ohm, edge sensitive. For TTL, the input is
dc coupled, 1 k ohm, TTL levels.
Analog In
This is the main input to the ADC. It is a
single-ended input terminated into 50 ohms.
5Vrms Max
208
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
VXI backplane connections
VXI backplane connections
Power Supplies and Ground
The E1439 conforms to the VME and VXI specifications for pin assignment. The current drawn
from each supply is listed in the Technical Specifications.
Data Transfer Bus
The E1439 conforms to the VME and VXI specifications for pin assignment and protocol. Only
A16/D16/D32 data transfers are supported, thus the upper addresses are ignored.
DTB Arbitration Bus
The E1439 is not capable of requesting bus control, thus it does not use the Arbitration bus. To
conform to the VME and VXI specifications, it passes the bus lines through.
Priority Interrupt Bus
The E1439 generates interrupts by applying a programmable mask to its status bits. The priority
of the interrupt is determined by the interrupt priority setting in the control register.
Utility Bus
The VME specification provides a set of lines collectively called the utility bus. Of these lines, the
E1439 only uses the SYSRESET* line.
Pulling the SYSRESET* line low (a hardware reset) has the same effect as setting the reset bit in
the Control Register (a software reset), with two exceptions. The exceptions are:
•
•
The Control Register is also reset.
All logic arrays are reloaded.
Reloading the logic arrays enables the hardware reset to recover from power dropouts, which may
invalidate the logic setup.
Local Bus
The VXI specification includes a 12-wire local bus between adjacent module slots. Using the
local bus, Agilent Technologies has defined a standard byte-wide ECL protocol that transfers data
from left to right at up to 100 Mbyte/second. The E1439D can be programmed to output its data
using this high speed port instead of the VME data output register. The Data Port Control register
determines which output port is used.
209
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
VXI backplane connections
Trigger Lines
The VXI specification provides 8 TTL and 2 ECL trigger lines that can be used for module-
specific signaling. When programmed in a multi-input configuration, the E1439 uses the ECL
trigger lines, designating ECLTRG0 as the SYNC line and ECLTRG1 as the 10 MHz Reference
Clock (CLOCK). These lines can be extended to other mainframes using the SMB connectors on
the front panel. The SMB connectors can also be used for intermodule synchronization within a
mainframe, leaving the ECL trigger lines free for other purposes.
The CLOCK line is the master reference clock for a synchronous system of multiple E1439
modules. Only one E1439 module in each mainframe is allowed to drive this line.
The SYNC line is used to send timing signals among E1439 modules in a multi-input system. Any
module that drives this line must do so synchronously with CLOCK so that transitions on SYNC
do not occur near the rising edge of CLOCK. This ensures that all modules with a synchronous
state machine clocked on CLOCK interprets SYNC in a consistent manner for each cycle of the
state machine. SYNC is used for synchronizing, arming, and triggering signals between E1439
modules. The interpretation of the SYNC line is dependent on the states of the module described
SYNC line synchronously via the control register.
210
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
Block diagram and description
More detailed descriptions of selected elements in the diagram below appear further on in this
section.
Clock to/from
other modules
In
Intermodule
Clock SMB
Out
External
Clock/Reference
BNC
Clock
Generation
XMT RCV
Control
Register
Fiber Optic
Analog
Input
Input
Signal
Sampling
ADC
Interface
(E1439D only)
SDRAM
Memory
Local Bus
(1439D only)
Zoom and
Decimation
Filtering
Data
Output
Memory
Controller
Send Data
Register
External
Trigger
Trigger
Detection
Trigger
In
Intermodule
Sync SMB
Sync to/from
other modules
Out
211
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
Input
When baseband mode is selected, the input signal goes through the lower path on the diagram
below. In this mode, there is only one input range and the anti-alias filter (36 MHz bandwidth) can
be switched out.
The baseband input is terminated by the input amplifier that follows the baseband anti-alias filter.
The bandwidth of the baseband input is 36 MHz. There is no variable attenuation for the baseband
path. This results in a single range for baseband mode.
When 70 MHz IF mode is selected, the input signal goes through the upper path on the diagram
below. Amplifiers and attenuators allow the full-scale range to be set with 1 dB resolution. The
70 MHz IF input is terminated by either a preamp or a programmable attenuator, either of which
follows a 52 MHZ high pass filter.
The combination of the pre-amplification and programmable attenuation results in the 0 to 48
ranges setting for the 70 MHz IF mode. After this, a combination of low pass and high pass filters
realizes the 70 MHz IF filter (in a 52 to 88 MHz pass band that provides anti-alias protection).
Signals within the pass band are next downconverted by a mixer with a fixed 95 MHz LO
frequency. The mixer translates the 52 to 88 MHz span to 43 to 7 MHz. The mixer output is low
pass filtered, preserving the 43 to 7 MHz band, and amplified before being sampled by the A to D
converter at a 95 MHz sample rate.
212
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
Attenuator
1-16 dB
Bandpass
Filter
52-88 MHz
Amplifier
12 dB
Amplifier
6dB
Highpass
Filter
Attenuator
1-16 dB
52 MHz
IF
Lowpass
Filter
0-43 MHz
Baseband
95 MHz
IF
Baseband
Lowpass
Filter
0-36 MHz
Bypass
Signal
Sampling
ADC
Offset
DAC
To Digital Filters
AC
DC
Clock Generation
The source for a clock signal is the 95 MHz crystal oscillator inside the E1439. This oscillator can
free run or be locked to an external reference signal through the front-panel BNC "Ext
Clock/Ref". This signal can be TTL, ECL, or sine wave. The oscillator can also be locked to a
reference routed via the backplane. A 2.5 MHz reference signal is available to be routed out the
front panel or the backplane to lock additional E1439s.
213
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
In a system using more than one E1439, the ADCs can be synchronized by programming them to
use a common SYNC reference, available via the front panel or backplane. One of the modules
can be the master that drives this SYNC line. This master SYNC can be extended to other
mainframes by connecting an "Intermodule Clock" SMB connector to an "Intermodule Clock"
SMB connector on an E1439 in the second mainframe.
Ext Clock/Ref
BNC.
VXI
VXI Bus
BNC
SMB
Ref Clk
Sample
Clk. to ADC
95 Mhz
95 MHz
VCXO
÷
4
1
Phase
detector
or
Intermodule
Clock
SMB
÷
2.5 MHz
÷
38
VXI
Local
Anti-alias Filter
Since the ADC sample rate is 95 MHz, a complete representation of the input signal can be
achieved only for bandwidths up to 47.5 MHz (47.5 - 95 MHz for the 70MHz IF and 0 - 47.5
MHz for baseband). Frequency components outside the 47.5 MHz bandwidth can cause
ambiguous results (aliasing).
The 70 MHz IF filter attenuates frequency components both below and above 52 - 88 MHz to
reduce aliasing. This filter rejects signals from 0 - 43 MHz and 102 - 200 MHz to 78 dB. Thus
the 52 - 88 MHz frequency range of the sampled signal is 78 dB alias free. The filter's transition
bands from 43-52 MHz and 88 - 102 MHz affects flatness and allows some aliasing in the
sampled signal frequency ranges 47.5-52 MHz and 88 - 95 MHz.
The baseband anti-alias filter attenuates high frequency components to reduce aliasing. This filter
is flat to 36 MHz and rejects signals above 59 MHz to 65 dB. Thus the 0-36 MHz frequency range
of the sampled signal is 65 dB alias free. The filter's transition band from 36 to 59 MHz affects
flatness and allows some aliasing in the sampled signal frequency range 36 to 47.5 MHz.
In cases where alias filtering is not necessary, the E1439 can be programmed to bypass the anti-
alias filter. To avoid incorrect results, the alias filter bypass mode should be used with caution; it
is not recommended for normal operation.
214
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
Sampling ADC
The heart of the E1439 is a precision analog-to-digital converter (ADC). The ADC generates 12
bit outputs at a sample rate up to 95 MHz. This raw unfiltered data can be output via the E1439D’s
fiber optic interface.
Zoom and Decimation Filtering
This section uses digital circuitry to allow programmable changes in the center frequency and
signal bandwidth of the E1439 (zoom). This is done at high speed for real-time operation.
Bandwidth is controlled by a chain of digital low-pass filters (see the diagram below). Each of the
filters reduces the bandwidth by a factor of two (decimation). With the ADC sample rate (fs) set to
the standard internal 95.0 MHz rate, the bandwidth choices are 40 MHz, 20 MHz, 10 MHz,…76
Hz around the programmed local-oscillator (LO) frequency.
Real and imaginary components of the signal are each computed to 24-bit precision, so the
complex output of the decimation filtering block contains 48 bits. Whether or not all of these bits
are stored in memory is programmable.
16
2x
Decimate
2x
Decimate
/
Fs/219
Fs/8
Fs/4
16
/
Local
Oscillator
24
/
Input
from
ADC
Real
12
/
DATA OUTPUT SELECTION AND MULTIPLEXING
24
/
Imag
90 deg
Phase
Shift
16
2x
Decimate
Fs/219
2x
Decimate
Fs/8
/
Fs/4
Memory Controller and SDRAM Memory
The E1439 can be programmed to save the real component of the signal or to save the complete
complex signal. The data precision can be set to 12 bits or 24 bits. Thus, each sample occupies
from 1.5 to 6 bytes of memory in the SDRAM. The memory controller block packs the selected
data into 72-bit words, which are stored in the SDRAM memory. Since the standard SDRAM
depth is 2M × 72 bits, it is possible to hold up to 12-Msamples in memory at one time.
215
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
The memory may be configured either in block mode or in continuous mode. In block mode, data
collection initiated by a trigger proceeds until a specified block length is captured. The
measurement is then paused so that the data can be read out. This mode is useful in capturing
single transient events or whenever the output data rate is too high to be read and processed in real
time.
In continuous mode, data collection is initiated by a trigger and continues as long as the SDRAM
memory does not overflow. Data may be read out of the memory while the measurement is in
progress. If the reading of data is sufficiently fast, the SDRAM memory never overflows and the
measurement continues indefinitely. If the SDRAM memory should ever overflow then the
measurement stops and waits for data to be read out, the measurement to be re-armed, and a new
trigger to be initiated. This mode of operation is useful for real-time applications that employ a
high speed signal processor to continuously read and operate on each sample of data. Data can be
read from the SDRAM memory in bursts to accommodate pauses for such things as disk access
times or block mode computations.
The effective trigger time may be offset from the actual trigger event by programming a trigger
timing offset. See the Technical Specifications for the limits of the pre-trigger and post-trigger
offset.
Data Output
You can transfer data from the E1439C or E1439D via the VMEbus. With the E1439D, you can
also transmit data via a fiber optic interface and the Local Bus.
To use the VXI backplane, the E1439 can be programmed so that the output of the memory
controller is sent to the Send Data register. The 12- or 24-bit sample data is zero-padded out to 16
or 32 bits. The register can then be read by any controller compatible with the VME standard.
Maximum data flow is about 2 MB/s.
The local bus allows data transfers over a high speed 8-bit ECL bus to an adjacent module (to the
right) in the VXI mainframe. Multiple adjacent E1439D modules can send data to one signal
processor module. The signal processor must be one that supports the Agilent Technologies ECL
local bus protocol, such as the Agilent E9821. In addition to higher speed (up to 66 MB/s), the
local bus has the advantage that data can be output at the same time that control signals are being
sent over the VXI backplane.
The E1439D’s fiber optic interface provides data rates greater than 200 MB/s. It is implemented
as a serial FPDP (front panel data port). The serial FPDP is a high-speed low-latency serial
communication link.
In all three of the data output modes, the samples must be read out sequentially, offset by the
trigger delay.
Fiber Optic Interface
The E1439D’s fiber optic interface can transmit filtered or unfiltered data, copy data from its
receiver to its transmitter, or append data to copied data. The interface’s receiver port is not a data
receiver—it merely copies data to its transmitter port and detects FPDP control signals (e.g., PIO
bits and flow control signals).
216
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
Trigger Detection
The trigger event used to start a measurement can be generated in five different ways:
•
•
•
•
•
Software
External
ADC threshold
Log-magnitude
Immediate
External and ADC threshold triggering modes support slope selection. In ADC or log-magnitude
mode, the trigger threshold has hysteresis (20 ADC sample counts for the ADC trigger, and 1.5
dB for the magnitude trigger) to prevent noise-generated triggers of the wrong slope. Log
magnitude triggering is based on the magnitude of the complex signal after zooming and filtering
and only supports positive slope trigger detection.
The external trigger mode is selectable between ECL and TTL. The trigger signal must be
connected to the Ext Trigger BNC connector on the front panel. In ECL trigger mode, this input is
ac coupled with an impedance of 1 k ohm so any signal with a sharp rising or falling transition
greater than 100 mV (i.e., TTL or ECL) can be used as an external trigger source. Minimum pulse
width is 300 ns. Since the ECL trigger input is an ac-coupled comparator with hysteresis, its
initial state is unknown. Before using it, a trigger pulse should be applied to the Ext Trigger
connector to initialize it to a known state. In TTL trigger mode, the external trigger input is dc
coupled with an impedance of 1 k ohm and uses normal TTL level thresholds (0.8 V and 2.0 V).
Note
External TTL trigger is not supported on E1439A modules with serial numbers lower than
US41140000.
Any E1439 module can trigger other E1439 modules using a shared sync line on the VXI
backplane. This Sync line can be extended to other mainframes by connecting a "Sync" SMB
connector in one mainframe to a "Sync" SMB connector on an E1439 in the second mainframe.
All modules in a synchronous system are triggered on the same ADC sample.
The E1439 hardware samples the trigger source once every sample clock, so the trigger condition
must be present for at least one sample clock in order to be recognized.
Control Registers
The E1439 module is controlled by firmware using registers mapped into the 16-bit VXI address
space.
217
Download from Www.Somanuals.com. All Manuals Search And Download.
Module Description
Block diagram and description
218
Download from Www.Somanuals.com. All Manuals Search And Download.
Replacing Assemblies
Replaceable parts
Replaceable parts
The Agilent E1439 must be returned to Agilent Technologies for service or calibration. Exchange
modules are shipped with no memory so you must move the memory from the original module to
the replacement module. This section shows you how to add or replace memory modules.
For information on upgrading your module or replacing parts, contact your local Agilent
Technologies sales and service office. See the Technical Specifications or the Agilent
Technologies web site (http://www.agilent.com) for a list of office locations and addresses.
Ordering Information
To order parts in the U.S., call Agilent Technologies Parts Direct Ordering at (877) 447-PART or
go to https://www.parts.agilent.com/. Outside the U.S., please contact your local Agilent
Technologies parts center.
220
Download from Www.Somanuals.com. All Manuals Search And Download.
Replacing Assemblies
Replaceable parts
Code Numbers
The following table provides the name and location for the manufacturers’ code numbers (Mfr.
Code) listed in the replaceable parts table.
Mfr. No.
28480
Mfr. Name
Location
Palo Alto, CA U.S.A.
Agilent Technologies, Inc.
Instrument Specialties Co. Inc.
Phelps Dodge Corp.
03647
04637
16044
07606
04605
05610
06363
Delaware Water Gap, PA U.S.A.
New York, NY U.S.A.
Kingston Technology Corp.
ITW Inc. / Medalist
Fountain Valley, CA U.S.A
Glenview, IL U.S.A.
Fischer Special Mfg. Co
Textron, Inc.
Cincinnati, OH U.S.A.
Providence, RI U.S.A.
Oudensha America Inc.
Elk Grove Village, IL U.S.A.
221
Download from Www.Somanuals.com. All Manuals Search And Download.
Replacing Assemblies
Replaceable parts
Assemblies
Caution
The module is static sensitive. Use the appropriate precautions when removing, handling,
and installing to avoid damage.
MP002
MP023
MP003
MP024
M1 or M2
MP004
MP007
MP018
MP001
MP015
MP005
MP008
MP016
MP019
MP017
MP020
MP012
MP010
Mp018
MP021
MP022
MP005
MP014
MP016
MP013
MP006
MP009
MP011
MP013
MP017
222
Download from Www.Somanuals.com. All Manuals Search And Download.
Replacing Assemblies
Replaceable parts
Agilent Part
Number
Ref Des
Qty
Description
E1439A EXCHANGE MODULE
MfrCode
Part Number
E1439-69201
E1439-69211
E1439-69202
E1439-69212
1818-7889
1
1
1
1
1
2
2
1
5
1
2
2
0.4
1
1
1
1
1
1
1
1
2
1
1
2
2
2
3
3
4
4
1
1
28480
28480
28480
28480
16044
E1439-69201
E1439-69211
E1439-69202
E1439-69212
KTM66X72/16
KGM100X72C3/128
KVR100X72C3/512
E1439-00203
0515-1135
E1439B EXCHANGE MODULE
E1439C EXCHANGE MODULE
E1439D EXCHANGE MODULE
M1
M2
M2
SYNC DIMM 16MB 2X72 66MHZ - 16 M mem
1818-7901
SYNC-DIMM 16MX72 PC100 168-DIMM - 128 M mem 16044
SYNC-DIMM 16MX72 PC100 168-DIMM - 512 M mem 16044
1818-8606
MP001
MP003
MP004
MP005
MP006
MP007
MP008
MP008
MP008
MP008
MP009
MP010
MP011
MP012
MP013
MP014
MP015
MP016
MP017
MP018
MP019
MP020
MP021
MP022
MP023
MP024
E1439-00203
0515-1135
SHTF−BOTTOM COVER
28480
05610
28480
28480
03647
03647
28480
28480
28480
28480
06363
06363
28480
28480
28480
28480
28480
07606
07606
28480
07606
04605
04637
04637
05610
05610
SCREW-MACH M3 x 0.5 25MM-LG
GSKT−RFI-FRT PNL
E1438-40601
E1485-40601
8160-0686
E1438-40601
E1485-40601
00786-185
GSKT−RFI-BTTM CVR
RFI STRIP−FINGERS
8160-0634
RFI STRIP−FINGERS
0097-0611
E1439-00234
E1439-00244
E1439-00235
E1439-00245
7121-7893
FRONT PANEL 'E1439A'
E1439-00234
E1439-00244
E1439-00235
E1439-00245
7121-7893
FRONT PANEL 'E1439B'
FRONT PANEL 'E1439C'
FRONT PANEL 'E1439D'
PLT-NAME 'SPARK'
7121-7965
PLT-NAME VXI 'PLUG&PLAY'
MOLD−TOP
7121-7965
E1400-45101
E1400-45102
E1400-00610
E1400-45011
E1400-45008
0515-0664
E140045101
E140045102
E1400-00610
E1400-45011
E1400-45008
0515-0064
MOLD−BOTTOM
SCR-ASM SHLDR
MOLD TOP−'SPARK'
MOLD BTTM−'VXI'
SCREW MACHINE ASSEMBLY M3 X 0.5 12MM-LG
SCREW SPCL M2.5 X 0.45 17MM-LG PAN-HD
CAST
0515-2733
0515-2733
E1400-40104
2190-0068
E1400-40104
1924-02NP
WASHER-LK INTL T 1/2 IN .505-IN-ID
NUT-HEX-DBL-CHAM 1/2-28-THD .078-IN-THK
WASHER-LK INTL T NO. 10 .195-IN-ID
NUT-HEX-DBL-CHAN 10-32-THD .067-IN-THK
SCREW-MACHINE M3 X 0.5 6MM-LG
SCREW-MACHINE M3 X 0.5 10MM-LG
2950-0154
2950-0154
2190-0124
500222
2950-0078
0515-0430
500220
0515-0430
0515-1103
0515-1103
223
Download from Www.Somanuals.com. All Manuals Search And Download.
Replacing Assemblies
Replaceable parts
To remove the top cover
224
Download from Www.Somanuals.com. All Manuals Search And Download.
Replacing Assemblies
Replaceable parts
226
Download from Www.Somanuals.com. All Manuals Search And Download.
Glossary
anti-alias filter
An analog low pass filter inserted the signal path to eliminate
undesirable frequency components which appear under the alias
of another (baseband) frequency. For more information, see
Spectrum and Network Measurements available through your
Agilent Technologies Sales Office.
baseband
block mode
block size
A band in the frequency spectrum that begins at zero. In contrast
a zoomed band is centered on a specific center frequency.
A mode in which the Agilent E1439 stops taking data as soon as a
block of data has been collected.
The number of sample points in a block of data. For complex
data, block size is the number of complex data pairs per data
block.
BOF
A fiber frame that acts as a synchronizing event.
continuous mode
A mode in which the Agilent E1439 collects data continuously. It
does not stop taking data unless the FIFO overflows.
data frames
A fiber frame that contains 0 to 512 32-bit data words.
decimation filter
A digital filter that simultaneously decreases the bandwidth of the
signal and decreases the sample rate. The digital filter provides
alias protection and increases frequency resolution. For more
information, see Spectrum and Network Measurements available
through your Agilent Technologies Sales Office.
EOE
A fiber frame that contains the last 4 data bytes in an epoch.
One or more data frame followed by an EOE.
A series of 32-bit values that can either be data or an ordered set.
A First In, First Out buffer and controller used to transmit data.
Front panel data port.
epoch
fiber frame
FIFO
FPDP
LO
Local oscillator
VCXO
zoom
Voltage controlled crystal oscillator
Selects a frequency span around a specified center frequency. This
is also known as band selectable operation.
227
Download from Www.Somanuals.com. All Manuals Search And Download.
228
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
Numerics
clock and sync 31
70 MHZ IF input 212
9821, using with 42
functional overview 20
BOF 44
buffer amplifier, selecting 143
bus transfers, data 42
A
ac coupling, selecting 141
ADC, circuit description 215
address, module
Agilent E9821, using with 42
alias filter
C
C programming
overview 21
source library 22
cables
fiber optic 6
alias protection
analog filter
calibration data, reading 75
center frequency
analog input
See input 212
setting 128
circuit description 211
cleaning
anti-alias filter
circuit description 214
default 30
fiber optic connectors 6
clock
ADC source 72
described 30
using 30
circuit description 213
distribution 32
divider 73
append fiber mode 50
appending data on local bus 148
arbitration bus, DTB 209
arm state, described 23
auto-ranging 137
autozero 134
easy setup 78
external reference 34
external sample frequency 76
front panel, selecting 131
generation 213
resetting 77
setup 31
source, specifying 72
sync source 178
closing an instrument session 86
complex data output, specifying 91
configuring a VXI system 13
continuous mode, explained 23
control registers, circuit description 217
conversion, range 138
copy fiber mode 46
corrections, dc offset 134
coupling, input 141
CRC 44
B
backplane connections 209
bandwidth
control circuit description 215
filter selection 120
baseband
range,fixed 137
baseband input 212
baseband measurements
complex 128
overview 30
block
mode, explained 23
size, determining 91
block diagram
analog input 212
circuit description 211
229
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
D
fiber frame 44
data
on local bus 148
fiber modes 45
fiber optic
output, circuit description 216
port, selecting 92
data formatting
circuit description 215
specifying 90
cables 6
cleaning connectors 6
fiber overflow 44
FIFO OV 44
filter bandwidth
setting 120
filter decimation
filtering
data frame 44
data transfer bus 209
dc coupling, selecting 141
dc offset correction 134
decimation counters, synchronizing 151
decimation filter
overview 30
and triggering 25
changes 39
circuit description 215
described 30
firmware
selecting 120
DEVICE_NPRESENT 13
digital filter
upgrading 12
firmware revision, determining 169
floating input, selecting 143
flow control 44
DIR 44
drivers
installing Windows 12
formatting data
frequency
upgrading 12
DTB arbitration bus 209
center, changing 39
center, overview 30
center, setting 128
external sample clock 76
synchronizing changes 129
front panel
clock output 173
connectors 208
hardware 208
E
E9821, using with 42
ending an instrument session 86
EOE 44
epoch 44
error messages
listed 199
reading 102
reading firmware 103
example
signal distribution 33
software 15
G
external sample clock 41
trigger delay 25
trigger phase 25
example programs
C 16
generate fiber mode 48
generating
data on local bus 148
interrupts 146
GO/STOP 44
grounding 209
using 16
Visual Basic 16
Windows 15
H
hardware interface 13
hardware reset 168
external
clock frequency 76
reference clock 34
sample synchronization 40
trigger, described 217
trigger, selecting 185
I
IDLE 44
idle state
described 23
initializing the I/O driver 132
F
FEOF 44
230
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
initiating
mode
measurement 23
output 90
model number, viewing 158
module model number 158
multiple mainframe systems 35
multiple modules
an instrument session 132
input
analog 212
baseband 212
block diagram 212
circuit description 212
coupling 141
IF 212
setup 141
inserting data on local bus 148
N
normal data fiber frame 44
NRDY 44
numeric variable values 190
installing
hardware 3
memory 225
module 3
software 12
O
off fiber mode 45
offset correction, dc 134
online help
Windows libraries 12
instrument state
recalling 174
saving 175
interface, hardware 13
interrupt
generation 146
managing 74
mask, setting 146
priority, setting 146
invalid measurement conditions 121
Windows 14
options, identifying 157
output formatting 90
output mode 92
overflow, fiber 44
overview
clock and sync 31
data transfer 42
frequency and filtering 30
measurement state sequence 23
programming 21
synchronization 39
L
local bus
backplane connections 209
described 209
resetting 150
P
selecting 92
packaging the module 7
parameter variable values 190
parts, ordering or replacing 220
phase
and delay in triggering 25
and trigger with multiple modules 40
PIO 44
pipelining data on local bus 148
port selection, data 92
power supplies 209
setting mode 148
local oscillators
phase and triggering 182
synchronizing 151
logical address
default 3
selecting 3
M
power-up state, forcing 167
prescaling clock reference 166
priority interrupt bus 209
programming overview 21
measurement
initiating 151
invalid conditions 121
states, described 23
measurement loop 23
memory
circuit description 215
installing 225
size, determining 88
MEOF 44
R
range
auto 137
conversion 138
input 142
raw data, scaling 89
231
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
raw fiber mode 47
signal, asserting and releasing 151
sync with data fiber frame 44
sync without data fiber frame 44
synchronizing
real data output, specifying 91
recalling instrument state 174
resetting
bad clock 77
the local bus 150
resolution selection, data 92
resource manager, using 13
return values listed 199
revision, firmware 169
revisions, driver 12
decimation counters 151
filter decimation 123
local oscillators 151
T
S
terminating an instrument session 86
theory of operation 211
timing
setup 31
signals 210
sample clock
frequency 76
sample output rate, selecting 121
sample rate
and decimation 120
determining 94
transfer size, determining and specifying 96
transmission mode, local bus 148
transporting the module 7
trigger
and decimation filtering 25
and phase with multiple modules 40
backplane lines 209
delay and phase 25
delay setting 184
delay, actual 181
detection, circuit description 217
external 217
generation, selecting 184
in multiple modules 181
level setting 184
lines,extending 210
phase, actual 182
slope, selecting 185
state 183
state, described 23
type, selecting 185
saving instrument state 175
scale factor 89
scaled data, reading 159
scaling raw data 89
SDRAM memory 215
self test, performing 170
SEOF 44
serial FPDP 43
serial number, getting 172
setting the range automatically 137
sharing clock and sync 32
shipping the module 7
smb
clock output 173
connectors 208
connectors, terminating 33
SOF 44
state
recalling 174
saving 175
states, measurement 23
status register
and interrupts 146
bits defined 176
storing the module 7
SWDV 44
U
unscaled data, reading 162
upgrades 12
utility bus 209
sync
V
and frequency change 129
and measurement state 23
and trigger 183
clock source 178
decimation filter 123
direction 179
variable values 190
verifying operation 15
Visual Basic
example program 16
VME
bus transfers 42
output, selecting 180
232
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
port, selecting 92
reading data on 159
VXI
backplane connection 209
interface, configuring 13
W
Windows
example program 15
installing libraries 12
programming overview 21
Z
zoom measurements
and phase 25
and triggering 25
circuit description 215
overview 30
selecting 128
setting center frequency 128
233
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
234
Download from Www.Somanuals.com. All Manuals Search And Download.
Need Assistance?
If you need assistance, contact your nearest Agilent Technologies Service Office. You can find a
list of local service representatives on the Web at: http://www.agilent.com/. If you do not have
access to the internet, one of the centers listed below can direct you to your nearest representative.
If you are contacting Agilent Technologies about a problem with your Agilent E1439 module,
please provide the following information:
Model number:
Software version:
Serial number:
Options:
Date the problem was first encountered:
Circumstances in which the problem was encountered:
Can you reproduce the problem?
What effect does this problem have on you?
United States
Canada
1 800 452 4844
1 877 894 4414
(905) 206 4120 (FAX)
Europe
(31 20) 547 2323
(31 20) 547 2390 (FAX)
Japan
(81) 426 56 7832
(81) 426 56 7840 (FAX)
Latin America
Australia
(305) 269 7500
(305) 269 7599 (FAX)
1 800 629 485
(613) 9272 0749 (FAX)
New Zealand
Asia-Pacific
0800 738 378
64 4 495 8950 (FAX)
(852) 3197 7777
(852) 2506 9284 (FAX)
235
Download from Www.Somanuals.com. All Manuals Search And Download.
About this edition
December 2002: This edition documents the transition from the Agilent E1439A to the
Agilent E1439C and from the Agilent E1439B to the Agilent E1439D. The A and B models will
become obsolete. The Agilent E1439C has no local bus capability.
April 2001: This edition documents the new fiber optic interface on the Agilent E1439B. In
addition, this edition documents the new external TTL trigger on all Agilent E1439B modules and
on Agilent E1439A modules with a serial number greater than US41140000.
May 2000: First Edition
236
Download from Www.Somanuals.com. All Manuals Search And Download.
|