May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation...

16
May 16, 2000 1

Transcript of May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation...

Page 1: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 1

Page 2: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 2

Data Transfer & Framework

Data Transfer & Framework

John GarneyJohn GarneyHub Working Group ChairHub Working Group Chair

Intel CorporationIntel Corporation

John GarneyJohn GarneyHub Working Group ChairHub Working Group Chair

Intel CorporationIntel Corporation

Page 3: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 3

High Speed AdditionsHigh Speed Additions

Data TransferData Transfer– MicroframesMicroframes– Maximum Packet SizesMaximum Packet Sizes– Additions to Chapter 5Additions to Chapter 5

FrameworkFramework– Other Speed DescriptorsOther Speed Descriptors– Test Mode FeatureTest Mode Feature– Additions to Chapter 9Additions to Chapter 9

Page 4: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 4

HS Data Transfer Changes -High Speed MicroframesHS Data Transfer Changes -High Speed Microframes

125us HS Microframe125us HS Microframe– Less buffering required for HS devices than for 1ms frameLess buffering required for HS devices than for 1ms frame– No new transaction for “microframe SOF”, use SOFNo new transaction for “microframe SOF”, use SOF– SOF on HS occurs 8x more frequentlySOF on HS occurs 8x more frequently– HS Devices can derive microframe number if requiredHS Devices can derive microframe number if required

Full / Low Speed Frame Size (1ms)Full / Low Speed Frame Size (1ms)

High Speed Micro-Frames (125us)High Speed Micro-Frames (125us)

1ms1ms 1ms1ms

Classic USB Frame Ticks Classic USB Frame Ticks Full Speed Isochronous Data PayloadFull Speed Isochronous Data Payload

USB 2.0 Micro-Frame TicksUSB 2.0 Micro-Frame Ticks(1/8(1/8thth Classic Frame) Classic Frame) High Speed Isochronous Data PayloadHigh Speed Isochronous Data Payload

Page 5: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 5

HS Data Transfer Changes -Maximum Data PayloadsHS Data Transfer Changes -Maximum Data Payloads

wMaxPacketSizewMaxPacketSize field in endpoint descriptor field in endpoint descriptor High Speed Devices, no changes for FS/LSHigh Speed Devices, no changes for FS/LS

Control: Control: 64 bytes64 bytes– Allows FS: 8,16,32,64, LS:8Allows FS: 8,16,32,64, LS:8

Bulk: Bulk: 512 bytes512 bytes– Allows FS: 8,16,32,64, LS: not allowedAllows FS: 8,16,32,64, LS: not allowed

Increases high speed bus efficiencyIncreases high speed bus efficiency Reduces complexity in host SW & HWReduces complexity in host SW & HW

Page 6: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 6

HS Data Transfer Changes -Maximum Data PayloadsHS Data Transfer Changes -Maximum Data Payloads

Interrupt: <=3072 bytes per 2Interrupt: <=3072 bytes per 2bInterval-1bInterval-1 microframes microframes– Allows FS: <=64 bytes per 1…255 ms, LS:<=8 per 8…255msAllows FS: <=64 bytes per 1…255 ms, LS:<=8 per 8…255ms

Isochronous: <=3072 bytes per 2Isochronous: <=3072 bytes per 2bInterval-1bInterval-1 microframes microframes– Allows FS: <=1023 bytes per 2Allows FS: <=1023 bytes per 2bInterval-1bInterval-1 ms, LS: not allowed ms, LS: not allowed

– If >1024 bytes, done with multiple normal transactionsIf >1024 bytes, done with multiple normal transactions– Each data payload is <=1024 bytes (up to 3x per microframe)Each data payload is <=1024 bytes (up to 3x per microframe)

Data payloads are “max sized”, residual in lastData payloads are “max sized”, residual in last

Allows HS periodic endpoint up to 192Mb/sAllows HS periodic endpoint up to 192Mb/s

Page 7: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 7

High Bandwidth EndpointHigh Bandwidth Endpoint

Maximum payload 3x 1024 bytes per microframeMaximum payload 3x 1024 bytes per microframe– At most 3 transactions: e.g. token, data & handshake packetsAt most 3 transactions: e.g. token, data & handshake packets– Each transaction data payload at most 1024 bytesEach transaction data payload at most 1024 bytes

Interrupt IN/OUTInterrupt IN/OUT– Uses normal DATA0, DATA1 data packet PID toggling and retriesUses normal DATA0, DATA1 data packet PID toggling and retries

Isochronous IN/OUTIsochronous IN/OUT– Uses data sequencing with DATA0, DATA1, DATA2, MDATA PIDsUses data sequencing with DATA0, DATA1, DATA2, MDATA PIDs

TokenTokenTokenToken

