Agilent Technologies Network Card E1439 User Manual

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 Windows VXIplug&play drivers . . . . . . . . . . . . . . . . . . . .12  
To use the VXIplug&play Soft Front Panel (SFP). . . . . . . . . . . . . . . . . .15  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Contents  
8
Download from Www.Somanuals.com. All Manuals Search And Download.  
Contents  
VXIplug&play Syntax Quick Reference . . . . . . . . . . . . . . . . . . . . . . . .203  
9
Download from Www.Somanuals.com. All Manuals Search And Download.  
Contents  
10  
Download from Www.Somanuals.com. All Manuals Search And Download.  
1
1
Installing the Agilent E1439  
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.  
2
2
Getting Started with the Agilent E1439  
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 Users 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.  
3
3
Using the Agilent E1439  
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 #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 #2 - “Front slave,  
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 # 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 #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_  
EXT_SAMP clock setups (see “age1439_clock_setup” on page 78). These setups use the signal  
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  
mentioned above are described in “Functions listed alphabetically” in chapter 4.  
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  
a loss of data. This may occur in Append fiber mode if the available fiber bandwidth capability is  
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.  
4
4
Agilent E1439 Programmer's Reference  
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  
follow the instructions in “Getting Started and Introduction” in chapter 2 to assure proper  
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_ext_sample_sync (on page 104)  
age1439_ext_sample_sync_get (on page 104)  
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_input_range_convert (on page 138)6  
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_fiber_setup (on page 112)  
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)  
age1439_fiber_BOF (on page 112)  
ROUTE  
CONFIGURE  
LOW LEVEL  
age1439_fiber_BOF_get (on page 113)  
age1439_fiber_crc (on page 113)  
age1439_fiber_crc_get (on page 113)  
age1439_fiber_flow_control (on page 114)  
age1439_fiber_flow_control_get (on page 114)  
age1439_fiber_mode (on page 113)  
age1439_fiber_mode_get (on page 114)  
age1439_fiber_transfer_rate (on page 114)  
age1439_fiber_transfer_rate_get (on page 114)  
age1439_epoch_generate (on page 98)  
age1439_epoch_generate_get (on page 98)  
age1439_header (on page 99)  
age1439_epoch_header_get (on page 100)  
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)  
age1439_fiber_clear (on page 106)  
ROUTE  
CONTROL  
age1439_fiber_error_clear (on page 107)  
age1439_fiber_LED_get (on page 110)  
age1439_fiber_rcv_signals_get (on page 111)  
age1439_fiber_signal_get (on page 115)  
age1439_fiber_verify (on page 116)  
age1439_fiber_xmt_BOF (on page 117)  
age1439_fiber_xmt_signals (on page 118)  
age1439_fiber_xmt_signals_get (on page 118)  
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_error_message (on page 102)  
age1439_error_query (on page 103)  
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:  
“Initializing and closing” on page 61: You must initialize the I/O driver and set up each module  
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.  
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  
age1439_init (on page 132) initializes the I/O driver for a module  
age1439_close (on page 86) closes the module's software connection  
Analog setup  
age1439_input_setup (on page 141) sets all the analog input parameters  
age1439_input_alias_filter (on page 141) include/bypass the built-in analog anti-alias filter  
age1439_input_alias_filter_get (on page 141) gets the anti-alias filter state  
age1439_input_autozero (on page 141) nulls out the input dc offset in baseband mode  
age1439_input_coupling (on page 141) selects ac or dc input coupling  
age1439_input_coupling_get (on page 141) get the input coupling type  
age1439_input_offset (on page 135) sets the dc offset settings for the current range  
age1439_input_offset_get (on page 135) gets the dc offset settings  
age1439_input_offset_save (on page 136) saves the dc offset settings in NVRAM  
age1439_input_range (on page 141) sets the full scale input range  
age1439_input_range_auto (on page 137) performs auto-ranging  
age1439_input_range_convert (on page 138) converts input range to volts  
age1439_input_range_get (on page 141) gets the input range  
age1439_input_signal_path (on page 141) selects baseband or IF signal path  
age1439_input_signal_path_get (on page 141) gets the signal path state  
age1439_input_signal (on page 141) connect/disconnect the input signal to the input ampli-  
fier  
age1439_input_signal_get (on page 141) gets the input buffer amplifier state  
age1439_state_save (on page 175) saves the current module state  
age1439_state_recall (on page 174) recalls a previous module state  
Data format  
age1439_data_setup (on page 90) sets all format and data output flow parameters  
age1439_data_blocksize (on page 90) determines the size of the output data block  
age1439_data_blocksize_get (on page 90) gets the output data block size  
age1439_data_delay (on page 90) determines FIFO delay in continuous mode  
age1439_data_delay_get (on page 90) gets FIFO delay  
age1439_data_memsize_get (on page 88) returns module's memory size  
age1439_data_mode (on page 90) selects block mode or continuous mode  
age1439_data_mode_get (on page 90) gets the data mode  
age1439_data_port (on page 90) selects VME bus, local bus or fiber interface for output  
transmission  
age1439_data_port_get (on page 90) gets the output port designation  
age1439_data_resolution (on page 90) selects 12 or 24 bits data resolution  
age1439_data_resolution_get (on page 90) gets the data resolution  
age1439_data_scale_get (on page 89) gets the data scale factor used to convert raw data to  
volts  
age1439_data_type (on page 90) selects real or complex output data  
age1439_data_type_get (on page 90) gets output data type  
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_xfersize (on page 96) allows a specified amount of data to be read before an  
entire block has been acquired.  
age1439_data_xfersize_get (on page 96) gets the data transfer size  
61  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Agilent E1439 Programmer's Reference  
Functions listed by functional group  
age1439_lbus_mode (on page 148) sets the transmission mode of the local bus  
age1439_lbus_mode_get (on page 148) gets the local bus transmission mode  
age1439_lbus_reset (on page 150) resets the local bus  
age1439_lbus_reset_get (on page 150) gets the local bus reset state  
Debugging  
age1439_cal_get (on page 75) gets last calibration date of specified board  
age1439_clock_recover (on page 77) allows recovery from an out-of-spec external sample  
clock  
age1439_driver_debug_level (on page 97) sets the debug level  
age1439_driver_debug_level_get (on page 97) gets the debug level  
age1439_error_message (on page 102) returns error information obtained from function  
calls  
age1439_error_query (on page 103) queries the module for the most recent error  
age1439_status_get (on page 176) retrieves the module's status register information  
age1439_meas_status_get (on page 156) - retrieves the current measurement status register  
information  
age1439_self_test (on page 170) performs a self-test on the module and returns the result  
Digital processing  
age1439_combo_setup (on page 87) a quick way to set blocksize, center frequency, and sig-  
nal bandwidth with one function  
age1439_filter_setup (on page 120) sets the digital filter bandwidth and decimation filter  
parameters  
age1439_filter_bw (on page 120) selects a signal filter bandwidth  
age1439_filter_bw_get (on page 120) gets the signal filter bandwidth  
age1439_filter_decimate (on page 120) enables/disables an extra factor of 2 decimation  
age1439_filter_decimate_get (on page 120) gets current state of extra decimation  
age1439_filter_sync (on page 123) synchronizes the decimation filter counter  
age1439_frequency_setup (on page 128) sets all zoom center frequency parameters  
age1439_frequency_center (on page 128) sets the center frequency  
age1439_frequency_center_get (on page 128) gets the current center frequency  
age1439_frequency_center_raw (on page 125) quickly sets the center frequency  
age1439_frequency_center_raw_compute (on page 127) quickly calculates the values for  
age1439_frequency_center_raw  
age1439_frequency_center_raw_get (on page 125) gets the raw center frequency  
age1439_frequency_cmplxdc (on page 128) selects a complex baseband measurement  
age1439_frequency_cmplxdc_get (on page 128) gets the state of the baseband measurement  
mode  
age1439_frequency_sync (on page 128) prepares the module for a synchronous frequency  
change  
age1439_frequency_sync_get (on page 128) gets the state of the synchronous change mode  
Fiber Interface  
age1439_fiber_BOF (on page 112) controls whether or not automatically generated  
BOF events are transmitted  
age1439_fiber_BOF_get (on page 112) returns the current value of bofEnable  
age1439_fiber_clear (on page 106) clears all data from the fiber interface FIFO buffers  
age1439_fiber_crc (on page 112) sets up the fiber interface to transmit and receive cyclic  
62  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Agilent E1439 Programmer's Reference  
Functions listed by functional group  
redundancy checks.  
age1439_fiber_crc_get (on page 112) returns the current status of the cyclic redundancy  
check setting.  
age1439_fiber_error_clear (on page 107)clears fiber errors from the status register  
age1439_fiber_error_get (on page 108) returns the value of the fiber interface error reg-  
ister.  
age1439_fiber_flow_control (on page 112) configures fiber flow control, enabling or  
disabling transmitter flow control signals.  
age1439_fiber_flow_control_get (on page 112) returns the current status of the fiber  
flow control function.  
age1439_fiber_LED_get (on page 110) returns a data register indicating the state of the  
front panel XMT/RCV led’s.  
age1439_fiber_mode (on page 112) selects the fiber interface mode.  
age1439_fiber_mode_get (on page 112) gets the current mode of the fiber interface.  
age1439_fiber_rcv_signals_get (on page 111) displays the current value of PIO1, PIO2,  
DIR and NRDY bits from the fiber receiver.  
age1439_fiber_setup (on page 112) sets the parameters associated with the fiber inter-  
face.  
age1439_fiber_signal_get (on page 115) returns a value indicating whether or not an  
optical signal is detected by the optical fiber interface receiver.  
age1439_fiber_transfer_rate (on page 112) selects the transfer rate for fiber optic data.  
age1439_fiber_transfer_rate_get (on page 112) gets the current selection of transfer  
rate for fiber optic data.  
age1439_fiber_verify (on page 116) proforms a verification of the fiber interface using  
either an internal of external signal path.  
age1439_fiber_xmt_BOF (on page 117) sends a BOF event used for synchronization  
with other fiber interfaces before data acquisition begins.  
age1439_fiber_xmt_signals (on page 118) sets the transmitted values of any PIO1,  
PIO2, DIR or, NRDY FPDP control signals on the fiber transmitter  
age1439_fiber_xmt_signals_get (on page 118) displays the current value of PIO1,  
PIO2, DIR and NRDY bits from the fiber transmitter.  
age1439_epoch_generate (on page 98) controls whether or not data epochs are gener-  
ated.  
age1439_epoch_generate_get (on page 98) gets the current value of epochGenerate  
age1439_epoch_header (on page 98) sets the value of the first 32 bits of the epoch  
header. It can be used by the optical receiver to direct where to route and/or how to  
process associated epoch data.  
age1439_epoch_header_get (on page 98) returns the header value and the value of the  
increment count for the epoch header.  
age1439_epoch_header_enable (on page 98) controls whether or not epoch headers are  
generated  
age1439_epoch_header_enable_get (on page 98) returns the current value of header  
enable.  
age1439_epoch_setup (on page 98) sets the parameters relevant to the transmission of  
data epochs on the fiber interface.  
age1439_epoch_size (on page 98) sets the size of data epochs in bytes.  
age1439_epoch_size_get (on page 98) returns the current size of data epochs on the fiber  
interface  
63  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Agilent E1439 Programmer's Reference  
Functions listed by functional group  
Identification  
age1439_product_id_get (on page 158) returns the module’s product identification string  
age1439_options_get (on page 157) returns the module’s options  
age1439_serial_number (on page 157) sets the module’s serial number for product repair  
purposes  
age1439_serial_number_get (on page 157) returns the module’s serial number  
age1439_revision_query (on page 169) returns strings that identify the date of the module’s  
firmware revision  
Interrupts  
age1439_attrib_get (on page 74) gets low-level attributes of current I/O library session  
age1439_interrupt_setup (on page 146) sets all interrupt parameters  
age1439_interrupt_mask_get (on page 146) gets the interrupt event mask  
age1439_interrupt_priority_get (on page 146) gets the VME interrupt line  
age1439_interrupt_restore (on page 145) restores the interrupt masks to the most recent set-  
ting  
Measurement control  
age1439_meas_control (on page 151) initiates and controls measurements in multi-module  
systems  
age1439_meas_init (on page 154) initiates a measurement without first checking for valid  
hardware setup  
age1439_meas_start (on page 155) checks for valid hardware setup and then initiates a mea-  
surement  
age1439_reset (on page 167) places the module in a known state  
age1439_reset_hard (on page 168) resets the module hardware  
Timing  
age1439_clock_setup (on page 78) sets all timing parameters for commonly used measure-  
ment setups  
age1439_clock_setup_get (on page 78) gets the current clock setup  
age1439_clock_fs (on page 76) provides the frequency of an external sample clock  
age1439_clock_fs_get (on page 76) gets the current external sample clock frequency  
age1439_adc_clock (on page 72) specifies the ADC clock source  
age1439_adc_clock_get (on page 72) gets the ADC clock source  
age1439_adc_divider (on page 73) determines which divider is applied to the ADC clock  
source  
age1439_adc_divider_get (on page 73)gets the module's current clock divider state  
age1439_ext_sample_sync (on page 104) enables and disables external sample sync  
age1439_ext_sample_sync_get (on page 104) gets the state of external sample sync  
age1439_front_panel_clock_input (on page 131) specifies the source for the front panel  
clock  
age1439_front_panel_clock_input_get (on page 131) gets the front panel clock source  
age1439_reference_clock (on page 165) selects the source of the reference clock  
age1439_reference_clock_get (on page 165) gets the source of the reference clock  
age1439_reference_prescaler (on page 166) selects prescaling of the reference clock  
age1439_reference_prescaler_get (on page 166) gets prescaling of the reference clock  
age1439_smb_clock_output (on page 173) specifies which clock to output from the SMB  
64  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Agilent E1439 Programmer's Reference  
Functions listed by functional group  
clock connectors  
age1439_smb_clock_output_get (on page 173) gets which clock to output from the SMB  
clock connectors  
age1439_sync_clock (on page 178) selects the source of the sync signal  
age1439_sync_clock_get (on page 178) gets the source of the sync signal  
age1439_sync_direction (on page 179) selects front or rear panel availability of the sync sig-  
nal  
age1439_sync_direction_get (on page 179) gets the state of front or rear panel clock avail-  
ability  
age1439_sync_output (on page 180) selects the output for the sync signal  
age1439_sync_output_get (on page 180) gets the output for the sync signal  
age1439_vcxo (on page 187) selects whether the module should use an internal clock source  
age1439_vcxo_get (on page 187) gets whether the internal clock source is on or off  
age1439_vxi_clock_output (on page 188) selects which clock drives the VXI clock  
age1439_vxi_clock_output_get (on page 188) gets which clock drives the VXI clock  
Trigger  
age1439_trigger_setup (on page 183) sets all parameters associated with triggering the  
beginning of data collection  
age1439_trigger_adclevel (on page 183) specifies the threshold for the ADC trigger  
age1439_trigger_adclevel_get (on page 183) gets the trigger threshold  
age1439_trigger_delay (on page 183) specifies a pre- or post-trigger delay time  
age1439_trigger_delay_get (on page 183) gets the trigger delay time  
age1439_trigger_delay_actual_get (on page 181) gets the actual delay time from the most  
recent trigger event  
age1439_trigger_gen (on page 183) determines whether a module can generate a trigger  
age1439_trigger_gen_get (on page 183) gets the trigger generation status  
age1439_trigger_magdwell (on page 183) specifies the dwell time (in samples) before a  
magnitude trigger.  
age1439_trigger_magdwell_get (on page 183) gets the magnitude trigger dwell time.  
age1439_trigger_maglevel (on page 183) specifies the threshold for a magnitude trigger  
age1439_trigger_maglevel_get (on page 183) gets magnitude trigger threshold  
age1439_trigger_phase_actual_get (on page 182) returns a representation of the phase  
value of the LO at the most recent trigger point  
age1439_trigger_slope (on page 183) selects a positive or negative trigger  
age1439_trigger_slope_get (on page 183) gets trigger slope  
age1439_trigger_type (on page 183) specifies the trigger type  
age1439_trigger_type_get (on page 183) gets trigger type  
Reading data  
age1439_data_scale_get (on page 89) gets data scale factor  
age1439_read (on page 159) reads scaled 32-bit float data from FIFO  
age1439_read64 (on page 159) reads scaled 64-bit float data from FIFO, specifically for  
VEE applications  
age1439_read_raw (on page 162) reads raw data from FIFO  
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)  
age1439_clock_setup (on page 78) supplies commonly used clock and sync configurations  
See “Timing” on page 64 for low level clock and sync setup commands  
age1439_clock_setup_get (on page 78) gets the current clock and sync setup  
age1439_clock_fs (on page 76) provides a clock frequency for external sample clock config-  
urations  
age1439_clock_fs_get (on page 76) gets the external clock frequency  
age1439_filter_sync (on page 123) synchronizes the decimation filter counter  
age1439_frequency_sync and age1439_frequency_center (on page 128) prepare the mod-  
ules for frequency change  
age1439_meas_control (on page 151) synchronizes arming and triggering in multi-module  
systems  
age1439_trigger_gen (on page 183) determines whether a module can generate a trigger  
age1439_trigger_gen_get (on page 183) gets the trigger generation status  
age1439_wait (on page 189) facilitates the synchronization and control of multi-module sys-  
tems  
66  
Download from Www.Somanuals.com. All Manuals Search And Download.  
 
