Last updated: January 16, 2009
Typical test systems include an external controller with a GPIB connection to the test set, an RF (and possible AF) connection between the test set and a mobile station under test, and a serial connection between the mobile station and the external controller.
Synchronizing an external controller with the test set and a mobile station under test ensures that no device does something before it is supposed to, which can cause errors, or does something well after it could have, which wastes time.
The test set uses both sequential and overlapped commands:
Overlapped commands are more difficult to synchronize because an overlapped operation that started several commands earlier may still be executing as subsequent commands are being parsed out from the input buffer and executed. This can present a problem unless the external controller is properly synchronized to the test set's execution of commands. Overlapped commands allow the test set to use its internal resources as efficiently as possible.
The test set's GPIB command set supports the following methods to achieve synchronization for overlapped commands. In some cases, combinations of these methods will provide the best results:
Methods one and two do not require the external controller to query the test set, nor to perform any branching or decision-making associated with information acquired from the test set.
Methods three through six rely on responses from the test set to an external controller, indicating that some event has occurred. The external controller can then make decisions based on these responses to control the flow of commands to the test set and other devices in the test system.
CALL:STATus
This command queries the test set's current call processing state. This command supports synchronization method five. See
Call Processing State Synchronization
.
CALL:STATus
This command determines the connected/idle state of a call. A feature called the change detector provides the user with a way to hold off the response to this query until a call processing state transition has taken place. See
Connected/Idle Query
. This command supports synchronization method five.
:DONE? and :OPC?
These specialized commands can be appended to call processing overlapped commands to support synchronization method three. See
Call Processing Subsystem Overlapped Command Synchronization Commands
.
:WAIT
This specialized command can be appended to call processing overlapped commands to support synchronization method two.
See
Call Processing Subsystem Overlapped Command Synchronization Commands
.
:SEQ
This specialized command can be appended to call processing overlapped commands to support synchronization method one.
See
Call Processing Subsystem Overlapped Command Synchronization Commands
.
INITiate:DONE?
This specialized command causes the test set to return a mnemonic indicating if a measurement is done. If not, the returned mnemonic will indicate if the measurement is still executing. This command supports synchronization method three.
See
INITiate:DONE?
.
STATUS:<register>
Status bits in the register are provided to indicate the test set's call processing state. These bits support synchronization methods five and six.
Status bits in the
STATus:OPERation:NMRReady Register Bit Assignments
are provided to indicate when a measurement is ready to be fetched. These bits support synchronization method three and six.
Many other status bits are provided in the GPIB status subsystem that are useful for synchronization. See
STATus Subsystem Description
.
SYSTem:SYNChronized
This specialized command puts a 1 in the test set's output queue, the test set responds to the query by sending a 1 to the external controller indicating that all prior sequential commands have completed, and all prior overlapped commands have at least begun execution. The condition bit is set then cleared. See
STATus:OPERation Register Bit Assignments
. This command supports synchronization four and six.
*OPC
and
*OPC?
, and
*WAI
(not recommended)
Note: These commands look at all of the test set's operations collectively. Because multiple processes are likely to be executing at the same time, it is recommended that the other commands above be used instead.
Call Processing State Synchronization
Measurement Event Synchronization