Download presentation
Presentation is loading. Please wait.
Published byMadalyn Harrington Modified over 10 years ago
2
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 Corporation
3
May 9, 20013 HS Protocol Additions w High Speed Ping Flow Control w Split Transactions w Additions to Chapter 8
4
May 9, 20014 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, 20015 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, 20016 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, 20017 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 – 1..255 -> 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, 20018 Split Transactions w Defined only for Host Controller & Hub @ 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, 20019 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, 200110 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, 200111 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, 200112 Classic BULK OUT High Speed Bus uSOFuSOFuSOF SOF SS = Start Split 125us CSSSCSSSCSSSCSSS CS = Complete Split Full Speed Bus
13
May 9, 200113 uSOFuSOFuSOF SOF SS = Start Split 125us CS = Complete Split CSSSCSSSCSSSCSSS Full Speed Bus High Speed Bus Classic BULK IN
14
May 9, 200114 Classic ISOCH OUT Full Speed Bus uSOF 1ms uSOFuSOFuSOFuSOFuSOFuSOFuSOFuSOF SOFSOF SSSSSSSS SS = Start Split 125us High Speed Bus
15
May 9, 200115 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, 200116 Example Bus Traces w PING w Split Transactions – Bulk OUT – Control Read – Interrupt – Isochronous
17
May 9, 200117 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.