Technical data
Private myStatusByte As Integer
Private myOperReg As Long
Sub Start_And_Verify_ELOC()
Set myED = myBert.EDs.Item("ED1")
Set myEDDataIn = myED.Input.DataIns.Item("EDDataIn1")
Set myPG = myBert.PGs.Item("PG1")
Set myPGDataOut = myPG.Outputs.Item("PGOutput1")
Set myELOC = myEDDataIn.ErrorLocation
Set myStatus = myBert.Status
' Reset the instrument:
myBert.Utility.Reset()
' Load a pattern to the pattern generator and Error detector
myPGDataOut.SelectData
(AgilentN490xPGOutputSelectEnum.AgilentN490xPGOutputSelectPRBN,"7")
myEDDataIn.SelectData(AgilentN490xPGOutputSelectEnum.
AgilentN490xPGOutputSelectPRBN, "7"
'Synchronize the error detector:
myEDDataIn.Synchronisation.SyncNow()
' Set the status registers to trigger when
Error Location Capture(starts)
With myStatus
'First clear the registers:
.Clear()
.Register(AgilentN490xStatusRegisterEnum.
AgilentN490xStatusRegisterOperation, _
AgilentN490xStatusSubRegisterEnum.
AgilentN490xStatusSubRegisterEnable) = &H4000
.Register(AgilentN490xStatusRegisterEnum.
AgilentN490xStatusRegisterOperation, _
AgilentN490xStatusSubRegisterEnum.
AgilentN490xStatusSubRegisterPositiveTransition) = &H4000
.Register(AgilentN490xStatusRegisterEnum.
AgilentN490xStatusRegisterOperation, _
AgilentN490xStatusSubRegisterEnum.
AgilentN490xStatusSubRegisterNegativeTransition) = 0
End With
' Error location only runs for all bits
myELOC.Mode = AgilentN490xEDErrorLocationModeEnum.
AgilentN490xEDErrorLocationModeAllBits
' Start the actual capture
myELOC.CaptureErrors()
' Wait until the ELOC register goes high:
Do
myStatusByte = myStatus.SerialPoll
If myStatusByte <> 0 Then
myOperReg = _
myStatus.Register(AgilentN490xStatusRegisterEnum.
Recommended Programming Techniques 3
Agilent J-BERT N4903B High-Performance Serial BERT 47
Starting ELOC and Verifying that it is
Running