Presentation is loading. Please wait.

Presentation is loading. Please wait.

May 9, 20012 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair Intel.

Similar presentations


Presentation on theme: "May 9, 20012 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair Intel."— Presentation transcript:

1

2 May 9, High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair Intel Corporation

3 May 9, HS Protocol Additions w High Speed Ping Flow Control w Split Transactions w Additions to Chapter 8

4 May 9, w HS PING Flow Control (HS OUT Endpoints only) – Required for all bulk/control HS OUT transactions – No PING for control SETUP transactions w Issue: Devices That NAK Outs – NAK is provided for bus-level flow control – USB1.0 idea was NAK would occur ‘hardly ever’ u Reality is that many applications use/need frequently – Frequently NAKing OUTs decrease throughput u Bulk (async) traffic is scheduled round-robin (more or less) u NAKing Out can easily reduce throughput by more than 50% w New PIDs for PING – PING token: “Are you ready?” – NYET handshake: Accept data, I’m now full (“Not Yet”) High Speed PING Flow Control

5 May 9, w Host Pipe Initial Condition is “PING” w PING (No data phase) – NAK response indicates no room for data – ACK response indicates room for at least one MaxPacket w OUT with Data0/1 – ACK allows next OUT transaction – NAK says data not accepted, return to PING state u Not normal case – NYET says data accepted, no more room, go to PING state w Same scheduling for PING/OUT as normal – “Next opportunity” PING - Host State Machine Ping PID Data 0/1 PID NAKACK ACK, Advance to Next Transaction NAK NYET OUT PID

6 May 9, OUT/DATAx NAK Space Available Accept Data NYET ACK PING Space Available Space Not Available OUT/DATAx or PING Space Available Space Not Available PING - Device State Machine w ACK if have space w NYET if had space, but now don’t w NAK if no space

7 May 9, Bulk Out Endpoint Descriptor w bInterval value in HS endpoint descriptor declares OUT NAK “rate” – Allows compliance testing of bulk OUT endpoint PING w Device never NAKs OUT more than once per microframe w Use correct bInterval value: – 0 -> device NYETs OUTs, and never NAKs – > device NAKs OUTs and,… u Doesn’t NAK another OUT for bInterval microframes u Doesn’t need another OUT (after NAK) bInterval microframes Ô Host may issue more frequently

8 May 9, Split Transactions w Defined only for Host Controller & HS – Enables isolation of full/low speed signaling – Improves overall bus throughput and utilization w Start-Split – Host tells Hub to initiate full/low speed transaction w Complete-Split – Host asks Hub for results of previous full/low speed transaction w SPLIT Tokens defined for Start/Complete w New PIDs and transaction state machines

9 May 9, w Still three (or less) phase transactions – Token phase has 2 packets: SPLIT special token & regular token – Start-OUT:SPLIT(start)_token + token, data {,handshake} – Start-IN:SPLIT(start)_token + token {,handshake} Start-Split SPLITStartClassicTokenDATAxHandshake Token Phase Split Transaction Extended Tokens – Complete-OUT:SPLIT(complete)_token + token, handshake – Complete-IN:SPLIT(complete)_token + token, {data, } handshake Complete-Split SPLITCompleteClassicToken Token Phase DATAxHandshake

10 May 9, HostHost Device HubHub ClassicBus High Speed Bus Example Split Transaction (IN) 1StartSplit SPLIT-sSPLIT-s IN Token 3CompleteSplit SPLIT-cSPLIT-c ACKACK Data0Data0 2Classic Data0Data0 ACKACK

11 May 9, HostHostDeviceDeviceHubHub ClassicBus High Speed Bus Example Split Transaction (OUT) 1StartSplit SPLIT-sSPLIT-s OUT Token Data0Data0 2Classic Data0Data0 ACKACK 3CompleteSplit SPLIT-cSPLIT-c ACKACK

12 May 9, Classic BULK OUT High Speed Bus uSOFuSOFuSOF SOF SS = Start Split 125us CSSSCSSSCSSSCSSS CS = Complete Split Full Speed Bus

13 May 9, uSOFuSOFuSOF SOF SS = Start Split 125us CS = Complete Split CSSSCSSSCSSSCSSS Full Speed Bus High Speed Bus Classic BULK IN

14 May 9, Classic ISOCH OUT Full Speed Bus uSOF 1ms uSOFuSOFuSOFuSOFuSOFuSOFuSOFuSOF SOFSOF SSSSSSSS SS = Start Split 125us High Speed Bus

15 May 9, Classic ISOCH IN uSOF 1ms uSOFuSOFuSOFuSOFuSOFuSOFuSOFuSOF SOFSOF SS SS = Start Split CSCSCSCS 125us CS = Complete Split High Speed Bus Full Speed Bus

16 May 9, Example Bus Traces w PING w Split Transactions – Bulk OUT – Control Read – Interrupt – Isochronous

17 May 9, High Speed Protocol Additions Summary w Required Bulk/Control PING Flow Control – Delivers better bus utilization – Specify bInterval in endpoint descriptor correctly w Split-Transactions – Only affect HC and Hub; not devices – Allows High Speed transactions to run independently of Full/Low-Speed transactions in a system


Download ppt "May 9, 20012 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair Intel."

Similar presentations


Ads by Google