Agilent E1439 Programmer's Reference  
Functions listed alphabetically  
Functions listed alphabetically  
age1439_adc_clock (on page 72) determines the ADC clock source  
age1439_adc_clock_get (on page 72) gets the ADC clock source  
age1439_adc_divider (on page 73) determines which divider is applied to the ADC  
clock source  
age1439_adc_divider_get (on page 73)gets the module's current clock divider state  
age1439_attrib_get (on page 74) gets low-level attributes of current I/O library session.  
age1439_cal_get (on page 75) gets last calibration date of specified board  
age1439_clock_fs (on page 76) provides the module with the frequency of an external  
sample clock  
age1439_clock_fs_get (on page 76) gets the current external sample clock frequency  
age1439_clock_recover (on page 77) allows recovery from an out-of-spec external sam-  
ple clock  
age1439_clock_setup (on page 78) sets all timing parameters for commonly used mea-  
surement setups  
age1439_clock_setup_get (on page 78) gets the current clock setup  
age1439_close (on page 86) closes the module's software connection  
age1439_combo_setup (on page 87) a quick way to set blocksize, center frequency, and  
signal bandwidth with one function  
age1439_data_blocksize (on page 90) determines the size of the output data block  
age1439_data_blocksize_get (on page 90) gets the output data block size  
age1439_data_delay (on page 90) determines FIFO delay in continuous mode  
age1439_data_delay_get (on page 90) gets FIFO delay in continuous mode  
age1439_data_memsize_get (on page 88) returns module's memory size in megabytes  
age1439_data_mode (on page 90) selects block mode or continuous mode  
age1439_data_mode_get (on page 90) gets the data mode  
age1439_data_port (on page 90) selects VME bus, local bus or fiber interface for  
output port transmission  
age1439_data_port_get (on page 90) gets the output port designation  
age1439_data_resolution (on page 90) selects 12 or 24 bits data resolution  
age1439_data_resolution_get (on page 90) gets the data resolution  
age1439_data_scale_get (on page 89) gets data scale factor used to convert raw data to  
volts  
age1439_data_setup (on page 90) sets all format and data output flow parameters  
age1439_data_spectral_order (on page 90) specifies the spectral order of the output  
data.  
age1439_data_spectral_order_get (on page 90) gets the spectral order of the output  
data.  
age1439_data_type (on page 90) selects real or complex output data  
age1439_data_type_get (on page 90) gets output data type  
age1439_data_xfersize (on page 96) allows a specified amount of data to be read before  
an entire block has been acquired  
age1439_data_xfersize_get (on page 96) gets the data transfer size  
age1439_driver_debug_level (on page 97) sets the debug level  
67  
Download from Www.Somanuals.com. All Manuals Search And Download.  
   