125us Microframe125us Microframe125us Microframe125us Microframe

DATAxDATAxDATAxDATAx TokenTokenTokenToken DATAxDATAxDATAxDATAx TokenTokenTokenToken DATAxDATAxDATAxDATAx

Transaction #1Transaction #1 Transaction Transaction #2#2

Transaction #3Transaction #3

HHHH HHHH HHHH

Page 8: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 8

High BW Interrupt IN/OUTHigh BW Interrupt IN/OUT

At most 3 transactions attempts per microframeAt most 3 transactions attempts per microframe Error reduces data per microframeError reduces data per microframe

– No additional retries in microframeNo additional retries in microframe Continuous data toggling on good transactionsContinuous data toggling on good transactions

– Continues across microframesContinues across microframes– Unless restarted by endpoint configuration changeUnless restarted by endpoint configuration change

DATA0DATA0DATA0DATA0 DATA1DATA1DATA1DATA1

125us Microframe125us Microframe125us Microframe125us Microframe

DATA0DATA0DATA0DATA0 DATA1DATA1DATA1DATA1XX DATA1DATA1DATA1DATA1TTTT TTTT TTTT TTTT TTTTHHHH HHHH HHHH HHHH

Page 9: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 9

High BW Isochronous OUTHigh BW Isochronous OUT

Last data packet PID tells device # of transactionsLast data packet PID tells device # of transactions– DATA0=1, DATA1=2, DATA2=3DATA0=1, DATA1=2, DATA2=3

1st/2nd data packets use MDATA data packet PID1st/2nd data packets use MDATA data packet PID Sequence “restarts” each microframeSequence “restarts” each microframe Device can detect errorsDevice can detect errors

– Never retried, device-specific recoveryNever retried, device-specific recovery

DATA0DATA0DATA0DATA01 transaction, <1024 bytes:1 transaction, <1024 bytes: TTTT

MDATAMDATAMDATAMDATA DATA1DATA1DATA1DATA12 transactions, 513-1024 bytes ea.:2 transactions, 513-1024 bytes ea.: TTTT TTTT

MDATAMDATAMDATAMDATA MDATAMDATAMDATAMDATA DATA2DATA2DATA2DATA23 transactions, 683-1024 bytes ea.:3 transactions, 683-1024 bytes ea.: TTTT TTTT TTTT

Page 10: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 10

High BW Isochronous INHigh BW Isochronous IN

First data packet PID tells host # of transactionsFirst data packet PID tells host # of transactions– DATA0=1, DATA1=2, DATA2=3DATA0=1, DATA1=2, DATA2=3

2nd/3rd data packets use “decreasing” data packet PIDs2nd/3rd data packets use “decreasing” data packet PIDs Sequence “restarts” each microframeSequence “restarts” each microframe Host can detect errors/timeoutsHost can detect errors/timeouts

– Never retried, aborts remaining transactions in uframeNever retried, aborts remaining transactions in uframe

DATA0DATA0DATA0DATA01 transaction, <1024 bytes:1 transaction, <1024 bytes: TTTT

DATA1DATA1DATA1DATA1 DATA0DATA0DATA0DATA02 transactions, 513-1024 bytes ea.:2 transactions, 513-1024 bytes ea.: TTTT TTTT

DATA2DATA2DATA2DATA2 DATA1DATA1DATA1DATA1 DATA0DATA0DATA0DATA03 transactions, 683-1024 bytes ea.:3 transactions, 683-1024 bytes ea.: TTTTTTTTTTTT

Page 11: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 11

HS Framework Changes -Other_Speed DescriptorsHS Framework Changes -Other_Speed Descriptors

HS capable device must enumerate in FS alsoHS capable device must enumerate in FS also– Must not confuse “old” FS softwareMust not confuse “old” FS software– Normal descriptors returned for current speedNormal descriptors returned for current speed

HS capable devices can report other_speed choiceHS capable devices can report other_speed choice– HS info when in FS portHS info when in FS port

Allows wizard to assist end userAllows wizard to assist end user

– FS info when in HS portFS info when in HS port ““What happens if in USB 1.1 port?”What happens if in USB 1.1 port?”

Device_Qualifier descriptorDevice_Qualifier descriptor Other_Speed_Configuration descriptorOther_Speed_Configuration descriptor

Page 12: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 12

OffsetOffset FieldField DescriptionDescription

00

11

22

44

55

66

77

99

1010

bLengthbLength

bDescriptorTypebDescriptorType

bcdUSBbcdUSB

bDeviceClassbDeviceClass

bDeviceSubClassbDeviceSubClass

bDeviceProtocolbDeviceProtocol

wMaxPacketSize0wMaxPacketSize0

bNumConfigurationsbNumConfigurations

