October 11, 2000 2
USB 2.0 Production Testing
USB 2.0 Production Testing
Michael PasumanskyMichael PasumanskyCATCCATC
October 11, 2000 3
USB Production TestingUSB Production Testing
Production test Vs Validation TestProduction test Vs Validation Test Test EnvironmentTest Environment Test MethodsTest Methods Test SetupTest Setup Test CoverageTest Coverage Test ConfigurationTest Configuration Test resultsTest results
What Is in the Presentation
October 11, 2000 4
USB Production TestingUSB Production Testing
Production Test Vs Verification TestProduction Test Vs Verification Test– Verification test validates the correctness of the designVerification test validates the correctness of the design– Production test tests specific units of the productProduction test tests specific units of the product
with the basic assumption that the product was with the basic assumption that the product was designed to specdesigned to spec
October 11, 2000 5
USB Production TestingUSB Production Testing
Test EnvironmentTest Environment– DOS Vs WindowsDOS Vs Windows– Stand alone HW box Vs integrated ATEStand alone HW box Vs integrated ATE– Tester recovery after testing a bad unitTester recovery after testing a bad unit– How to protect the tester USB connectorsHow to protect the tester USB connectors– Operator skillsOperator skills
October 11, 2000 6
USB Production TestingUSB Production Testing
Test Setup and Test MethodologyTest Setup and Test Methodology– Testing USB host root portsTesting USB host root ports
USB HCUSB HCunder testunder testUSB HCUSB HC
under testunder test
DOS test SWDOS test SW
Tester BoxTester BoxProgrammable USBProgrammable USB
DeviceDevice
Tester BoxTester BoxProgrammable USBProgrammable USB
DeviceDevice
USBUSBUSBUSB
USBUSBUSBUSB
October 11, 2000 7
USB Production TestingUSB Production Testing
Testing any USB portsTesting any USB ports
Tester BoxTester BoxProgrammable Programmable
USB DeviceUSB Device
Tester BoxTester BoxProgrammable Programmable
USB DeviceUSB DeviceUSBUSB
USBUSBUSB HCUSB HC
under testunder testUSB HCUSB HC
under testunder test
DOS test SW
DOS test SW HubHubHubHub
October 11, 2000 8
USB Production TestingUSB Production Testing
Test MethodsTest Methods– Method I - Plug a USB mouse to each one of the USB Method I - Plug a USB mouse to each one of the USB
ports and check the mouse cursor movement ports and check the mouse cursor movement – Method II - Use a special purpose USB tester that was Method II - Use a special purpose USB tester that was
designed to test USB host controllers (OHCI / UHCI) designed to test USB host controllers (OHCI / UHCI) and USB hubsand USB hubs
October 11, 2000 9
USB Production TestingUSB Production Testing
Test Coverage (USB host controller)Test Coverage (USB host controller)– Writing and reading all host controllers registersWriting and reading all host controllers registers– Host controller initializationHost controller initialization– FS and LS device enumerationFS and LS device enumeration– FS and LS Data loop-backFS and LS Data loop-back– Device connect and disconnectDevice connect and disconnect– Analog measurements of D+, D- and VCCAnalog measurements of D+, D- and VCC
October 11, 2000 10
USB Production TestingUSB Production Testing
Test Coverage (USB hub)Test Coverage (USB hub)– Hub enumerationHub enumeration– FS and LS connect and disconnect events at every FS and LS connect and disconnect events at every
downstream portdownstream port– FS and LS Data loop-back through each portFS and LS Data loop-back through each port– Remote wakeup (all combinations)Remote wakeup (all combinations)– Power management (OC, PWR switching)Power management (OC, PWR switching)– Analog measurements of all downstream portsAnalog measurements of all downstream ports
October 11, 2000 11
USB Production TestingUSB Production Testing
Test Configuration / CustomizationTest Configuration / Customization– Customers require control on what to test and on the Customers require control on what to test and on the
Go / No Go valuesGo / No Go values– Special test option to allow the test to pass even when Special test option to allow the test to pass even when
there are known issuesthere are known issues– API to enable 3rd party test utilities to use the same API to enable 3rd party test utilities to use the same
tester boxtester box
October 11, 2000 12
USB Production TestingUSB Production Testing
Test ResultsTest Results– Production line operator screenProduction line operator screen– Debug screenDebug screen– Analog results screenAnalog results screen– USB setup topology reportUSB setup topology report– Detailed failure descriptionDetailed failure description– Daily test reportDaily test report– Daily statistical report Daily statistical report
October 11, 2000 13
USB Production TestingUSB Production Testing
; AutoReturnToDOS=Yes,1000; AutoReturnToDOS=Yes,1000 ; TypeOfPortsToBeTested=Root ; TypeOfPortsToBeTested=Root ; TypeOfUSBHostController=UHCI; TypeOfUSBHostController=UHCI ; NumberOfPorts=1; NumberOfPorts=1 ; EndOfTestSound=Off ; EndOfTestSound=Off ; OHCIBaseAddress=D800 ; OHCIBaseAddress=D800 ; TestLog=Statistics; TestLog=Statistics DefaultScreen=DebugDefaultScreen=Debug ; ConsoleMode=Yes; ConsoleMode=Yes ; UHCIPix4Irq=11; UHCIPix4Irq=11 DisableTest=2,3,4,5,6,7,8,9,10,11,12,13DisableTest=2,3,4,5,6,7,8,9,10,11,12,13 DisableFunctionKeys=9DisableFunctionKeys=9 ; EmbeddedPorts=2,3; EmbeddedPorts=2,3 ; HubTrafficIndicatorDuration=Yes,200; HubTrafficIndicatorDuration=Yes,200 USBLineIdleHigh=3.10USBLineIdleHigh=3.10 USBLineIdleLow=0.11USBLineIdleLow=0.11 USBLineDrivenHigh=3.15USBLineDrivenHigh=3.15
USBLineDrivenHigh=3.15USBLineDrivenHigh=3.15 USBLineDrivenLow=0.22USBLineDrivenLow=0.22 CHigh=5.43CHigh=5.43 VCCLow=5.00VCCLow=5.00 ; VCCLoad=700; VCCLoad=700 ; OvercurrentValue=1500; OvercurrentValue=1500 ; OvercurrentDuration=300; OvercurrentDuration=300 ; PropagationDuration=200; PropagationDuration=200 RunTestKey=SpaceRunTestKey=Space ; PIX3IOSpace; PIX3IOSpace ; PIX3IRQ; PIX3IRQ PIX3ClockPIX3Clock USBKeyboardEnabled=YesUSBKeyboardEnabled=Yes PowerSwitchingDelay=30PowerSwitchingDelay=30 ; AutoOCStartFrom=40; AutoOCStartFrom=40 ; AutoOCIncreaseBy=1; AutoOCIncreaseBy=1 ; AutoOCDelay=50; AutoOCDelay=50
October 11, 2000 17
USB Production TestingUSB Production Testing
USB 2.0 specificsUSB 2.0 specifics– Have to test 3 speedsHave to test 3 speeds– Have to talk to multiple host controllersHave to talk to multiple host controllers
Challenges for split transactions for host testingChallenges for split transactions for host testing– Cannot test unless a 2.0 hub is connected to the host Cannot test unless a 2.0 hub is connected to the host
(or the host has an integrated hub)(or the host has an integrated hub)– It is not feasible to put a 2.0 hub on the testerIt is not feasible to put a 2.0 hub on the tester– An option can be provided using an external 2.0 hub An option can be provided using an external 2.0 hub
between the host and a channel on the testerbetween the host and a channel on the tester
October 11, 2000 18
USB Production TestingUSB Production TestingSummarySummary
Production test environment, with a focus of the Production test environment, with a focus of the specific issues that are related to testing USB specific issues that are related to testing USB (Host controllers and USB hubs)(Host controllers and USB hubs)
Different test methodsDifferent test methods Configuration and customization requested by Configuration and customization requested by
USB product manufacturersUSB product manufacturers Test coverage and test resultsTest coverage and test results