May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation...
-
Upload
lorena-mcdaniel -
Category
Documents
-
view
220 -
download
0
Transcript of May 16, 20001. 2 Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation...
May 16, 2000 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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