Agilent E1439 Programmer's Reference  
Functions listed alphabetically  
age1439_driver_debug_level_get (on page 97) gets the debug level  
age1439_epoch_generate (on page 98) controls whether or not data epochs are gener-  
ated.  
age1439_epoch_generate_get (on page 98) gets the current value of epochGenerate  
age1439_epoch_header (on page 98) sets the value of the first 32 bits of the epoch  
header. It can be used by the optical receiver to direct where to route and/or how to  
process associated epoch data.  
age1439_epoch_header_get (on page 98) returns the header value and the value of the  
increment count for the epoch header.  
age1439_epoch_header_enable (on page 98) controls whether or not epoch headers are  
generated  
age1439_epoch_header_enable_get (on page 98) returns the current value of header  
enable.  
age1439_epoch_setup (on page 98) sets the parameters relevant to the transmission of  
data epochs on the fiber interface.  
age1439_epoch_size (on page 98) sets the size of data epochs in bytes.  
age1439_epoch_size_get (on page 98) returns the current size of data epochs.  
age1439_error_message (on page 102) returns error information obtained from function  
calls.  
age1439_error_query (on page 103) queries the module for the most recent error.  
age1439_ext_sample_sync (on page 104) enables and disables sync to an external sam-  
ple clock  
age1439_ext_sample_sync_get (on page 104) gets the state of external sample sync  
age1439_fiber_BOF (on page 112) controls whether or not automatically generated  
BOF events are transmitted  
age1439_fiber_BOF_get (on page 112) returns the current value of bofEnable  
age1439_fiber_clear (on page 106) clears all data from the fiber interface FIFO buffers  
age1439_fiber_crc (on page 112) sets up the fiber interface to transmit and receive cyclic  
redundancy checks.  
age1439_fiber_crc_get (on page 112) returns the current status of the cyclic redundancy  
check setting.  
age1439_fiber_error_clear (on page 107) clears fiber errors from the status register  
age1439_fiber_error_get (on page 108) returns the value of the fiber interface error reg-  
ister.  
age1439_fiber_flow_control (on page 112) configures fiber flow control, enabling or  
disabling transmitter flow control signals.  
age1439_fiber_LED_get (on page 110) returns a data register indicating the state of the  
front panel XMT/RCV led’s.  
age1439_fiber_mode (on page 112) selects the fiber interface mode.  
age1439_fiber_mode_get (on page 112) gets the current mode of the fiber interface.  
age1439_fiber_rcv_signal_get (on page 111) displays the current value of PIO1, PIO2,  
DIR and NRDY bits on the fiber receiver.  
age1439_fiber_signal_get (on page 115) returns a value indicating whether or not an  
optical signal is detected by the optical fiber interface receiver.  
age1439_fiber_setup (on page 112) sets the parameters associated with the fiber inter-  
face.  
age1439_fiber_transfer_rate (on page 112) selects the transfer rate for fiber optic data.  
age1439_fiber_transfer_rate_get (on page 112) gets the current selection of transfer  
rate for fiber optic data.  
age1439_fiber_verify (on page 116) preforms a verification of the fiber interface using  
either an internal of external signal path.  
age1439_fiber_xmt_BOF (on page 117) sends a BOF event used for synchronization  
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.  
age1439_fiber_xmt_signals (on page 118) sets the transmitted values of any PIO1,  
PIO2, DIR or, NRDY FPDP control signals on the fiber transmitter.  
age1439_fiber_xmt_signals_get (on page 118) displays the current value of PIO1,  
PIO2, DIR and NRDY bits on the fiber transmitter.  
age1439_filter_bw (on page 120) selects a signal filter bandwidth  
age1439_filter_bw_get (on page 120) gets the signal filter bandwidth  
age1439_filter_decimate (on page 120) enables/disables and extra factor of 2 decima-  
tion  
age1439_filter_decimate_get (on page 120) gets current state of extra decimation  
age1439_filter_setup (on page 120) sets the digital filter bandwidth and decimation fil-  
ter parameters  
age1439_filter_sync (on page 123) synchronizes the decimation filter counter  
age1439_frequency_center (on page 128) sets the center frequency  
age1439_frequency_center_get (on page 128) gets the current center frequency  
age1439_frequency_center_raw (on page 125) quickly sets the center frequency  
age1439_frequency_center_raw_compute (on page 127) quickly calculates the values  
for age1439_frequency_center_raw  
age1439_frequency_center_raw_get (on page 125) gets the raw center frequency  
age1439_frequency_cmplxdc (on page 128) selects a complex baseband measurement  
age1439_frequency_cmplxdc_get (on page 128) gets the state of the baseband measure-  
ment mode  
age1439_frequency_setup (on page 128) sets all the zoom center frequency parameters  
age1439_frequency_sync (on page 128) prepares the module for a synchronous fre-  
quency change  
age1439_frequency_sync_get (on page 128) gets the state of the synchronous change  
mode  
age1439_front_panel_clock_input (on page 131) specifies the source of the front panel  
clock  
age1439_front_panel_clock_input_get (on page 131) gets the front panel clock source  
age1439_init (on page 132) initializes the I/O driver for a module  
age1439_input_alias_filter (on page 141) include/bypass the built-in analog anti-alias  
filter  
age1439_input_alias_filter_get (on page 141) gets the anti-alias filter state  
age1439_input_autozero (on page 134) nulls out the input dc offset in baseband mode  
age1439_input_coupling (on page 141) selects ac or dc input coupling  
age1439_input_coupling_get (on page 141) get the input coupling type  
age1439_input_offset (on page 135) sets the dc offset settings for the current range  
age1439_input_offset_get (on page 135) gets the dc offset settings  
age1439_input_offset_save (on page 136) saves the dc offset settings in NVRAM  
age1439_input_range (on page 141) sets the full scale range  
age1439_input_range_auto (on page 137) performs auto-ranging in baseband mode  
age1439_input_range_convert (on page 138) converts the input range to volts  
age1439_input_range_get (on page 141) gets the input range  
age1439_input_setup (on page 141) sets all the analog input parameters  
age1439_input_signal (on page 141) connect/disconnect the input signal to the input  
amplifiers  
age1439_input_signal_get (on page 141) gets the input buffer amplifier state  
age1439_input_signal_path (on page 141) selects baseband or IF signal path  
age1439_input_signal_path_get (on page 141) gets the signal path state  
age1439_interrupt_mask_get (on page 146) gets the interrupt event mask  
age1439_interrupt_priority_get (on page 146) gets the VME interrupt line  
69  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Agilent E1439 Programmer's Reference  
Functions listed alphabetically  
age1439_interrupt_restore (on page 145) restores the interrupt masks to the most recent  
setting  
age1439_interrupt_setup (on page 146) sets both interrupt parameters  
age1439_lbus_mode (on page 148) sets the local bus transmission mode  
age1439_lbus_mode_get (on page 148) gets the local bus mode  
age1439_lbus_reset (on page 150) resets local bus  
age1439_lbus_reset_get (on page 150) gets the local bus mode reset state  
age1439_meas_control (on page 151) initiates and controls measurements in multi-  
module systems  
age1439_meas_init (on page 154) initiates a measurement without first checking for  
valid hardware setup  
age1439_meas_start (on page 155) checks for valid hardware setup and then initiates a  
measurement  
age1439_meas_status_get (on page 156) returns the current measurement status.  
age1439_options_get (on page 157) returns the module’s options  
age1439_product_id_get (on page 158) returns the module’s product identification  
string  
age1439_read (on page 159) reads scaled 32-bit float data from FIFO  
age1439_read_raw (on page 162) reads raw data from FIFO  
age1439_read64 (on page 159) reads scaled 64-bit float data from FIFO, specifically for  
VEE applications  
age1439_reference_clock (on page 165) selects the source of the reference clock  
age1439_reference_clock_get (on page 165) gets the source of the reference clock  
age1439_reference_prescaler (on page 166) selects prescaling of the reference clock  
age1439_reference_prescaler_get (on page 166) gets prescaling of the reference clock  
age1439_reset (on page 167) places the module in a known state  
age1439_reset_hard (on page 168) resets the module hardware  
age1439_revision_query (on page 169) returns strings that identify the date of the firm-  
ware revision.  
age1439_self_test (on page 170) performs a self-test on the module and returns the result  
age1439_serial_number (on page 157) sets the module’s serial number for product  
repair purposes  
age1439_serial_number_get (on page 157) returns the module’s serial number  
age1439_smb_clock_output (on page 173) specifies which clock to output from the  
SMB clock connectors  
age1439_smb_clock_output_get (on page 173) gets which clock to output from the  
SMB clock connectors  
age1439_state_save (on page 175) saves the current module state  
age1439_state_recall (on page 174) recalls a saved module state  
age1439_status_get (on page 176) retrieves module's status register information  
age1439_sync_clock (on page 178) selects the source of the sync signal  
age1439_sync_clock_get (on page 178) gets the source of the sync signal  
age1439_sync_direction (on page 179) selects front or rear panel availability of the sync  
signal  
age1439_sync_direction_get (on page 179) gets the state of front or rear panel clock  
availability  
age1439_sync_output (on page 180) selects the output for the sync signal  
age1439_sync_output_get (on page 180) gets the output for the sync signal  
age1439_trigger_adclevel (on page 183) specifies the threshold for the ADC trigger  
age1439_trigger_adclevel_get (on page 183) gets the trigger threshold  
age1439_trigger_delay (on page 183) specifies a pre- or post-trigger delay time  
age1439_trigger_delay_actual_get (on page 181) gets the actual delay time from the  
70  
Download from Www.Somanuals.com. All Manuals Search And Download.  
Agilent E1439 Programmer's Reference  
Functions listed alphabetically  
most recent trigger event  
age1439_trigger_delay_get (on page 183) gets the trigger delay time  
age1439_trigger_gen (on page 183) determines whether a module can generate a trigger  
age1439_trigger_gen_get (on page 183) gets the trigger generation status  
age1439_trigger_magdwell (on page 183) specifies the dwell time (in samples) before a  
magnitude trigger  
age1439_trigger_magdwell_get (on page 183) gets the magnitude trigger dwell time in  
samples  
age1439_trigger_maglevel (on page 183) specifies the threshold for a magnitude trigger  
age1439_trigger_maglevel_get (on page 183) gets magnitude trigger threshold  
age1439_trigger_phase_actual_get (on page 182) returns a representation of the phase  
value of the LO at the most recent trigger point  
age1439_trigger_setup (on page 183) sets all parameters associated with triggering the  
beginning of data collection  
age1439_trigger_slope (on page 183) selects a positive or negative trigger  
age1439_trigger_slope_get (on page 183) gets trigger slope  
age1439_trigger_type (on page 183) determines the trigger type  
age1439_trigger_type_get (on page 183) gets trigger type  
age1439_vcxo (on page 187) selects whether the module should use an internal clock  
source  
age1439_vcxo_get (on page 187) gets whether the internal clock source is on or off  
age1439_vxi_clock_output (on page 188) selects which clock drives the VXI clock  
age1439_vxi_clock_output_get (on page 188) gets which clock drives the VXI clock  
age1439_wait (on page 189) facilitates the synchronization and control of multi-module  
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  
setups can be supplied by age1439_clock_setup.  
Parameters  
id  
is the VXI instrument session pointer returned by the age1439_init function.  
adcClock  
AGE1439_VCXO_INTERNAL selects an internal oscillator within the module. age1439_vcxo_  
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.  
AGE1439_EXT_SAMPLE_CLOCK uses an external sample clock selected by age1439_  
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  
setups can be supplied by age1439_clock_setup.  
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.  
AGE1439_DATA_REGISTER points to the mapped address of the Agilent E1439 data register.  
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  
Setups using the external sample clock require that you use age1439_clock_fs to supply the clock  
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.  
AGE1439_CUSTOM_CLOCK_SETUP is returned from age1439_clock_setup_get when low-  
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.  
See “age1439_data_setup” on page 90 for a description of the blocksize parameter.  
See “age1439_frequency_center_raw” on page 125 for a description of the interpolate parameter.  
See “age1439_frequency_center_raw” on page 125 for a description of the phase parameter.  
See “age1439_filter_setup” on page 120 for a description of the sigBw parameter.  
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  
modules are forced to Idle, then you should subsquently call age1439_meas_control to re-assert  
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.  
AGE1439_DATA_DELAY_MAXsets the maximum allowable delay.  
AGE1439_DATA_DELAY_MIN sets the minimum allowable delay.  
dataDelayPtr  
dataType  
points to the current value of the delay parameter.  
determines whether the Agilent E1439 collects and returns real or complex data.  
Setting this parameter to AGE1439_REAL causes only the real part of the data to be returned for  
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.  
Setting port to AGE1439_VME means the data is to be output using standard VME register reads.  
This is the instrument default.  
Setting port to AGE1439_LBUS means the data is to be output as a byte-serial data stream via the  
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.  
Setting port to AGE1439_FIBER means the filtered ADC data is to be transmitted as a serial data  
stream over the fiber interface.  
portPtr  
points to the current value of the port parameter.  
resolution  
selects data resolution of either 12 or 24 bits by using resolution values of AGE1439_12BIT or  
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  
this parameter is changed. See age1439_filter_setup for more information on synchronizing the  
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.  
AGE1439_XFERSIZE_MAX selects the maximum allowable transfer size. xfersize must be a  
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  
specified after blocksize. See “age1439_data_setup” on page 90.  
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.  
AGE1439_HEADER_VALUE_MIN selects the minimum value for the epoch header.  
AGE1439_HEADER_VALUE_MAX selects the maximum value for the epoch header.  
AGE1439_HEADER_INDEX_MASK is used for setting the value of the headerIndex field.  
AGE1439_HEADER_INCR_MIN selects the minimum value for the incrementCount.  
AGE1439_HEADER_INCR_MAX selects the maximum value for the incrementCount.  
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  
setups can be supplied by age1439_clock_setup.  
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  
AGE1439_EXT_SAMP_SYNC_ENABLE is used after calling age1439_clock_setup to select a  
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  
interrupted for some time, it is a good idea to call age1439_clock_recover after the counter has  
resumed counting.  
AGE1439_EXT_SAMP_SYNC_CANCEL releases the module’s counter from its preset state and  
the clocks resume. It is still advisable to call age1439_clock_recover.  
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  
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.  
AGE1439_LED_RX_DATA indicates data was received in approximately the last 500 ms, the  
RCV LED is blinking.  
AGE1439_LED_TX_ENABLED indicates that the transmitter in enabled, the XMT LED is on or  
blinking.  
AGE1439_LED_TX_DATA indicates local data was transmitted in approximately the last 500  
ms, the XMT LED is blinking.  
Note  
The AGE1439_STATUS_FIBER_ACTIVE bit is set when either of or both the XMT or RCV  
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  
This function will return AGE1439_FIBER_ERROR when a signal is present, but the fiber  
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  
chain should also have fiberMode set to AGE1439_FIBER_MODE_GENERATE. This will cause  
it to generate a BOF event after every EOE event, in other words, at the end of every data epoch it  
sends. All subsequent modules in an append chain should have fiberMode set to AGE1439_  
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_  
ON is only available when epochGenerate is ON and fiberMode is either generate or append,  
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  
up with filtered ADC data and collection will stop. In this case, age1439_meas_status_get will  
AGE1439_FIBER_MODE_COPY is the default fiberMode at power-on and reset. Data is copied  
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  
will result in setting the AGE1439_STATUS_SETUP_ERROR bit in the status register. This  
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_  
RAW or a fiber error occurs. While this raw data is being transmitted, filtered ADC data can still  
be sent over the local bus, or read from the FIFO via the VME bus. Attempting to set AGE1439_  
113  
Download from Www.Somanuals.com. All Manuals Search And Download.  
       
