beautypg.com

Agilent Technologies VXI E1439 User Manual

Page 162

background image

152

Agilent E1439 Programmer's Reference

Functions listed alphabetically

This function performs the following sequence:

1. Waits for both the AGE1439_STATUS_HARDWARE_SET and AGE1439_STATUS_

SYNC_COMPLETE bits to be set.

2. Returns AGE1439_STATUS_WAIT_TIMEOUT if more than three seconds elapses in

step 1.

3. Returns AGE1439_SETUP_ERROR if AGE1439_STATUS_SETUP_ERROR was

detected in step 1.

4. Writes data to the control register as prescribed by arguments to the function.

5. Clears the overload count maintained by the API.

See “Comments on Overload” on

page 160

6. Waits for AGE1439_STATUS_SYNC_COMPLETE.

7. Returns AGE1439_SYNC_NOT_COMPLETE if more than three seconds elapse in step

6, otherwise it returns AGE1439_SUCCESS.

Special conditions prevail during the Measure state. If programmed for block mode operation in
the Measure state, the module asserts the Sync signal (regardless of the age1439_meas_control
sync parameter setting) until a complete block of data has been collected and is available to the
I/O port. When the shared Sync signal is released, indicating that all block mode data collection is
finished, all block mode modules move synchronously to the idle state. In continuous mode the
module releases the Sync signal immediately after moving into the measure state. This allows the
age1439_meas_control function to manipulate the Sync signal to cause synchronous changes to
LO frequency while a continuous measurement is in progress. In continuous mode a module
moves to the idle state only if explicitly programmed to do so or whenever the FIFO data buffer
overflows.

In addition to controlling the progression through the four module states, the Sync signal is used
to allow for synchronizing the decimation counters and local oscillators of multiple
Agilent E1439 modules and synchronizing the fs/10 clock during external sampling. This is done
by calling age1439_filter_sync and/or age1439_frequency_sync prior to asserting Sync with
age1439_meas_control. This is normally done with the module in the Idle state; however, the
center frequency can also be changed in the Measure state with age1439_frequency_sync if the
modules are all programmed for continuous (non-block mode) data collection.

If all modules in a multi-module system are in the Idle state when the age1439_meas_control
sync parameter is asserted, the LO frequency is updated and the next measurement is armed. If all
modules are in the measurement state in continuous mode, the LO frequency is synchronously
updated, and the measurement continues. In continuous mode you should ensure that all modules
are in the same state, either the Idle state or the Measure state, before using age1439_meas_
control
to assert Sync. Otherwise some modules re-arm while others continue the current
measurement. In block mode the sync assertion is ignored unless all modules are in the Idle state.

The age1439_meas_control function assures that a single module is in a valid state by checking
that the hardware complete and sync valid bits in the status register are both true. In synchronous
multi-module systems you should use the age1439_wait function for each module to assure a
valid state in non-master modules within a synchronous group.

In the case of systems made up of multiple mainframes you must be aware that only modules in
the mainframe containing the master module, as defined by age1439_clock_setup, may assert
sync. Any sync asserted in other mainframes is ignored by modules in all mainframes. This is true
only for rear panel sync. Front panel sync is not sensitive to master mainframe designation.

This manual is related to the following products: