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.
Notices The information contained in this manual is subject to change without notice. Agilent Technologies makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Agilent Technologies shall not be liable for errors contained herein or direct, indirect, special, incidental, or consequential damages in connection with the furnishing, performance, or use of the material.
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.
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
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.
Contents 1 Installing the Agilent E1439 To inspect the Agilent E1439 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 To install the Agilent E1439. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 To clean fiber optic connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 To store the module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 To transport the module . . . . . . . . . . . . . . . . . . . . .
Contents age1439_attrib_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 age1439_cal_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 age1439_clock_fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 age1439_clock_recover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 age1439_clock_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents age1439_options_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 age1439_product_id_get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 age1439_read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 age1439_read_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 age1439_reference_clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents 10
1 1 Installing the Agilent E1439
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.
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.
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.
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.
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.
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 identical to the factory packaging.
Installing the Agilent E1439 To transport the module 8
2 2 Getting Started with the Agilent E1439
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).
Getting Started with the Agilent E1439 System Requirements System Requirements System Requirements (Microsoft Windows) • A Pentium-class personal computer: • Microsoft Windows 2000, or NT.
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.
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.
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.
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.
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.
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.
Getting Started with the Agilent E1439 To use the example programs 18
3 3 Using the Agilent E1439
Using the Agilent E1439 Agilent E1439 overview Agilent E1439 overview 100 MHZ VCXO 102.
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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.
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 Output VXI Clock EXT Clock/Ref BNC Intermodule Clock SMB Font Panel Clock Reference Clock Reference Prescaler ADC Clock VCXO VCXO Freq ADC Clock ADC Divider SMB Clock Output SYNC Clock Intermodule Sync SMB SYNC Output SYNC Direction VXI SYNC 31
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.
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.
Using the Agilent E1439 Managing multiple modules Managing multi-module systems The symbol indicates a 50 ohm terminator, which is required on unused SMB connectors in systems using front panel distribution Backplane 10 MHz frequency reference Slot 0 Controller 1 Module #1 - “Front master, phase locked to external reference” on page 81 34 Module #1 - “Front master, phase locked to external reference” on page 81 10 MHz frequency reference 1 2 2 External reference and SYNC distribution using VXI ba
Using the Agilent E1439 Managing multiple modules Module #2 - “Front master, internal reference” on page 80 Module # 3 - “Front slave, phase locked to master” on page 81 Module #4 - “Front slave, phase locked to master” on page 81 Slot 0 Controller Module #1 - “Front slave, phase locked to master” on page 81 1 2 3 4 Sharing clock and SYNC among several modules via front panel distribution.
Using the Agilent E1439 Managing multiple modules Module #1 - “Front slave, phase locked to master” on page 81 Module #2 - “Send sync to slave” on page 84 Module # 3 - “Receive sync from master” on page 85 Module #4 - “Front slave, phase locked to master” on page 81 Backplane Slot 0 Controller Slot 0 Controller Backplane 1 2 3 VXI Mainframe A VXI Mainframe B Clock and SYNC distribution using front panel extender connections between mainframes and VXI backplane connections within mainframes.
Using the Agilent E1439 Managing multiple modules Using an external sample clock Slot 0 Controller All modules “Front sync, external sample clock, wired-OR sync” on page 83 Splitter External sample clock Splitter User generated external sync pulse Sharing clock and SYNC among several modules using external sample. Front panel distribution.
Using the Agilent E1439 Managing multiple modules Slot 0 Controller Backplane All modules “Rear sync, external sample clock, wired-OR sync” on page 84 Splitter External sample clock Splitter User generated external sync pulse Sharing clock and SYNC among several modules using external sample. Rear panel distribution.
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.
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.
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.
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.
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.
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.
Using the Agilent E1439 Fiber Optic Interface Fiber Modes The E1439D’s fiber interface can operate in five different modes: • “Off” on page 45 • “Copy” on page 46 • “Raw” on page 47 • “Generate” on page 48 • “Append” on page 50 Off The Off fiber mode disables the fiber transmitter but allows the fiber receiver to read control signals.
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.
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.
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.
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.
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.
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.
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.
4 4 Agilent E1439 Programmer's Reference
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 “Programming the Agilent E1439” in chapter 3. The function descriptions in the programmer’s reference are valid for all environments.
Agilent E1439 Programmer's Reference Functions listed by class Functions listed by class Component Capability Subclass INITIALIZE & CLOSE Function Name 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 READ FETCH age1439_read (on page 159) age1439_read64 (on page 159) age1439_read_raw (on page 162)
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
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_re
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) ROUTE CONFIGURE LOW LEVEL age1439_fiber_BOF (on page 112) 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_cont
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_
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.
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_au
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 exte
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 register. age1439_fiber_flow_control (on page 112) −configures fiber flow control, enabling or disabling transmitter flow control signals.
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 fir
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 signal age1439_sync_direction_get (on page 179) −gets the state of front or rear pan
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 configurations age1439_clock_fs_get (on page 76) −gets the external clock f
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.
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 generated. 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.
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.
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
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 i
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.
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.
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.
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.
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.
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.
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".
Agilent E1439 Programmer's Reference Functions listed alphabetically Simple clock setups for stand-alone modules Internal reference AGE1439_SIMPLE_INT_REF ADC_CLK VCXO_INTERNAL VCXO VCXO_ON ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_1 VXI_CLK_OUTPUT CLOCK_OFF REFERENCE_CLOCK N/A FRONT_PANEL_CLOCK CLOCK_OFF SMB_CLOCK_OUTPUT CLOCK_OFF SYNC_CLOCK DIVIDED_ADC_CLOCK SYNC_OUTPUT SYNC_OUT_OFF SYNC_DIRECTION N/A Phase locked to external reference AGE1439_SIMPLE_EXT_REF ADC_CLK V
Agilent E1439 Programmer's Reference Functions listed alphabetically External sample clock (for use with baseband path only) AGE1439_SIMPLE_EXT_SAMP ADC_CLK EXT_SAMPLE_CLOCK VCXO VCXO_OFF ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_1 VXI_CLK_OUTPUT CLOCK_OFF REFERENCE_CLOCK FRONT_PANEL_CLOCK FRONT_PANEL_CLOCK BNC_CLOCK SMB_CLOCK_OUTPUT CLOCK_OFF SYNC_CLOCK DIVIDED_ADC_CLOCK SYNC_OUTPUT SYNC_OUT_OFF SYNC_DIRECTION N/A Front panel master-slave setups, one master per mainfra
Agilent E1439 Programmer's Reference Functions listed alphabetically Front master, phase locked to external reference AGE1439_FRNT_REAR_MSTR_EXT_REF ADC_CLK VCXO_EXT_REF VCXO VCXO_ON ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_4 VXI_CLK_OUTPUT CLOCK_OFF REFERENCE_CLOCK FRONT_PANEL_CLOCK FRONT_PANEL_CLOCK BNC_CLOCK SMB_CLOCK_OUTPUT DIVIDED_ADC_CLOCK SYNC_CLOCK DIVIDED_ADC_CLOCK SYNC_OUTPUT SYNC_OUT_SMB SYNC_DIRECTION FRNT_TO_REAR Front slave, phase locked to master AGE1439
Agilent E1439 Programmer's Reference Functions listed alphabetically Rear panel master-slave setups, one master per mainframe Rear master, internal reference AGE1439_REAR_MSTR_INT_REF ADC_CLK VCXO_INTERNAL VCXO VCXO_ON ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_1 VXI_CLK_OUTPUT DIVIDED_ADC_CLOCK REFERENCE_CLOCK N/A FRONT_PANEL_CLOCK CLOCK_OFF SMB_CLOCK_OUTPUT CLOCK_OFF SYNC_CLOCK DIVIDED_ADC_CLOCK SYNC_OUTPUT SYNC_OUT_VXI SYNC_DIRECTION REAR_TO_FRNT Rear master, phase loc
Agilent E1439 Programmer's Reference Functions listed alphabetically Rear slave, phase locked to master AGE1439_REAR_SLAV_EXT_REF ADC_CLK VCXO_EXT_REF VCXO VCXO_ON ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_1 VXI_CLK_OUTPUT CLOCK_OFF REFERENCE_CLOCK VXI_CLOCK FRONT_PANEL_CLOCK CLOCK_OFF SMB_CLOCK_OUTPUT CLOCK_OFF SYNC_CLOCK VXI_CLOCK SYNC_OUTPUT SYNC_OUT_VXI SYNC_DIRECTION REAR_TO_FRNT Multi-module external sample setups, set all modules the same Front sync, external sam
Agilent E1439 Programmer's Reference Functions listed alphabetically Rear sync, external sample clock, wired-OR sync AGE1439_REAR_SYNC_EXT_SAMP ADC_CLK EXT_SAMPLE_CLOCK VCXO VCXO_OFF ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_1 VXI_CLK_OUTPUT CLOCK_OFF REFERENCE_CLOCK FRONT_PANEL_CLOCK FRONT_PANEL_CLOCK BNC_CLOCK SMB_CLOCK_OUTPUT CLOCK_OFF SYNC_CLOCK DIVIDED_ADC_CLOCK SYNC_OUTPUT SYNC_OUT_VXI SYNC_DIRECTION REAR_TO_FRNT Multiple mainframe setups Send sync to slave AGE143
Agilent E1439 Programmer's Reference Functions listed alphabetically Receive sync from master AGE1439_FRNT_REAR_SLAV_EXT_REF clockSetupPtr ADC_CLK VCXO_EXT_REF VCXO VCXO_ON ADC_DIVIDER DIVIDE_BY_38 REFERENCE_PRESCALER PRESCALE_BY_1 VXI_CLK_OUTPUT FRONT_PANEL_CLOCK REFERENCE_CLOCK FRONT_PANEL_CLOCK FRONT_PANEL_CLOCK SMB_CLOCK SMB_CLOCK_OUTPUT CLOCK_OFF SYNC_CLOCK SMB_CLOCK SYNC_OUTPUT SYNC_OUT_BOTH SYNC_DIRECTION FRONT_TO_REAR points to the current value of clockSetup.
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.
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.
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.
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.
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.
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.
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 points to the current value of the dataType parameter. mode 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.
Agilent E1439 Programmer's Reference Functions listed alphabetically data type data resolution port transfer width xfers1 real 12 bit VME 16 bit 1 R0[11:0] |Z4 R1[11:0] |Z4 ... complex 12 bit VME 16 bit 2 R0[11:0] |Z4 Q0[11:0] |Z4 R1[11:0] |Z4 Q1[11:0] |Z4 ... real 24 bit VME 16 bit 2 R0[23:8] R0[7:0] |Z8 R1[23:8] R1[7:0] |Z8 ... complex 24 bit VME 16 bit 4 R0[23:8] R0[7:0] |Z8 Q0[23:8] Q0[7:0] |Z8 R1[23:8] R1[7:0] |Z8 ...
Agilent E1439 Programmer's Reference Functions listed alphabetically data type data resolution port transfer width xfers1 real 12 bit Fiber 32 bit 1/2 R0[11:0] |Z4|R1[11:0] |Z4 R2[11:0] |Z4|R3[11:0] |Z4,... complex 12 bit Fiber 32 bit 1 R0[11:0] |Z4|Q0[11:0] |Z4 R1[11:0] |Z4|Q1[11:0] |Z4 ... real 24 bit Fiber 32 bit 1 R0[23:0] |Z8 R1[23:0] |Z8 ... complex 24 bit Fiber 32 bit 2 R0[23:0] |Z8 Q0[23:0] |Z8 ... R1[23:0] |Z8 ... sequence2 1.
Agilent E1439 Programmer's Reference Functions listed alphabetically decimate filterBW sample rate (Msamples/s) BW fs=100 MHz 12b real 24b real 12b complex 0 4 12.5 2.5 b,c,d b,c,d b,c,d b,d 1 4 6.25 2.5 b,c,d b,c,d b,c,d b,c,d 0 5 6.25 1.25 b,c,d b,c,d b,c,d b,c,d 24b complex b = block mode, continuos mode to fiber at the fiber transfer rate of 250 Mbytes per second.
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".
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.
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.
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).
Agilent E1439 Programmer's Reference Functions listed alphabetically headerValuePtr points to the current value of initalValue incrementCount 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.
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.
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.
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.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically See Also “Commands which halt active measurements” on page 198, “age1439_init” on page 132, “age1439_filter_sync” on page 123, “age1439_clock_setup” on page 78, “Managing multiple modules” in chapter 3, “Using clock and sync” in chapter 3, “External sample synchronization in multi-module systems” in chapter 3 105
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".
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.
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.
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 page 102.
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.
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.
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.
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 points to the current value of bofEnable.
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.
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.
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.
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.
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.
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.
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.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically Signal Bandwidth MHz sigBw .25 dB 15 dB Sample Rate Msamples Decimate OFF Decimate ON 1 ±18 ±25 N/A 50 2 ±9 ±12.5 50 25 3 ±4.5 ±6.25 25 12.5 4 ±2.25 ±3.125 12.5 6.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.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically See Also “age1439_init” on page 132, “age1439_filter_setup” on page 120, “age1439_frequency_setup” on page 128, “age1439_meas_control” on page 151, “Managing multiple modules” in chapter 3 124
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".
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.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically age1439_frequency_setup Sets all the zoom center frequency parameters.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically See Also “Default values” on page 201, “age1439_init” on page 132, “age1439_clock_setup” on page 78, “age1439_data_setup” on page 90, “age1439_clock_fs” on page 76, “age1439_meas_control” on page 151, “Frequency and filtering” in chapter 3, “Using clock and sync” in chapter 3, “Managing multiple modules” in chapter 3 130
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".
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically See Also “Commands which halt active measurements” on page 198, “age1439_close” on page 86, “age1439_attrib_get” on page 74 133
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.
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".
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.
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.
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. range is the input range returned by age1439_input_range_get.
Agilent E1439 Programmer's Reference Functions listed alphabetically Note Variable Range Index Full Scale (dBm) Full Scale Voltage (Vp) AGE1439_RANGE_28 28 −8 .126 AGE1439_RANGE_27 27 −9 .112 AGE1439_RANGE_26 26 −10 .1 AGE1439_RANGE_25 25 −11 .089 AGE1439_RANGE_24 24 −12 .0794 AGE1439_RANGE_23 23 −13 .0708 AGE1439_RANGE_22 22 −14 .0631 AGE1439_RANGE_21 21 −15 .0562 AGE1439_RANGE_20 20 −16 .0501 AGE1439_RANGE_19 19 −17 .0447 AGE1439_RANGE_18 18 −18 .
Agilent E1439 Programmer's Reference Functions listed alphabetically See Also “age1439_init” on page 132, “age1439_input_setup” on page 141, “age1439_data_scale_get” on page 89 140
Agilent E1439 Programmer's Reference Functions listed alphabetically age1439_input_setup Sets all the analog input parameters.
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 points to the current value of the coupling parameter for an Agilent E1439 or group of Agilent E1439s. range 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.
Agilent E1439 Programmer's Reference Functions listed alphabetically Variable Range Index Full Scale (dBm) Full Scale Voltage (Vp) AGE1439_RANGE_21 21 −15 .0562 AGE1439_RANGE_20 20 −16 .0501 AGE1439_RANGE_19 19 −17 .0447 AGE1439_RANGE_18 18 −18 .0398 AGE1439_RANGE_17 17 −19 .0355 AGE1439_RANGE_16 16 −20 .0316 AGE1439_RANGE_15 15 −21 .0282 AGE1439_RANGE_14 14 −22 .0251 AGE1439_RANGE_13 13 −23 .0224 AGE1439_RANGE_12 12 −24 .02 AGE1439_RANGE_11 11 −25 .
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.
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.
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".
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 page 102.
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".
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 page 102.
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".
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.
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.
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.
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.
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.
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.
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.
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. productId returns the module ID such as E1439C or E1439D.
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".
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.
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.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically Resolution (bits) Words per sample REAL 12 2 REAL 24 4 COMPLEX 12 4 COMPLEX 24 8 Data type 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.
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 “age1439_init” on page 132, “age1439_read” on page 159, “age1439_status_get” on page 176, “age1439_data_setup” on page 90, “The measurement loop” in chapter 3 164
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.
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.
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.
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.
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. driverRev returns the date and time of the module's driver revision in the form: a.dd.
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically Error Message Error Code (hex) Self Test Status Message AGE1439_ST_ANALOG_FAIL 0x100 analog test failed AGE1439_ST_FIBER_FAIL 0x200 fiber test failed AGE1439_ST_EXECUTION_ERR 0x4000 self-test execution error Note The required completion time for self-test is up to 25 seconds depending on the amount of memory in the module. Note Calling this function halts any measurement or fiber transfer.
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.
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.
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.
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.
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. statusPtr points to the status word.
Agilent E1439 Programmer's Reference Functions listed alphabetically Status Bit Definition Description 8 AGE1439_STATUS_READ_VALID 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 AGE1439_STATUS_BLOCK_READY 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.
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.
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.
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.
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".
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.
Agilent E1439 Programmer's Reference Functions listed alphabetically age1439_trigger_setup Sets all triggering parameters.
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.
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 points to the current value of the genTrig parameter. magDwell 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.
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 AGE1439_EXTERNAL_ECL has the same constant value as the AGE1439_EXTERNAL constant in the E1439C. AGE1439_EXTERNAL is retained for backward compatibility.
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 This command should be used only for specialized custom clock requirements.
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.
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.
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Equivalent numeric values for variables Variable Name AGE1439_01_BOARD 0 AGE1439_03_BOARD 1 AGE1439_12BIT 1 AGE1439_24BIT 0 AGE1439_106MBS 0 AGE1439_250MBS 1 AGE1439_AC 1 AGE1439_ADC 1 AGE1439_ADC_LEVEL_DEF 0 AGE1439_ADC_LEVEL_MAX 2047 AGE1439_ADC_LEVEL_MIN −2048 AGE1439_ANTIALIAS_OFF 0 AGE1439_ANTIALIAS_ON 1 AGE1439_APPEND 2 AGE1439_ASSERT 1 AGE1439_BB_PATH 0 AGE1439_BLOCK 0 AGE1439_BLOCKSIZE_DE
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name Numeric Value AGE1439_CONTINUOUS 1 AGE1439_CUSTOM_CLOCK_SETUP −1 AGE1439_DATA_DELAY_MAX 805306320 AGE1439_DATA_DELAY_MIN 0 AGE1439_DATA_REGISTER 3 AGE1439_DC 0 AGE1439_DEBUG_LEVEL_0 0 AGE1439_DEBUG_LEVEL_1 1 AGE1439_DEBUG_LEVEL_2 2 AGE1439_DEBUG_LEVEL_3 3 AGE1439_DEBUG_LEVEL_4 4 AGE1439_DEBUG_LEVEL_5 5 AGE1439_DECIMATE_OFF 0 AGE1439_DECIMATE_ON 1 AGE1439_DECIMATE_SHIFT 2 AGE1439_DIVIDE_
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name 192 Numeric Value AGE1439_FIBER_SIGNAL_PRESENT 1 AGE1439_FIBER_VERIFY_INTERNAL 0 AGE1439_FIBER_VERIFY_EXTERNAL 1 AGE1439_FIBER_VERIFY_MIN 1 AGE1439_FIBER_VERIFY_MAX 1073 AGE1439_FLOW_CONTROL_OFF 0 AGE1439_FLOW_CONTROL_NO_COPY 1 AGE1439_FLOW_CONTROL_COPY 2 AGE1439_FRNT_MSTR_EXT_REF 8 AGE1439_FRNT_MSTR_INT_REF 7 AGE1439_FRNT_REAR_MSTR_EXT_REF 10 AGE1439_FRNT_REAR_MSTR_INT_REF 27 AGE1439_FRNT_R
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name Numeric Value AGE1439_MAG 3 AGE1439_MAGDWELL_DEF 1 AGE1439_MAGDWELL_MAX 16777215 AGE1439_MAGDWELL_MIN 0 AGE1439_MAG_LEVEL_DEF −128 AGE1439_MAG_LEVEL_FS 0 AGE1439_MAG_LEVEL_MAX 40 AGE1439_MAG_LEVEL_MIN −337 AGE1439_MAG_LEVEL_SCALE 0.
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name 194 Numeric Value AGE1439_RANGE_18 18 AGE1439_RANGE_19 19 AGE1439_RANGE_20 20 AGE1439_RANGE_21 21 AGE1439_RANGE_22 22 AGE1439_RANGE_23 23 AGE1439_RANGE_24 24 AGE1439_RANGE_25 25 AGE1439_RANGE_26 26 AGE1439_RANGE_27 27 AGE1439_RANGE_28 28 AGE1439_RANGE_29 29 AGE1439_RANGE_30 30 AGE1439_RANGE_31 31 AGE1439_RANGE_32 32 AGE1439_RANGE_33 33 AGE1439_RANGE_34 34 AGE1439_RANGE_35 35 AGE1
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name Numeric Value AGE1439_REAR_SLAV_EXT_REF 16 AGE1439_REAR_SYNC_EXT_SAMP 22 AGE1439_RELEASE 0 AGE1439_REVERSED 1 AGE1439_RM_HANDLE 2 AGE1439_RX_ERR_ AGE1439_RX_ERR_ALIGNMENT 8 AGE1439_RX_ERR_BEGIN_DISPARITY 4 AGE1439_RX_ERR_CODE_VIOLATION 16 AGE1439_RX_ERR_CRC 2 AGE1439_RX_ERR_DISPARITY 32 AGE1439_RX_ERR_FIFO_OVERFLOW 128 AGE1439_RX_ERR_SIGNAL_LOST 1 AGE1439_RX_ERR_SYNC_LOST 64 AGE1439_RX_ERR_
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name AGE1439_STATUS_FIFO_OVERFLOW 0x800 AGE1439_STATUS_HARDWARE_SET 0x8000 AGE1439_STATUS_MEAS_ARM_WAIT 0x1 AGE1439_STATUS_MEAS_IDLE 0x0 AGE1439_STATUS_MEAS_IN_PROGRESS 0x2 AGE1439_STATUS_MEAS_TRIG_WAIT 0x3 AGE1439_STATUS_MODID 0X4000 AGE1439_STATUS_OVERLOAD 0x1000 AGE1439_STATUS_PASSED AGE1439_STATUS_READ_VALID 0x4 0x100 AGE1439_STATUS_READY 0x8 AGE1439_STATUS_SETUP_ERROR 0x40 AGE1439_STATUS_SYNC_COM
Agilent E1439 Programmer's Reference Equivalent numeric values for variables Variable Name Numeric Value AGE1439_XFERSIZE_DEF 1024 AGE1439_XFERSIZE_MAX 805306320 AGE1439_XFERSIZE_MIN 2 197
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 age
Agilent E1439 Programmer's Reference Error messages Error messages Warnings and errors are based on the value VI_ERROR Error Number 0x0000 Parameter AGE1439_SUCCESS 0x80000000+0x3FFC0800 AGE1439_ERR_BASE Description No error, command succeeded Base number for error values AGE1439_ERR_BASE + 0x0001 AGE1439_BAD_COMMAND Invalid command code AGE1439_ERR_BASE + 0x0002 AGE1439_INVALID_HW_CONFIG The hardware configuration is not supported AGE1439_ERR_BASE + 0x0003 AGE1439_PARM_ERROR Invalid command p
Agilent E1439 Programmer's Reference Error messages Error Number Parameter Description AGE1439_ERR_BASE + 0x001b AGE1439_INTERFACE_HARDWARE_INCOMPATIBILE Interface hardware incompatible with instrument drivers AGE1439_ERR_BASE + 0x001d AGE1439_NULL_ID ID parameter is zero, function aborted AGE1439_ERR_BASE + 0x0001e AGE1439_STATUS_WAIT_TIMEOUT Time-out waiting for desired status AGE1439_ERR_BASE + 0x00067 AGE1439_AUTOZERO_ERROR Autozero error AGE1439_ERR_BASE + 0x00068 AGE1439_AUTOZERO_CONVE
Agilent E1439 Programmer's Reference Default values Default values Function Parameter Default Value “age1439_adc_clock” on page 72 adcClock AGE1439_VCXO_INTERNAL “age1439_adc_divider” on page 73 adcDivider AGE1439_DIVIDE_BY_38 “age1439_clock_setup” on page 78 clockSetup AGE1439_SIMPLE_INT_REF “age1439_data_setup” on page 90 blocksize AGE1439_BLOCKSIZE_DEF dataDelay AGE1439_DATA_DELAY_MIN dataType AGE1439_REAL mode AGE1439_BLOCK port AGE1439_VME resolution AGE1439_12BIT spectralOrd
Agilent E1439 Programmer's Reference Default values Function “age1439_input_setup” on page 141 Parameter Default Value antialias AGE1439_ANTIALIAS_ON coupling AGE1439_DC range AGE1439_RANGE_MAX signal AGE1439_SIGNAL_ON signalPath AGE1439_IF_PATH mask 0 priority 0 “age1439_lbus_mode” on page 148 lbusMode AGE1439_PIPELINE “age1439_lbus_reset” on page 150 lbusReset AGE1439_LBUS_RESET_ON “age1439_meas_control” on page 151 idle AGE1439_RELEASE sync AGE1439_RELEASE “age1439_reference_c
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 ag
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 clockSe
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, Vi
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
5 5 Module Description
Module Description Front Panel Description Front Panel Description XMT I/O Data LED lights when the module is accessed via the VXI backplane. RCV Access Overload Fiber optic serial FPDP data link. Dual LC connector. (”D” module only) LED lights whenever the input range is exceeded, producing an overload in the ADC XMT RCV 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.
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.
Module Description VXI backplane connections Trigger Lines The VXI specification provides 8 TTL and 2 ECL trigger lines that can be used for modulespecific 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.
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.
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.
Module Description Block diagram and description Attenuator 1-16 dB Bandpass Filter 52-88 MHz Amplifier 12 dB Amplifier 6dB Highpass Filter 52 MHz Attenuator 1-16 dB IF Baseband Bypass ! Signal IF Lowpass Filter 0-36 MHz Lowpass Filter 0-43 MHz 95 MHz Baseband Sampling ADC Offset DAC AC To Digital Filters DC Clock Generation The source for a clock signal is the 95 MHz crystal oscillator inside the E1439.
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.
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.
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.
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.
Module Description Block diagram and description 218
6 6 Replacing Assemblies
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.
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. Mfr. Name Location 28480 Agilent Technologies, Inc. Palo Alto, CA U.S.A. 03647 Instrument Specialties Co. Inc. Delaware Water Gap, PA U.S.A. 04637 Phelps Dodge Corp. New York, NY U.S.A. 16044 Kingston Technology Corp. Fountain Valley, CA U.S.A 07606 ITW Inc. / Medalist Glenview, IL U.S.A.
Replacing Assemblies Replaceable parts Assemblies Caution The module is static sensitive. Use the appropriate precautions when removing, handling, and installing to avoid damage.
Replacing Assemblies Replaceable parts Ref Des Agilent Part Number Qty Description MfrCode Part Number E1439-69201 1 E1439A EXCHANGE MODULE 28480 E1439-69201 E1439-69211 1 E1439B EXCHANGE MODULE 28480 E1439-69211 E1439-69202 1 E1439C EXCHANGE MODULE 28480 E1439-69202 E1439-69212 1 E1439D EXCHANGE MODULE 28480 E1439-69212 M1 1818-7889 1 SYNC DIMM 16MB 2X72 66MHZ - 16 M mem 16044 KTM66X72/16 M2 1818-7901 2 SYNC-DIMM 16MX72 PC100 168-DIMM - 128 M mem 16044 KGM100X72C3/128
Replacing Assemblies Replaceable parts To remove the top cover 224
Replacing Assemblies Replaceable parts To remove the M1, M2 assemblies 225
Replacing Assemblies Replaceable parts 226
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 A band in the frequency spectrum that begins at zero. In contrast a zoomed band is centered on a specific center frequency.
228
Index Numerics 70 MHZ IF input 212 9821, using with 42 A ac coupling, selecting 141 ADC, circuit description 215 address, module See logical address Agilent E9821, using with 42 alias filter See anti-alias filter alias protection See anti-alias filter analog filter See anti-alias filter analog input See input 212 anti-alias filter circuit description 214 default 30 described 30 selecting 120, 141 using 30 append fiber mode 50 appending data on local bus 148 arbitration bus, DTB 209 arm state, described 2
Index D data on local bus 148 output, circuit description 216 port, selecting 92 data formatting circuit description 215 specifying 90 data frame 44 data transfer bus 209 dc coupling, selecting 141 dc offset correction 134 decimation counters, synchronizing 151 decimation filter and triggering 25 changes 39 circuit description 215 described 30 selecting 120 DEVICE_NPRESENT 13 digital filter See decimation filter DIR 44 drivers installing Windows 12 upgrading 12 DTB arbitration bus 209 E E9821, using with
Index initiating an instrument session 132 measurements 151, 155 input analog 212 baseband 212 block diagram 212 circuit description 212 coupling 141 IF 212 setup 141 inserting data on local bus 148 installing hardware 3 memory 225 module 3 software 12 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 L local bus backplane connections 209 described 209 resettin
Index raw fiber mode 47 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 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 decimation counters 151 filter de
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
Index 234
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.
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.