How do you use lcpert_connecttodut(), How do you use lcpert_connecttodutwithoptions() – Teledyne LeCroy PeRT3 Software Interface User Manual
Page 8

There are 4 loopback sequence options:
o USB 3.0 Disconnect Support - switches when the test is started, after training is complete.
o USB 3.0 No Disconnect Support - Switches during training -- this is the default behavior.
o USB 3.0 High Speed Path Only - switch to the jitter injection path prior to LFPS polling or
training. Most DUT's will not initialize correctly using this sequence because the LFPS signaling
will not be clean - however some devices have been seen that actually require this mode in order
to be initialized correctly.
o USB 3.0 Diagnostic Mode (No Jitter) – never makes the switch - this option is provided for use in
debugging DUT initialization only. If the DUT doesn't go into loopback with the default settings,
but does go into loopback with the "Diagnostic Mode (No Jitter)" setting, then the DUT is
sensitive to the switching and it is worthwhile to experiment with the other settings to find one
that is optimal for your device. If it doesn't go into loopback with the "Diagnostic Mode (No
Jitter)" setting, then the timing of the switch is probably not the reason the DUT doesn't go into
loopback.
How do you use LCPeRT_ConnectToDUT()?
There are a few ways to use the functions:
o LCPeRT_ConnectToDUT(session, false, false, NULL) – This will count bit error rate using
loopback BIST
o LCPeRT_ConnectToDUT(session, false, true, NULL) – This will count frame error rate
o LCPeRT_ConnectToDUT(session, false, false, "Sequence Name") – This will send a custom
initialization sequence
CustomSequence argument (the last argument) is normally set to NULL. You only use that argument if
you need to initialize the DUT in a vendor-specific way rather than using the built in logic that initializes
the DUT based on the protocol spec. If you specify a pattern name there, that pattern get played out once
in order to initialize the DUT - basically it's just a blind initialization sequence that can be any arbitrary
sequence the tester wants to specify. This supports testing of custom protocol or testing proprietary
methods of putting the device into a loopback state rather than the protocol standard.
Pass a NULL pointer for CustomSequence rather than an empty string when you want the default
behavior.
As of version 1.5 there are two built-in patterns that are used for controlling a USB 3.0 device for TX
testing. These are "USB 3.0 TX Test Init" and "USB 3.0 TX Test Ping"
o LCPeRT_ConnectToDUT (SessionId, false, false, “USB 3.0 TX Test Init” - initialize the DUT
for TX testing
o LCPeRT_ConnectToDUT (SessionId, false, false, “USB 3.0 TX Test Ping”)- move the device to
the next state (i.e. send CP1, CP2, etc...).
How do you use LCPeRT_ConnectToDUTWithOptions()?
LCPeRT_ConnectToDUTWithOptions() is used to both specify the standard loopback initialization and
the custom sequence.
A few examples of using the function: