Technical data

Dim myPG As AgilentN490x.Interop.IAgilentN490xPG2
Set BERTStatus = myBERT.Status
Set myED = myBERT.EDs.Item("ED1")
Set myPG = myBERT.PGs.Item("PG1")
' First enable the register of interest:
' Operation register, bit 13, positive transition
BERTStatus.Register(AgilentN490xStatusRegisterOperation, _
AgilentN490xStatusSubRegisterEnable) = &H2000
BERTStatus.Register(AgilentN490xStatusRegisterOperation, _
AgilentN490xStatusSubRegisterPositiveTransition) = &H0
BERTStatus.Register(AgilentN490xStatusRegisterOperation, _
AgilentN490xStatusSubRegisterNegativeTransition) = &H2000
' Now clear the registers
BERTStatus.Clear
' ED should track the PG
myED.Input.DataIns.Item("EDDataIn1").TrackingEnabled = True
' Load the pattern
myPG.Outputs.Item("PGOutput1").SelectData
AgilentN490xPGOutputSelectFile, "testptr.ptrn"
' Just wait until the Operation bit goes low
Do While (BERTStatus.SerialPoll And &H80)
DoEvents
Loop
End Sub
Checking the Analyzer Sync with SCPI Using Agilent I/O Libraries
The following example illustrates how to check the synchronization status using
SCPI.
/* We need to check sync loss bit
of the Questionable register (bit 10) */
const unsigned int QUESTION_REG_10 = 2^10;
unsigned int question_reg;
unsigned int opc_stat;
/* Make sure the error detector tracks
the pattern generator */
viPrintf(vi, "SENSe1:PATTern:TRACk ON\n");
/* Load a pattern file to the instruments */
viPrintf(vi, "SOURce1:PATTern:SELect FILename, testfile.ptrn\n");
/* Wait until the instrument is in operational state */
viQueryf(vi, "*OPC?\n", "%d", &opc_stat);
do
{
/* Get the Questionable register */
viQueryf (vi, "STATus:QUEStionable:CONDition?\n", "%d",
&question_reg);
/* Loop until the sync loss bit goes low */
Recommended Programming Techniques 3
Agilent J-BERT N4903B High-Performance Serial BERT 23