bReservedbReserved

Size of descriptorSize of descriptor

Device_Qualifier TypeDevice_Qualifier Type

USB Spec version numberUSB Spec version number(e.g. 0200 for V2.0.0 )(e.g. 0200 for V2.0.0 )

Class CodeClass Code

SubClass CodeSubClass Code

Protocol CodeProtocol Code

Maximum packet size for other speedMaximum packet size for other speed

Number of Other_Speed_ConfigurationsNumber of Other_Speed_Configurations

Reserved for future use, must be zeroReserved for future use, must be zero

HS Framework Changes -Device_Qualifier DescriptorHS Framework Changes -Device_Qualifier Descriptor

Device_Qualifier Descriptor reports:Device_Qualifier Descriptor reports:– Version, class/subclass/protocol for other speed Version, class/subclass/protocol for other speed – Default endpoint Default endpoint wMaxPacketSizewMaxPacketSize for other speed for other speed – Reports # of configurations for other speedReports # of configurations for other speed

Page 13: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 13

OffsetOffset FieldField DescriptionDescription

00

11

22

44

55

66

77

88

bLengthbLength

BdescriptorTypeBdescriptorType

wTotalLengthwTotalLength

bNumInterfacesbNumInterfaces

bConfigurationValuebConfigurationValue

iConfigurationiConfiguration

bmAttributesbmAttributes

bMaxPowerbMaxPower

Size of descriptorSize of descriptor

Other_Speed_Configuration TypeOther_Speed_Configuration Type

Total length of data returned …Total length of data returned …

Number of interfaces supported bythis speed configuration.Number of interfaces supported bythis speed configuration.

Value to use to select configuration…Value to use to select configuration…

Index of string descriptor…Index of string descriptor…

Same as Configuration descriptorSame as Configuration descriptor

Same as Configuration descriptorSame as Configuration descriptor

HS Framework Changes -Other_Speed_Configuration DescriptorHS Framework Changes -Other_Speed_Configuration Descriptor

Other_Speed_Configuration Descriptor reports:Other_Speed_Configuration Descriptor reports:– A speed dependent configuration for the other speedA speed dependent configuration for the other speed

Page 14: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 14

HS Framework Changes -Enhanced Endpoint DescriptorHS Framework Changes -Enhanced Endpoint Descriptor

Endpoint DescriptorEndpoint Descriptor– No data structure changes, only encoding/ No data structure changes, only encoding/

interpretation changesinterpretation changes– Larger HS payloads (values)Larger HS payloads (values)

High BW has size = (multiplier X max_data_size)High BW has size = (multiplier X max_data_size)– For HS device, For HS device, bIntervalbInterval periods are in periods are in

microframes (125us)microframes (125us) For full/low speed device, For full/low speed device, bIntervalbInterval is in frames (1ms) is in frames (1ms) HS devices: HS devices: bIntervalbInterval value is N, endpoint period is 2 value is N, endpoint period is 2N-1N-1

– ““Periodic” IsochronousPeriodic” Isochronous Allows slower (2Allows slower (2N-1N-1 microframes) isochronous ratesmicroframes) isochronous rates

Page 15: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 15

HS Framework Changes -High Speed Test Mode RequestHS Framework Changes -High Speed Test Mode Request

Test Mode Request and ParametersTest Mode Request and Parameters– Allows standardized testing of HS transceiversAllows standardized testing of HS transceivers

Upstream ports of all HS devicesUpstream ports of all HS devices Downstream ports of Hubs (also host controller)Downstream ports of Hubs (also host controller)

– Test Modes (as defined in chapter 7)Test Modes (as defined in chapter 7) Test_J, Test_K, Test_SE0_NAK, Test_Packet, Test_J, Test_K, Test_SE0_NAK, Test_Packet,

Test_Force_EnableTest_Force_Enable– Enter via a Set_Feature requestEnter via a Set_Feature request– Exit via device power cycle or hub resetExit via device power cycle or hub reset

Page 16: May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.

May 16, 2000 16

Data Transfer & Framework Additions SummaryData Transfer & Framework Additions Summary

125us Microframe125us Microframe– Reduces device bufferingReduces device buffering

Fewer Maximum Packet Size ChoicesFewer Maximum Packet Size Choices– Simpler hostSimpler host

Larger Packet Sizes (Bulk, Int., Isoch.)Larger Packet Sizes (Bulk, Int., Isoch.)– Improved bus efficiency, higher device throughputImproved bus efficiency, higher device throughput

Report High- and Full-Speed ConfigurationsReport High- and Full-Speed Configurations– Dual Speed devices supportedDual Speed devices supported

Required HS Test ModeRequired HS Test Mode– Improved Compliance and interoperabilityImproved Compliance and interoperability