Hello,
I am using the IVI driver and writing c# for my E4438C VSG. I am currently able to trigger a burst waveform (~500ms) from the ARB, but in order to get it to function, I enable the RF, send the software trigger, sleep in software for 500ms and then disable the rf. Is there a way for the trigger to disable the rf after the burst is complete (all samples are transmitted) rather than to sleep?
I tried to just keep the RF on, but there is continuous energy transmitted from the VSG when it is idle that my application can not tolerate, so I am using the RF on/off.
Thanks
Reese
------- code fragment
IIviRFSigGen drvr = (IIviRFSigGen)driver;
drvr.DigitalModulation.Arb.TriggerSource = IviRFSigGenArbTriggerSourceEnum.IviRFSigGenArbTriggerSourceSoftware;
drvr.DigitalModulation.Arb.SelectedWaveform = arbfile;
drvr.RF.Frequency = xmtFrequency; // set frequency
drvr.RF.Level = xmtPower; // set level (dBm)
drvr.IQ.Source = IviRFSigGenIQSourceEnum.IviRFSigGenIQSourceArbGenerator;
drvr.IQ.Enabled = true;
drvr.RF.OutputEnabled = true;
drvr.SendSoftwareTrigger();
Thread.Sleep(500); // wait for burst to transnmit
driver.RF.OutputEnabled = false;
I am using the IVI driver and writing c# for my E4438C VSG. I am currently able to trigger a burst waveform (~500ms) from the ARB, but in order to get it to function, I enable the RF, send the software trigger, sleep in software for 500ms and then disable the rf. Is there a way for the trigger to disable the rf after the burst is complete (all samples are transmitted) rather than to sleep?
I tried to just keep the RF on, but there is continuous energy transmitted from the VSG when it is idle that my application can not tolerate, so I am using the RF on/off.
Thanks
Reese
------- code fragment
IIviRFSigGen drvr = (IIviRFSigGen)driver;
drvr.DigitalModulation.Arb.TriggerSource = IviRFSigGenArbTriggerSourceEnum.IviRFSigGenArbTriggerSourceSoftware;
drvr.DigitalModulation.Arb.SelectedWaveform = arbfile;
drvr.RF.Frequency = xmtFrequency; // set frequency
drvr.RF.Level = xmtPower; // set level (dBm)
drvr.IQ.Source = IviRFSigGenIQSourceEnum.IviRFSigGenIQSourceArbGenerator;
drvr.IQ.Enabled = true;
drvr.RF.OutputEnabled = true;
drvr.SendSoftwareTrigger();
Thread.Sleep(500); // wait for burst to transnmit
driver.RF.OutputEnabled = false;
Have you tried using the Gated triggering? This will cause the waveform to wait for the first active trigger signal state to begin transmission, then repeatedly start and stop in response to an externally applied trigger signal. In the Arb format, the waveform plays during the inactive states, and stops during the active state.
*Ext Trigger* from the Trigger Source menu will be selected when the gated trigger mode is used. The length of each transmission depends on the duty period of the trigger signal and the gate polarity selection, which is set with the Gate Active Low High softkey. The polarity selection also determines which state (negative or positive) of the trigger signal causes an interruption in the modulating signal.
The external trigger signal connects to either the PATTERN TRIG IN connector or the Auxiliary I/O connector (PATT TRIG IN 2 pin). To select the connector, use the *Ext* Source softkey.
Gated Trigger SCPI: [:SOURce]:RADio:ARB:TRIGger:TYPE:GATE:ACTive LOW|HIGH
Hope this helps -