May 9, USB 2.0 Production Testing Michael Pasumansky CATC Michael Pasumansky CATC
May 9, USB Production Testing w Production test Vs Validation Test w Test Environment w Test Methods w Test Setup w Test Coverage w Test Configuration w Test results w Production test Vs Validation Test w Test Environment w Test Methods w Test Setup w Test Coverage w Test Configuration w Test results What Is in the Presentation
May 9, USB Production Testing w Verification test validates the correctness of the design w Production test tests specific units of the product with the basic assumption that the product was designed to spec w Verification test validates the correctness of the design w Production test tests specific units of the product with the basic assumption that the product was designed to spec Production Test vs. Verification Test
May 9, USB Production Testing w DOS Vs Windows w Stand alone HW box Vs integrated ATE w Tester recovery after testing a bad unit w How to protect the tester USB connectors w Operator skills w DOS Vs Windows w Stand alone HW box Vs integrated ATE w Tester recovery after testing a bad unit w How to protect the tester USB connectors w Operator skills Test Environment
May 9, USB Production Testing w Method I - Plug a USB mouse to each one of the USB ports and check the mouse cursor movement w Method II - Use a special purpose USB tester that was designed to test USB host controllers (OHCI / UHCI) and USB hubs w Method I - Plug a USB mouse to each one of the USB ports and check the mouse cursor movement w Method II - Use a special purpose USB tester that was designed to test USB host controllers (OHCI / UHCI) and USB hubs Test Methods
May 9, USB HC under test USB HC under test DOS test SW USB Tester Box Programmable USB Device Tester Box Programmable USB Device USB Production Testing w Testing USB host root ports Test Setup and Test Methodology
May 9, USB Production Testing Testing Any USB Ports USB USB USB HC under test USB HC under test DOS test SW DOS test SW HubHub Tester Box Programmable USB Device Tester Box Programmable USB Device
May 9, USB Production Testing w Writing and reading all host controllers registers w Host controller initialization w FS and LS device enumeration w FS and LS Data loop-back w Device connect and disconnect w Analog measurements of D+, D- and VCC w Writing and reading all host controllers registers w Host controller initialization w FS and LS device enumeration w FS and LS Data loop-back w Device connect and disconnect w Analog measurements of D+, D- and VCC Test Coverage (USB Host Controller)
May 9, USB Production Testing w Hub enumeration w FS and LS connect and disconnect events at every downstream port w FS and LS Data loop-back through each port w Remote wakeup (all combinations) w Power management (OC, PWR switching) w Analog measurements of all downstream ports w Hub enumeration w FS and LS connect and disconnect events at every downstream port w FS and LS Data loop-back through each port w Remote wakeup (all combinations) w Power management (OC, PWR switching) w Analog measurements of all downstream ports Test Coverage (USB Hub)
May 9, USB Production Testing w Customers require control on what to test and on the Go / No Go values w Special test option to allow the test to pass even when there are known issues w API to enable 3rd party test utilities to use the same tester box w Customers require control on what to test and on the Go / No Go values w Special test option to allow the test to pass even when there are known issues w API to enable 3rd party test utilities to use the same tester box Test Configuration / Customization
May 9, USB Production Testing w Production line operator screen w Debug screen w Analog results screen w USB setup topology report w Detailed failure description w Daily test report w Daily statistical report w Production line operator screen w Debug screen w Analog results screen w USB setup topology report w Detailed failure description w Daily test report w Daily statistical report Test Results
May 9, USB Production Testing w ; AutoReturnToDOS=Yes,1000 w ; TypeOfPortsToBeTested=Root w ; TypeOfUSBHostController=UHCI w ; NumberOfPorts=1 w ; EndOfTestSound=Off w ; OHCIBaseAddress=D800 w ; TestLog=Statistics w DefaultScreen=Debug w ; ConsoleMode=Yes w ; UHCIPix4Irq=11 w DisableTest=2,3,4,5,6,7,8,9,10,11,12,13 w DisableFunctionKeys=9 w ; EmbeddedPorts=2,3 w ; HubTrafficIndicatorDuration=Yes,200 w USBLineIdleHigh=3.10 w USBLineIdleLow=0.11 w USBLineDrivenHigh=3.15 w USBLineDrivenLow=0.22 w USBLineDrivenHigh=3.15 w USBLineDrivenLow=0.22 w CHigh=5.43 w VCCLow=5.00 w ; VCCLoad=700 w ; OvercurrentValue=1500 w ; OvercurrentDuration=300 w ; PropagationDuration=200 w RunTestKey=Space w ; PIX3IOSpace w ; PIX3IRQ w PIX3Clock w USBKeyboardEnabled=Yes w PowerSwitchingDelay=30 w ; AutoOCStartFrom=40 w ; AutoOCIncreaseBy=1 w ; AutoOCDelay=50
May 9, USB Production Testing
May 9, USB Production Testing
May 9, USB Production Testing
May 9, USB Production Testing w USB 2.0 specifics – Have to test 3 speeds – Have to talk to multiple host controllers w Challenges for split transactions for host testing – Cannot test unless a 2.0 hub is connected to the host (or the host has an integrated hub) – It is not feasible to put a 2.0 hub on the tester – An option can be provided using an external 2.0 hub between the host and a channel on the tester w USB 2.0 specifics – Have to test 3 speeds – Have to talk to multiple host controllers w Challenges for split transactions for host testing – Cannot test unless a 2.0 hub is connected to the host (or the host has an integrated hub) – It is not feasible to put a 2.0 hub on the tester – An option can be provided using an external 2.0 hub between the host and a channel on the tester New for 2.0
May 9, USB Production Testing w Unlike for HCs and Hubs, cannot be generalized w Still want full Software control – Minimize test time – Perform tasks that are hard to set up with target OS driver/application for your device w Modified Linux USB stack can help, have to do modifications yourself w Can use USB stack for DOS w Can concentrate on testing the functionality w Unlike for HCs and Hubs, cannot be generalized w Still want full Software control – Minimize test time – Perform tasks that are hard to set up with target OS driver/application for your device w Modified Linux USB stack can help, have to do modifications yourself w Can use USB stack for DOS w Can concentrate on testing the functionality Testing USB Devices
May 9, USB Production Testing w Production test environment, with a focus of the specific issues that are related to testing USB (Host controllers and USB hubs) w Different test methods w Configuration and customization requested by USB product manufacturers w Test coverage and test results w Production test environment, with a focus of the specific issues that are related to testing USB (Host controllers and USB hubs) w Different test methods w Configuration and customization requested by USB product manufacturers w Test coverage and test results Summary