Agilent E1439 Programmer's Reference  
Functions listed alphabetically  
FIBER_MODE_RAW and the age1439_data_port to fiber will result in the AGE1439_  
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  
Attempting to use the flow control while in AGE1439_FIBER_MODE_RAW fiber mode will  
likely result in a TX_ERR_OVERRUN error. The transmit FIFO size is only1 Kbyte  
AGE1439_FIBER_MODE_GENERATE causes filtered ADC data to be transmitted over the  
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.  
AGE1439_FLOW_CONTROL_COPY responds to received flow control signals GO and STOP,  
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  
selects the data output sample rate. When this parameter is set to AGE1439_DECIMATE_OFF  
the output sample rate is:  
fs when sigBw=0, or  
fs/2^(sigBw-1) when sigBw>0  
When decimate is set to AGE1439_DECIMATE_ON the output sample rate is reduced by an  
additional factor of two by discarding alternate samples.  
AGE1439_DECIMATE_SHIFT is like AGE1439_DECIMATE_ON but additional processing is  
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  
AGE1439_SIG_BW_MAX sets sigBw to the maximum value and the filter bandwidth to the  
minimum.  
AGE1439_SIG_BW_MIN sets sigBw to the minimum value and filter bandwidth to the  
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.  
The following table lists parameter combinations (see also “age1439_data_setup” on page 90)  
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  
rather than use the recommended age1439_frequency_center_raw_compute function.  
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_  
frequency_center_raw. This function also allows you to compute many values in advance to  
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 between0.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.  
when set to AGE1439_SYNC_OFF allows an immediate frequency change in single-module  
systems.  
In multiple-module systems, setting this parameter to AGE1439_SYNC_ON prepares the  
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  
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  
setups can be supplied by age1439_clock_setup.  
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  
VISA id and so cannot be used with VISA functions. Use age1439_attrib_get to get the VISA id.  
idQuery  
set to AGE1439_MAG verifies the identity of the instrument by checking the manufacturer ID  
and model number in the module's VXI register set.  
If set to AGE1439_OFF the function does not verify the module's identity. It is helpful to disable  
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  
places the module in the reset state when set to AGE1439_ON.  
If set to AGE1439_OFF, the function disables the reset. Disabling the reset is useful for  
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  
These values are normally set by age1439_input_autozero so you generally would use this  
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  
These values are approximate. For more accuracy use age1439_data_scale_get.  
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  
These values are approximate. For more accuracy use age1439_data_scale_get.  
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  
Selects baseband AGE1439_BB_PATH or IF signal path AGE1439_IF_PATH. The IF path passes  
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  
must be sent again or restored with “age1439_interrupt_restore” on page 145 in order to generate  
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  
port must be set to the local bus with the age1439_data_port function (See “age1439_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.  
AGE1439_GENERATE forces the module at id to generate data only, not passing through data  
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  
AGE1439_LBUS_RESET_ON puts the Agilent E1439's local bus into reset while AGE1439_  
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.  
AGE1439_RELEASE reverses a previous AGE1439_ASSERT or ensures that no forced Idle is  
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  
See “The measurement loop” in chapter 3 for details on how a measurement progresses through  
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.  
5. Clears the overload count maintained by the API. See “Comments on Overload” on  
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  
This command is slightly faster and slightly less robust than age1439_meas_start.  
Parameters  
id  
is the VXI instrument session pointer returned by the age1439_init function.  
Comments  
See “The measurement loop” in chapter 3 for details on how a measurement progresses through  
the four states.  
This function performs the following sequence:  
1. Clears the overload count maintained by the API. See “Comments on Overload” on  
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  
the equivalent of age1439_meas_init.  
Parameters  
id  
is the VXI instrument session pointer returned by the age1439_init function.  
Comments  
See “The measurement loop” in chapter 3 for details on how a measurement progresses through  
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.  
4. Performs age1439_meas_init and returns AGE1439_SUCCESS.  
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  
interface. The advantage of using this function over age1439_status_get, is that this function  
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.  
returns the state of the AGE1439_STATUS_READ_VALID status register bit.  
returns the state of the AGE1439_STATUS_BLOCK_READY status register bit.  
returns the state of the AGE1439_STATUS_OVERLOAD status register bit.  
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  
the overload indication is AGE1439_OFF:  
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  
returns an overload indicator. See “Comments on Overload” on page 160. The way to properly  
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  
the overload indication is AGE1439_OFF:  
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  
setups can be supplied by age1439_clock_setup.  
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  
clock. Use this in conjunction with age1439_front_panel_clock_input.  
AGE1439_VXI_CLOCK specifies that the VXI (rear panel) clock be used as the reference clock.  
Use this in conjunction with age1439_vxi_clock_output.  
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  
setups can be supplied by age1439_clock_setup.  
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  
The reset values are listed in “Default values” on page 201.  
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  
The reset values are listed in “Default values” on page 201. In addition, the hardware registers,  
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  
manufacturers 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  
setups can be supplied by age1439_clock_setup.  
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  
This function may be used to save a state to which you want to return later. age1439_reset does  
not change a saved state. The state is not saved to non-volatile RAM.  
Note  
The saved state is lost by issuing the following commands: age1439_input_range_auto, age1439_  
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  
AGE1439_STATUS_MEAS_ARM_WAIT These two bits indicate the current state of the  
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  
clear this bit. To do this, the age1439_fiber_error_clear  
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  
setups can be supplied by age1439_clock_setup.  
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  
setups can be supplied by age1439_clock_setup.  
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  
setups can be supplied by age1439_clock_setup.  
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_180 represents 180 degrees (or -32768)  
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.  
Use AGE1439_ADC_LEVEL_MAX to set the maximum allowable level.  
Use AGE1439_ADC_LEVEL_MIN to set the minimum allowable level.  
Use AGE1439_ADC_LEVEL_DEF to set the default ADC trigger threshold.  
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^311  
48(DRAMsize/6)  
12 bit complex  
2^311  
48(DRAMsize/3)  
12 bit real  
2^311  
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.  
AGE1439_GENERATE_ON enables triggering.  
184  
Download from Www.Somanuals.com. All Manuals Search And Download.  
     
Agilent E1439 Programmer's Reference  
Functions listed alphabetically  
AGE1439_GENERATE_OFF disables triggering. This is useful in multi-module systems with the  
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.  
AGE1439_MAG_LEVEL_MAX sets the maximum allowable level and AGE1439_MAG_  
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.  
The threshold is set to (AGE1439_MAG_LEVEL_SCALE × magLevel) dB relative to full scale  
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.  
AGE1439_POSITIVE sets triggering on the positive slope and AGE1439_NEGATIVE on the  
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_ECL has the same constant value as the AGE1439_EXTERNAL  
constant in the E1439C. AGE1439_EXTERNAL is retained for backward compatibility.  
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  
will result in the error AGE1439_TTL_TRIGGER_NOT_SUPPORTED.  
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.  
AGE1439_IMMEDIATE triggers a measurement immediately upon entering the trigger state.  
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  
setups can be supplied by age1439_clock_setup.  
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  
setups can be supplied by age1439_clock_setup.  
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  
Equivalent numeric values for variables  
Variable Name  
AGE1439_XFERSIZE_DEF  
Numeric Value  
1024  
805306320  
2
AGE1439_XFERSIZE_MAX  
AGE1439_XFERSIZE_MIN  
197  
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.  
5
5
Module Description  
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  
in “The measurement loop” on page 23. The E1439 module is also capable of controlling the  
SYNC line synchronously via the control register.  
For more information on multi-module operation see “Managing multiple modules” on page 32.  
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.  
6
6
Replacing Assemblies  
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  
SHTFBOTTOM 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  
GSKTRFI-FRT PNL  
E1438-40601  
E1485-40601  
8160-0686  
E1438-40601  
E1485-40601  
00786-185  
GSKTRFI-BTTM CVR  
RFI STRIPFINGERS  
8160-0634  
RFI STRIPFINGERS  
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'  
MOLDTOP  
7121-7965  
E1400-45101  
E1400-45102  
E1400-00610  
E1400-45011  
E1400-45008  
0515-0664  
E140045101  
E140045102  
E1400-00610  
E1400-45011  
E1400-45008  
0515-0064  
MOLDBOTTOM  
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  
To remove the M1, M2 assemblies  
225  
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  
selecting 120, 141  
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 40, 104  
external sample frequency 76  
external sample setups 37, 83  
front panel, selecting 131  
generation 213  
resetting 77  
setup 31  
sharing 32, 78, 213  
source, specifying 72  
sync source 178  
synchronization 40, 78  
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  
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 clock 40, 104  
sample synchronization 40  
trigger, described 217  
trigger, selecting 185  
I
id, module 132, 158  
IDLE 44  
idle state  
described 23  
forcing 86, 151  
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  
managing 24, 32, 39, 83, 123, 128, 151, 183,  
triggering 181, 210  
an instrument session 132  
measurements 151, 155  
input  
analog 212  
baseband 212  
block diagram 212  
circuit description 212  
coupling 141  
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  
offset, input 135, 136  
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  
transfers 42, 216  
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  
initiating single module 154, 155  
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  
setup 31, 83  
sharing 32, 217  
signal, asserting and releasing 151  
with external sample clock 40, 104  
sync with data fiber frame 44  
sync without data fiber frame 44  
synchronizing  
reading data 159, 162  
real data output, specifying 91  
recalling instrument state 174  
resetting  
bad clock 77  
the local bus 150  
the module 132, 167, 168  
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  
synchronizing measurements 40, 40, 123, 128,  
system requirements 11, 21  
T
S
terminating an instrument session 86  
theory of operation 211  
timing  
setup 31  
signals 210  
sample clock  
external 40, 104  
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  
bus transfers 42, 216  
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.  
 

Abocom Network Card PLE0085 User Manual
Acoustic Research Headphones ART1 User Manual
Advantek Networks Switch ANS 08P User Manual
Aiphone Intercom System IP EWST User Manual
Aiphone Power Supply PS 18C User Manual
Allied Telesis Network Card 613 50550 00 User Manual
AmbiCom Network Router WL11 SD User Manual
American DJ DJ Equipment S 100A User Manual
Barco Computer Monitor MIVD 1218 User Manual
Behringer Microphone A50 26313 00002 User Manual