Trigger System
Overview
The trigger system is used to enable and initiate measurements or user- respectively full range calibrations.
Trigger States
The trigger has three possible states:
- Idle
- Waiting for Trigger
- Action
Idle
After Power ON
, :ABORt
or *RST
the trigger is in the IDLE state.
In the IDLE state no trigger signals are accepted and no measurement can be
started. To leave the IDLE state, the trigger must be initiated. This can
either be done by calling :INITiate[:IMMediate]
(the trigger is initiated once) or by
setting the trigger into the Continuous Mode (the trigger remains in the
initiated mode after a measurement has finished). This can be done with the
command INITiate:CONTinuous ON
. Then the trigger state switches
to Waiting for Trigger
.
Performing a calibration can be seen as an exception of the typical trigger system behavior. Initiating a calibration (Calibrate commands) from the IDLE state is possible and switches the trigger system to the WAITING for trigger state and immediately to the ACTION state.
Waiting for Trigger
The device is waiting for an incoming trigger. If a trigger is recognized typically
a measurement is started (the trigger state moves to Action
). This
can be achieved either by supplying an external trigger signal to the device or by sending
one of the following commands:
Trigger commands (TRIG)
Additionally it is possible to perform a calibration out of the WAITING for trigger state:
Calibrate commands (CAL)
- :SENSe:CORRection:FULLrange:OPEN[:EXEcute]
- :SENSe:CORRection:FULLrange:SHORt[:EXEcute]
- :SENSe:CORRection:FULLrange:LOAD[:EXEcute]
- :SENSe:CORRection:FULLrange:THRU[:EXEcute]
- :SENSe:CORRection:USERrange:OPEN[:EXEcute]
- :SENSe:CORRection:USERrange:SHORt[:EXEcute]
- :SENSe:CORRection:USERrange:LOAD[:EXEcute]
- :SENSe:CORRection:USERrange:THRU[:EXEcute]
- :MMEMory:STORe:CORRection
- :MMEMory:LOAD:CORRection:FULLrange
- :MMEMory:LOAD:CORRection:USERrange
The device behaves slightly differently depending on the selected trigger command.
Command | Accepted trigger source | Awaitable with *OPC? |
---|---|---|
*TRG |
BUS |
no |
:TRIGger[:SEQuence]:SINGle |
BUS |
yes |
:TRIGger[:SEQuence][:IMMediate] |
BUS | INTERNAL |
no |
Calibrate commands | BUS | INTERNAL |
yes |
Action
While in the Action
state, the device is performing the selected measurement(s) or calibration(s). When the measurements are completed, the devices behavior depends on whether the trigger is in continuous mode or not (changeable with the INITiate:CONTinuous
command). If the device is in the continuous mode, it immediately switches back to the WAITING for Trigger
state, otherwise the device returns back to the IDLE
state.
Trigger Sources
The trigger source specifies which sources the trigger system recognizes as a valid trigger source. It can be set with [TRIGger[:SEQuence]:SOURce]
. Possible options are:
Trigger | Description |
---|---|
Bus Trigger | Generates a trigger when a SCPI/IEEE trigger command is executed (e.g. *TRG or :TRIG:SING ). |
Internal Trigger | Uses the internal trigger to generate continuous triggers automatically. |
External Trigger (currently not supported) | Uses the signal from the EXT TRIGGER IN connector as trigger source (Bode 500 only). |
Note
For a continuous measurement the Internal Trigger
must be selected and the Continuous Initiation Mode
must be enabled. With the internal trigger mode selected the device triggers itself automatically and with the continuous mode enabled the trigger state continuously switches between Action
and Waiting for Trigger
which results in a continuous measurement.
Commands
A summary of all commands related to the trigger system can be found in the following tables.
Command | Description |
---|---|
:INITiate:CONTinuous {ON |OFF |1 |0} |
enables or disables the triggers continuous initiation mode |
:INITiate[:IMMediate] |
changes the trigger state from Idle to Waiting for Trigger |
*TRG |
IEEE trigger command; generates a trigger if and only if the source is set to BUS |
:TRIGger[:SEQuence]:SINGle |
Generates a single trigger signal and can therefore be awaited |
:TRIGger[:SEQuence][:IMMediate] |
Generates a trigger signal but cannot be awaited |
:TRIGger[:SEQuence]:SOURce {BUS |INTernal |EXTernal} |
selects the trigger source |
Following calibration related commands are also using the trigger system and its status bits:
Command | Description |
---|---|
:SENSe:CORRection:FULLrange:OPEN[:EXEcute] |
Executes an OPEN calibration over the full frequency range |
:SENSe:CORRection:FULLrange:SHORt[:EXEcute] |
Executes a SHORT calibration over the full frequency range |
:SENSe:CORRection:FULLrange:LOAD[:EXEcute] |
Executes a LOAD calibration over the full frequency range |
:SENSe:CORRection:FULLrange:THRU[:EXEcute] |
Executes a THRU calibration over the full frequency range |
:SENSe:CORRection:USERrange:OPEN[:EXEcute] |
Executes an OPEN calibration over the frequency range configured by the user |
:SENSe:CORRection:USERrange:SHORt[:EXEcute] |
Executes a SHORT calibration over the frequency range configured by the user |
:SENSe:CORRection:USERrange:LOAD[:EXEcute] |
Executes a LOAD calibration over the frequency range configured by the user |
:SENSe:CORRection:USERrange:THRU[:EXEcute] |
Executes a THRU calibration over the frequency range configured by the user |
:MMEMory:STORe:CORRection |
Stores the current calibration data to the file system |
:MMEMory:LOAD:CORRection:FULLrange |
Loads a full-range calibration from the file system |
:MMEMory:LOAD:CORRection:USERrange |
Loads a user-range calibration from the file system |
Relations to the status register system
During a trigger cycle different bits of the Operation Regsiter
(OPER
) are affected. If you want to read more about status registers please follow the link to the status register system.
The interaction during time of the most important ones are shown in the following timing diagram.
Note
Loading calibration files are affecting the Calibrating
state but NOT the Sweeping
state of the OSR
.