Data Connection State Synchronization

Data Connection State Synchronization

Last updated: April 14, 2005

One of the most important and difficult aspects of synchronizing the external controller, test set and DUT is synchronizing the movement between data connection states. There are several specialized commands available to help you determine the state of the data connection, and verify that data connection processing events were successful.

Data Connection Query Summary

The suggested usage of these data connection queries is as follows:

Data Connection Query Usage
Query

Description

Suggested Usage

Programming Example

CALL:STATus[:STATe]:DATA?

Queries the status of the data connection. Immediately returns the state: CCL|CNEG|CREQ|DCON
|DORM|HAND|IDLE|PAG|
SCL|SNEG|SOP|UREQ.

Use after a handoff to verify the data connection state is still "connected". Hand Off to a New Channel or Band

The following non-transitory state queries are most useful in conjunction with the Data Connection State Change Detector . For more information about which data connection states are transitory and non-transitory, see TAP Data Connection Processing Lifecycle and Packet Data Connection Processing Lifecycle .

CALL:IDLE[:STATe]:DATA?

Queries whether or not the data connection is in the idle state. Immediately returns 1 or 0, or waits for a state change if the Data Connection State Change Detector is armed.

Use with the Data Connection State Change Detector to verify that your attempt to close the session was successful.

Close the Session

CALL:SOPen[:STATe]?

Queries whether or not the data connection is in the session open state. Immediately returns 1 or 0, or waits for a state change if the Data Connection State Change Detector is armed.

Use with the Data Connection State Change Detector to verify that your attempt to open a session was successful, or to verify your attempt to close a connection (and preserve the session) was successful.

Establish a Session from the Access Terminal , or Close the Connection

CALL:DCONnected[:STATe]?

Queries whether or not the data connection is in the connected state. Immediately returns 1 or 0, or waits for a state change if the Data Connection State Change Detector is armed.

Use with the Data Connection State Change Detector to verify that your attempt to open a connection was successful. Open a Connection from the Test Set
CALL:DORMant[:STATe]? ( Lab Application Only )

Queries whether or not the packet data connection is in the dormant state. Immediately returns 1 or 0, or waits for a state change if the Data Connection State Change Detector is armed.

Use with the Data Connection State Change Detector to verify that your attempt to force the connection to dormant was successful.

Data Connection State Change Detector

The data connection state change detector is useful when you expect a change in the data connection state, and want to know when it is complete. The change detector is used in conjunction with the non-transitory state queries (CALL:IDLE:DATA?, CALL:SOPen?, CALL:DORMant? and CALL:DCONnected?). For more information about which data connection states are transitory and non-transitory, see TAP Data Connection Processing Lifecycle when the test set is configured to use the Test Application protocols ( Test Application Protocol ). In the lab application, when the test set is configured to use the Default Packet Application ( Session Application Type ), see Packet Data Connection Processing Lifecycle for more information about which data connection states are transitory and non-transitory.

Arming the Data Connection State Change Detector

The data connection state change detector is automatically armed by the test set when data connection processing operations originating from the test set are requested.

When the test set is configured to use the Test Application protocols (see Test Application Protocol ), the operations that can be originated from the test set are as follows:

For the lab application , when the test set is configured to use the Default Packet Application protocols (see Session Application Type ), the operations that can be originated from the test set are as follows:

You only need to arm the change detector to hold off the data connection queries when you are opening or closing a session or connection from the AT.

Arm the change detector using the CALL:DCONnected:ARM[:IMMediate] command.

Data Connection State Change Detector Timeout

The data connection state change detector includes a timeout that you can set to limit the amount of time that the test set will wait for a change in the data connection state. The timer begins when the change detector is armed or rearmed when already armed. The duration of this timeout is set using the CALL:DCONnected:TIMeout command and should be greater than the maximum amount of time the control program needs to wait between arming the data connection state change detector and the data connection operation starting. Once the process starts and the data connection state has moved to one of the transitory states, the protocol timers take over and prevent the data channel's state from staying in a transitory state forever. If the timer expires, the change detector is disarmed, and the data connection query returns 1 or 0 as soon as any non-transitory state is reached. The timeout is user-settable, but the user setting is only applied during AT originated data connection processing operations. For test set originated operations, the timeout is automatically set to 60 seconds by the test set.

Disarming the Data Connection State Change Detector

In summary, the change detector is disarmed by:

When the change detector is disarmed, the query returns 1 or 0 as soon as a non-transitory state is reached.

Access Terminal Session Establishment - Arming the Change Detector

The following example illustrates the use of the data connection state change detector along with the CALL:SOPen? query to synchronize a controlling application with a data connection processing state change during an AT-initiated session establishment.

When the CALL:DCONnected:ARM command is received by the test set, the change detector becomes armed and configures the test set to hold off on returning a result for the CALL:SOPen? query until the detector is disarmed by one of the four events described above.

 
10    OUTPUT 714;"CALL:DCONnected:TIMeout 10S" ! Sets the change detector
20                                             ! timeout to 10 seconds.
30    OUTPUT 714;"CALL:DCONnected:ARM" ! Arm the change detector
35	                                     ! (initial state is noted, timeout timer starts).
40    DISP "Establish a session from the access terminal. Continue when done."
50    PAUSE
60    OUTPUT 714;"CALL:SOPen?" ! The session open query.
70    ENTER 714;Session_open
80    IF Session_open=1 THEN
90      DISP "Session is open."
100     WAIT 2
110   ELSE
120     DISP "Session is not open."
130     WAIT 2
140   END IF
150   END

Related Topics


Test System Synchronization Overview

Data Connection Processing Event Synchronization

Measurement Event Synchronization

Instrument Status Area