Upload
laurence-shields
View
220
Download
1
Embed Size (px)
Citation preview
October 10, 2000 3
AgendaAgenda
USB 2.0 Hub OverviewUSB 2.0 Hub Overview Electrical and Chapter 11 Test AdditionsElectrical and Chapter 11 Test Additions High Speed Repeater TestingHigh Speed Repeater Testing Test Hardware RequirementsTest Hardware Requirements Transaction Translator TestingTransaction Translator Testing
– Full Speed and Low Speed Compliance DevicesFull Speed and Low Speed Compliance Devices– Functional TestingFunctional Testing– Protocol TestingProtocol Testing– Non-Periodic Buffer AffinityNon-Periodic Buffer Affinity– Periodic Microframe SchedulingPeriodic Microframe Scheduling
October 10, 2000 4
Hub Overview – ArchitectureHub Overview – Architecture
Unchanged From 1.1 Hubs (Except HS Signaling)Unchanged From 1.1 Hubs (Except HS Signaling)– HS & FS/LS Repeaters, Determined by Upstream Facing LinkHS & FS/LS Repeaters, Determined by Upstream Facing Link– Hub ControllerHub Controller
Minor changes from classic hub:Minor changes from classic hub:– Hub state machine (HS Detect, HS Termination Transitions, Test Mode)Hub state machine (HS Detect, HS Termination Transitions, Test Mode)
New Hub Functional Units:New Hub Functional Units:– Transaction TranslatorTransaction Translator– Port Routing logicPort Routing logic
HS/Classic HS/Classic HubHub
ControllerController
HS/Classic HS/Classic HubHub
ControllerController
TransactionTransactionTranslatorTranslator
(1 or N)(1 or N)
TransactionTransactionTranslatorTranslator
(1 or N)(1 or N)Full/LowFull/LowSpeedSpeed
High Speed OnlyHigh Speed Only
. . . . .. . . . .
HS/Classic HS/Classic Hub StateHub StateMachineMachine
HS/Classic HS/Classic Hub StateHub StateMachineMachine
Routing LogicRouting Logic
PortPort PortPort PortPort
PortPort
HS/Classic HS/Classic HubHub
RepeaterRepeater
HS/Classic HS/Classic HubHub
RepeaterRepeater
October 10, 2000 5
Routing LogicRouting Logic Routing LogicRouting Logic
TransactionTransactionTranslatorTranslator
TransactionTransactionTranslatorTranslatorFull/LowFull/Low
SpeedSpeed
High Speed OnlyHigh Speed OnlyPortPort
Repeater, Controller, ...Repeater, Controller, ...Repeater, Controller, ...Repeater, Controller, ...
PortPort PortPort PortPort
Hub Overview – New PiecesHub Overview – New Pieces
Port Routing LogicPort Routing Logic– Controllable Electrical Connection Between:Controllable Electrical Connection Between:
Full/Low (Transaction Translator), orFull/Low (Transaction Translator), or High-Speed (Repeater)High-Speed (Repeater)
– Route Done Once Per Device ResetRoute Done Once Per Device Reset Transaction TranslatorTransaction Translator
– Major addition for USB 2.0Major addition for USB 2.0– Uses Split Transaction ProtocolUses Split Transaction Protocol
. . . . .. . . . .
October 10, 2000 6
Transaction TranslatorTransaction Translator
What is a Transaction Translator?What is a Transaction Translator?– Component of the hub that handles data transfers Component of the hub that handles data transfers
to/from full and low speed downstream devicesto/from full and low speed downstream devices When is it Used?When is it Used?
– Active when hub is configured at Active when hub is configured at high speedhigh speed and and fullfull and/or and/or low speedlow speed devices connected downstream devices connected downstream Buffers data transfersBuffers data transfers Finite spaceFinite space 2 kind of Buffers - Periodic and Non-Periodic2 kind of Buffers - Periodic and Non-Periodic 1 TT per hub OR 1 TT per port1 TT per hub OR 1 TT per port
October 10, 2000 7
Transaction TranslatorTransaction Translator Hub Components Hub Components
HSHS DeviceDevice
LS LS DeviceDevice
Port 1Port 1
480 MHz480 MHz12 MHz12 MHz1.5 MHz1.5 MHz
Port 2Port 2 Port NPort N
FS FS DeviceDevice
Hub Hub RepeaterRepeater
Hub Hub RepeaterRepeater
RoutingLogic
Hub Hub ControllerController
Hub Hub ControllerController
Hub StateHub StateMachinesMachines Hub StateHub StateMachinesMachines
High speed connectionHigh speed connection
TTTT11TTTT11
TTTT22TTTT22
TTTTNNTTTTNN
October 10, 2000 8
Hub Overview –Transaction Translator Hub Overview –Transaction Translator
Bulk/Control Bulk/Control – 2 or More Buffers - 1 Per Transfer2 or More Buffers - 1 Per Transfer– Uses USB Flow Control Uses USB Flow Control – PING not usedPING not used
Interrupt/Isochronous Interrupt/Isochronous – Scheduled Transaction PipelineScheduled Transaction Pipeline– Separate Buffer From Bulk/ControlSeparate Buffer From Bulk/Control– Separate SS and CS FIFOsSeparate SS and CS FIFOs
Transaction TranslatorTransaction TranslatorTransaction TranslatorTransaction Translator
Bulk &ControlBulk &Control
Interrupt &IsochronousInterrupt &
Isochronous
October 10, 2000 9
Electrical and Chapter 11Test Additions ReviewElectrical and Chapter 11Test Additions Review
Electrical (New Test Fixture)Electrical (New Test Fixture)– HS Signal Quality HS Signal Quality – TDRTDR– Receiver SensitivityReceiver Sensitivity– J and K Voltage LevelsJ and K Voltage Levels
Chapter 11 AdditionsChapter 11 Additions– TT Command SupportTT Command Support– Port Indicator Manual Mode SupportPort Indicator Manual Mode Support– New Status BitsNew Status Bits
See Compliance Overview Presentation For DetailsSee Compliance Overview Presentation For Details
October 10, 2000 10
High Speed Repeater Electrical TestingHigh Speed Repeater Electrical Testing
Packet ConnectivityPacket Connectivity– Sync Truncation (4 bits)Sync Truncation (4 bits)– EOP DribbleEOP Dribble
Repeater Path Repeater Path – JitterJitter– LatencyLatency
Noise FilteringNoise Filtering– RWU FilterRWU Filter– SORP FilterSORP Filter
EOF1 and EOF2 RulesEOF1 and EOF2 Rules End of Resume End of Resume
GenerationGeneration
Routing LogicRouting Logic Routing LogicRouting Logic
TransactionTransactionTranslatorTranslator
TransactionTransactionTranslatorTranslatorFull/LowFull/Low
SpeedSpeed
High Speed OnlyHigh Speed OnlyPortPort
Repeater, Controller, ...Repeater, Controller, ...Repeater, Controller, ...Repeater, Controller, ...
PortPort PortPort PortPort
October 10, 2000 11
Example – Testing Sync Truncation and EOP DribbleExample – Testing Sync Truncation and EOP Dribble
Put Hub Port in Put Hub Port in Test_Force_EnableTest_Force_Enable
Test SW Generates Test SW Generates Downstream Traffic Downstream Traffic
Capture Pre/Post Capture Pre/Post Hub SignalsHub Signals
Analyze Data to Analyze Data to Test Sync Test Sync Truncation andTruncation andEOP DribbleEOP Dribble
Test ModeTest Mode SWSW
OscilloscopeOscilloscope
Hub Under Hub Under TestTest
Breakout BoardBreakout Board Breakout BoardBreakout Board
October 10, 2000 12
Example - Testing LatencyExample - Testing Latency
Put Hub Port in Put Hub Port in Test_Force_EnableTest_Force_Enable
Test SW Generates Test SW Generates Downstream Traffic Downstream Traffic
Capture Pre/PostCapture Pre/PostHub SignalsHub Signals
Analyze Data toAnalyze Data toTest LatencyTest Latency– Start of SyncStart of Sync
ReferenceReference
Test ModeTest Mode SWSW
OscilloscopeOscilloscope
Hub Under Hub Under TestTest
Breakout BoardBreakout Board Breakout BoardBreakout Board
October 10, 2000 13
TT Testing – Overview TT Testing – Overview
TypeType
FunctionalFunctional
ProtocolProtocol
ImplementationImplementationNumber of BuffersNumber of Buffers
Buffer AffinityBuffer Affinity
Buffer SizeBuffer SizeSS Microframe ArrivalSS Microframe Arrival
Abort RulesAbort Rules
TT TestingTT Testing
PeriodicPeriodic Non PeriodicNon Periodic CombinationCombination
Control And BulkControl And BulkLoopbackLoopback
Data IntegrityData IntegrityEnumerationEnumeration
Isoch and InterruptIsoch and InterruptLoopbackLoopback
Data IntegrityData IntegrityDrop RateDrop Rate
Speed CombinationsSpeed CombinationsMultiple Transfer Type Multiple Transfer Type
Multiple EndpointsMultiple Endpoints
StallStallTimeoutTimeout
NakNak
StallStallTimeoutTimeout
NakNak
October 10, 2000 14
TT Testing –Compliance DevicesTT Testing –Compliance Devices
Basic FunctionalityBasic Functionality– Full Speed Full Speed – Low SpeedLow Speed– All Transfer TypesAll Transfer Types– Multiple EndpointsMultiple Endpoints
Protocol Level ControlProtocol Level Control– Produce All Possible Device ResponsesProduce All Possible Device Responses– Allows Testing of Corner Cases, Buffer Affinity, etc.Allows Testing of Corner Cases, Buffer Affinity, etc.
Defined Device InterfaceDefined Device Interface– Allow Any Capable PDK/Device to Be UsedAllow Any Capable PDK/Device to Be Used
October 10, 2000 15
Functional TestingExample – BulkFunctional TestingExample – Bulk
Set Device In Loopback ModeSet Device In Loopback Mode Send Out Data TransferSend Out Data Transfer Read In Data TransferRead In Data Transfer Compare DataCompare Data Repeat For Multiple IterationsRepeat For Multiple Iterations Repeat for Different Data SizesRepeat for Different Data Sizes
– 8,16,32,648,16,32,64 Repeat for Multiple EndPointsRepeat for Multiple EndPoints
– Test all TT Buffer SpaceTest all TT Buffer Space
HostHostHostHost
DeviceDeviceDeviceDevice
TTTTTTTT
SSSS CSCS SSSS CSCS
DataData AckAck DataDataInIn
October 10, 2000 16
Protocol TestingExample – Bulk OutProtocol TestingExample – Bulk Out
Device ActionsDevice Actions– Device NaksDevice Naks– Device StallsDevice Stalls– Device TransmitsDevice Transmits
Corrupt DataCorrupt Data– Device Doesn’t RespondDevice Doesn’t Respond
First TT AttemptFirst TT Attempt 3 or more Attempts3 or more Attempts
Tradeoffs – DeviceTradeoffs – DeviceComplexity vs.Complexity vs.Thorough CoverageThorough Coverage
TTTTTTTT
DeviceDeviceDeviceDevice
HostHostHostHost
SSSS OutOut Data0Data0 AckAck
OutOut Data0Data0
NakNakAckAck
Or StallOr Stall
NakNakAckAckStallStall
NothingNothingBad CRCBad CRC
October 10, 2000 17
Implementation Testing Example –Buffer Affinity RulesImplementation Testing Example –Buffer Affinity Rules
Buffer Affinity RulesBuffer Affinity Rules– Control Endpoints - One Transfer Buffered At a TimeControl Endpoints - One Transfer Buffered At a Time– Bulk Enpoints - Same Rule - But Direction MattersBulk Enpoints - Same Rule - But Direction Matters– Same Buffer Reused For Transaction For Same EndpointSame Buffer Reused For Transaction For Same Endpoint
Why Do Rules Matter?Why Do Rules Matter?– Drivers Use Only One TD List Per EndpointDrivers Use Only One TD List Per Endpoint– Error Cases Can Produce Similar BehaviorError Cases Can Produce Similar Behavior
How Do You Determine If Rules Are Correct?How Do You Determine If Rules Are Correct?– Can’t Control SS and CS Separately (Handled in Hardware)Can’t Control SS and CS Separately (Handled in Hardware)– No Specific SW Level Behavior DifferenceNo Specific SW Level Behavior Difference
October 10, 2000 18
Buffer Affinity –Correct Operation Buffer Affinity –Correct Operation
TTTTTTTT
DeviceDeviceDeviceDevice
HostHostHostHost
SSSSSSSS OutOutOutOut Data0Data0Data0Data0 AckAckAckAck
OutOut Data0Data0
SSSSSSSS OutOutOutOut Data0Data0Data0Data0 AckAckAckAck
AckAck
CSCSCSCS AckAckAckAck
Buf ABuf A Buf BBuf B
Buf ABuf ABuf BBuf B OldOld
OldOld PendingPending Ready/AckReady/AckSSSS
11
11
44
44AckAck
33
Old/AckOld/Ack33CSCS
OneOne
TransactionTransaction
BufferedBuffered
22
October 10, 2000 19
Buffer Affinity –Incorrect Operation Buffer Affinity –Incorrect Operation
TTTTTTTT
DeviceDeviceDeviceDevice
HostHostHostHost
SSSSSSSS OutOutOutOut Data0Data0Data0Data0 AckAckAckAck
OutOutData0Data0
SSSS OutOut Data0Data0 AckAck
AckAck
CSCSAck or NakAck or Nak
Buf ABuf A Buf BBuf B
Buf ABuf A
Buf BBuf B OldOld
OldOld PendingPending Ready/AckReady/AckSSSS
11
11
22
44AckAck
33
Old/AckOld/Ack33CSCS
TwoTwo
TransactionsTransactions
BufferedBufferedOutOut
Data0Data0NakNak
44 55
PendingPending Ready/NakReady/NakSSSS
22 55AckAckOld/NakOld/Nak33CSCS
Could See Either Could See Either - Even For - Even For Subsequent CSSubsequent CS
October 10, 2000 20
Buffer Affinity –Testing The BehaviorBuffer Affinity –Testing The Behavior
Simulating An Ack Smash (Two SS Same Transaction)Simulating An Ack Smash (Two SS Same Transaction)– Need to Ensure Both SS Reach TT Before First CSNeed to Ensure Both SS Reach TT Before First CS– Example SolutionExample Solution
Async Queue HeadAsync Queue HeadAsync Queue HeadAsync Queue Head Bulk Out siTDBulk Out siTDBulk Out siTDBulk Out siTD Dummy TDDummy TDDummy TDDummy TD
Difference In Behavior Is On Device SideDifference In Behavior Is On Device Side– Tell Device To Count TransactionsTell Device To Count Transactions– 1 = Correct, 2 = Incorrect1 = Correct, 2 = Incorrect
Poll On Status Poll On Status On Do Complete On Do Complete
Reset To Do StartReset To Do Start Correct PointerCorrect Pointer
October 10, 2000 21
Microframe Scheduling RulesMicroframe Scheduling Rules
YY00 YY11 YY22 YY33 YY44 YY55 YY66 YY77
HS Start-SplitsHS Start-Splits
All Allowed HS Start Split ArrivalsAll Allowed HS Start Split Arrivals Abort Cases - Eof, X+4Abort Cases - Eof, X+4 Free Cases - Eof (Except Y7), X+4Free Cases - Eof (Except Y7), X+4
October 10, 2000 22
Hub Testing – SummaryHub Testing – Summary
Hub Testing AreasHub Testing Areas– HS Repeater TestingHS Repeater Testing– Electrical TestingElectrical Testing– Chapter 11 Command Additions (USBCheck)Chapter 11 Command Additions (USBCheck)– Transaction TranslatorTransaction Translator
Transaction Translator - Most Important Test AreaTransaction Translator - Most Important Test Area– Functional Testing For all TransfersFunctional Testing For all Transfers– Protocol Testing Through All Device BehaviorsProtocol Testing Through All Device Behaviors– Buffer Affinity Buffer Affinity – Microframe Scheduling CasesMicroframe Scheduling Cases