howard wusb protocol
TRANSCRIPT
-
8/13/2019 Howard WUSB Protocol
1/38
Wireless USB Protocol
John S. HowardSenior Architect
Intel Corporation
-
8/13/2019 Howard WUSB Protocol
2/38
2
AgendaAgenda
Protocol Components Data Transfers (general model)
Device Notifications Flow Control
-
8/13/2019 Howard WUSB Protocol
3/38
3
Wireless USB Channel
Review
Wireless USB Channel
Review
MM
C
MM
C
MM
C
MM
C
MM
C
MM
C
MM
C
MM
C
MM
C
MM
CWireless USB Channel
DRP
WUSB
DRP
WUSB
DRP
WUSB
DRP
WUSB
DRP
WUSB
DRP
WUSB
BeaconPeriod
Beacon
Period
t=0
Superframe n Superframe n+1
t=0 t=0
BeaconPeriod
WiMedia
MAC
WiMedia Physical Layer
Channel Time
The Wireless USB Channel is encapsulated by the WiMedia channel
Wireless USB channel is continuous sequence of linked control packetstransmitted by the Host during reserved WiMedia channel time
WUSB time is reserved from WiMedia channel time (DRPs)
Called MMCs Micro-schedule Management Commands
All Wireless USB Data communications are over the Wireless USB Channel
-
8/13/2019 Howard WUSB Protocol
4/384
Packet LayoutPacket Layout
WiMedia MAC Packet format
Utilizes Secure frame format
PLCP PreamblePHY
Header
MAC
HeaderHCSPayload
Variable Length: Z or more bytes
Pad
Bits
Tail
Bits
Tail
Bits FCS
12 OFDM Symbol sN * 6 OFDM Symbols
lsbmsb
Application Payload
(Variable Length: 0 to MaxPacketSize)
WUSB
Hdr
(2)
bmAttributes
(1)
bmStatus
(1)
MIC
(8)
Cypher Text
(Encrypted Data)
Frame
Control (2)
DestID
(2)
SrcID
(2)
Seq. Control
(2)
Acc Info
(2)
Endpoint Number [3:0]
Packet ID [6:4]
TKID
(3)
SFN
(6)
Non-secure Packet
Format
Secure Packet
Format
Rsrvd
(1)
Encrypt
Offset (2)
Type [ 8: 6] Del iver y Id ent/Control Frame Subtype [12: 9](011B) Data Frame [12] = 1B; [11:9] = Stream Index
(001B) Control Frame [12:9] = Application Defined Control Value
30 OFDM Symbo ls
Isochronous Header(3)
Isochronous Segment0
Isochronous Segment1
Isochronous SegmentbNumIsoSegments-1
Isochronous
Packet Format
bNumIsoSegments (1)
wPresentationTime (2)
wLength (2)
Segment Data (wLength)
-
8/13/2019 Howard WUSB Protocol
5/385
Wireless USB ChannelWireless USB Channel
MMC plus timetill next MMC
Basicstructure used tomaintain Wireless USB Channel
MMC
HD
R
Next MMC Time
MMC
Transaction Group
Information
Elements HD
R
Channel Time Dynamically Allocated for Data Communications
Between the Host and Devices in its Wireless USB Cluster
-
8/13/2019 Howard WUSB Protocol
6/38
-
8/13/2019 Howard WUSB Protocol
7/387
Transaction Group
Slot Durations
Transaction Group
Slot Durations
Slot time durations are derived from adjacent
WXCTA blocks OUTs device know when they can stop listening
INs devices transmit what was requested
EOL WXCTA is always required to be present
MMC
WXCTA[0]
HDR
Next MMC Time
Attributes
Endpoint Info
FlagsSlot Type
Start Time
Type-Specific
Start Time [0]
MMC
HDR
WCTA_
IEH
eader
WXCTA[1]
WXCTA
[EOL]
Transaction Group
ProtocolTime
Slot [0]
Attributes
Endpoint Info
FlagsSlot Type
Start Time
Type-Specific
Start Time [1]
ProtocolTime
Slot [1]
-
8/13/2019 Howard WUSB Protocol
8/38
8
Time Slot AllocationsTime Slot Allocations
Three types of time slots:
WDRCTA (Device Receive)
WDT
CTA (Device Transmit)
WDNTSCTA(Device Notification) time slot
MMC
W_C
TAHDR
W
DRCTA
WDNTSCTA
W
DTCTA
WDRCTA WDNTSCTA WDTCTA
MMC
-
8/13/2019 Howard WUSB Protocol
9/38
9
Time Slot Allocations [cont.]Time Slot Allocations [cont.]
WDRCTA, WDTCTAs are used for Transaction Protocol
Control, Bulk, Interrupt and Isochronous data streams
Access is : guaranteed time slot
Schedule based on client application data flow needs
WDNTSCTAs used to emulate USB signaling events
Connect, disconnect, etc.
Access is : contention based - Slotted Aloha
Host schedules sufficient number of slots to provideadequate service for the cluster
-
8/13/2019 Howard WUSB Protocol
10/38
10
Transaction Group
Protocol Synchronization
Transaction Group
Protocol Synchronization
MMC
(n-1)preamble
t=0
Scheduled Time Slots in MMC
MMC
(n)preamble
t=0
TS[0] TS[1] TS[2] TS[3] TS[4]
Slot start time
according toDevices local
clocktGUARDTIME
Time at which a
Receiver must belistening before
the
slot start time Transmitter could
begin transmittinganywhere in this
window
(tMAXDRIFT )
tG UARDTIME
Time at which a
receiver must be
listening before
the scheduled
start of the MMC(MMC(n-1)
NextMMC)
MMC start time
according toDevices local
clock
Host could begin
transmitting
MMC(n) anywherein this window
(tMAXDRIFT )
-
8/13/2019 Howard WUSB Protocol
11/38
11
Transaction Group
Protocol Synchronization (cont.)
Transaction GroupProtocol Synchronization (cont.)
PLCP Preamble PLCP Header
Sync Delay
t0
PHY_ACTIVE
Radio Medium
24 OFDM Symbols
30 OFDM Symbols
t0 is the time of the first symbol of the MMCs
preamble
Devices can calculate this from the edge ofPHY_ACTIVE
-
8/13/2019 Howard WUSB Protocol
12/38
12
Time Slot Scheduling
Requirements
Time Slot Scheduling
Requirements
MMC
TS[0] TS[1] TS[2] TS[4]
MMC
Host Transmitted Packets Device Transmitted Packets
MMC PHY Hdr StandardPreamble
dataStandard
PreamblePHY Hdr
tINTERSLOTTIME Data Packetfor TS[0]
Data Packetfor TS[1]
dataStandard
Preamble PHY HdrtBUSTURNINTERSLOTT IMEData Packet
for TS[2]
dataStandard
PreamblePHY Hdr
MMC
Packet
TS[3]
dataStandard
PreamblePHY Hdr Data Packet
for TS[3]
tBUSTURNI NTERSLOTTIMEE
The first packet transmitted in a protocoltime slot must have a standard preamble
t INTERSLOTTIME+
tGUARDTIME
t INTERS LOTTIME
-
8/13/2019 Howard WUSB Protocol
13/38
13
Data Burst TimingData Burst Timing
MMC to first Data OUT :MIFS (1.875 s)
MMC to first Data IN :Bus Turn Time
Bus Turn + Guard Time
(SIFS + 1s) (11 s)
IPGs between burst packetsis fixed (MIFS)
First packet Preamble mustbe Standard Length
Host determines subsequent
preamble to use
MMC
OUT Data Phase Time Slot
Standard
PreamblePHY Hdr data
Short /Std
PreamblePHY Hdr data
MMC
IN Data Phase Time Slot
Standard
Preamble
PHY Hdr dataShort/Std
Preamble
PHY Hdr data
tINTERSLOTTIME
tBUSTURNINTERSLOTTIME
tSTREAMIPGtSTREAMIPG
-
8/13/2019 Howard WUSB Protocol
14/38
14
AgendaAgenda
Protocol Components Data Transfers (general model)
Device Notifications Flow Control
-
8/13/2019 Howard WUSB Protocol
15/38
15
Data Stream Synchronization
Basic Model
Data Stream SynchronizationBasic Model
Protocol-level support forreliable data delivery
Identifies:
Data orderingrequirements
Guarantees advancementof data stream only afterreliable data delivery
Terms: Maximum Burst Size
Maximum Sequence
Maximum SequenceDistance
Transmitter sends data packets associated
with Transmit window Sequence numbers Receiver acknowledges with new receive
window (what is available now)
Protocol rules for recovering lost packets,avoiding sequence range wrap, etc.
See Bursting Session
Transmit
Window
Receive
Window
01
2
3
45
6
7
8
90
1
2
3
45
6
7
8
9
Data Packet Burst(S0, S1, S2, S3)
0 1
2
3
456
7
8
9Acknowledgement
(0011110000 B)
01
2
3
45
6
7
8
9
-
8/13/2019 Howard WUSB Protocol
16/38
16
Transaction Transmit Bit RateTransaction Transmit Bit Rate
MMCs are transmitted at base signaling rate (53.3 Mb/s)
Host dictates transmit bit rate for data and handshakephase transmissions
Transmit bit rate applies to entire phase
OUTs : host uses only TBRs supported by device (assumesTx/Rx symmetry)
INs : WDTCTA.PHY_TXRate directs which TBR device mustuse during protocol time slot
Handshakes: Host must use base signaling rate for a handshake time slot
(OUTs)
Host must ensure a data phase time slot is always large enough toaccommodate a handshake transmitted at base signaling rate
-
8/13/2019 Howard WUSB Protocol
17/38
17
Transaction Format
General Model
Transaction FormatGeneral Model
WDT
CTA
DATA(Seq# N)
DATA
(Seq# N+1)
...DATA
(Seq# N+Y)
HNDSKNAK or
STALL
MMC
bvDINAck
HDR
WDTCTAMMC HDR
Data not Ready, or Internal Error
Number of packets in
data phase depends onTransaction Burst Size
or available data.The next Sequence
number is always
derived (N+1) moduloMaxSequence.
Smashed MMC
DataINPhaseDataPackets
WDR
CTA
DATA(Seq# N)
DATA
(Seq# N+1)
...DATA
(Seq# N+Y)
HNDSKACK (bvAckCode)
or NAK or STALL
HDR
Smashed MMC
D
ataOUTPhaseDataPack
ets
WDT
CTA
Idle
Idle
IN OUT
Token
Data
Handshake
Idle
Direction = IN = 1bvDINAck
PHY_TXRate
Direction = OUT = 0
-
8/13/2019 Howard WUSB Protocol
18/38
18
Data IN Transfer
Streaming Example
Data IN TransferStreaming Example
MMC
Data (S0)
Transaction Group N Transaction Group N + 1
MMC
WDTCTA
(TokenI)
HDR
Data (S1)
WDTCTA
(TokenI)
HDR
TokenI .bvDINAcK =001HTokenI.bvDINAcK=002H
Transaction 1
Transaction 0 Transaction 2
WDT
CTA (IN)
bvDINAck = 001H
DATA(S0)
(Use Data)
WDT
CTA (IN)
bvDINAck = 002H
DATA(S1)
(Use Data)
WDT
CTA (IN)
bvDINAck = 001H
MMC Device EP TX MMC Device EP TX Host TX (MMC)
-
8/13/2019 Howard WUSB Protocol
19/38
19
Data IN Transfer
End Of Transfer Example
Data IN TransferEnd Of Transfer Example
MMC
Data (S1)
Transaction Group N Transaction Group N + 1
MMC
WDTCTA
(TokenI)
HDR
WDTCTA
(TokenI)
HDR
bvDINAcK=002H
Blank WDTCTA
BlanK.wStart = NextWxCTA.wStart
TokenI.bvDINAcK=000H
WDTCTA
EOL
Transaction N
Transaction N-1
WDT
CTA (IN)
bvDINAck = 002H
DATA(S1)
(Use Data)
Blank WDT
CTA (IN)bvDINAck = 000HwStart = NextWxCTA.wStart
End of List WxCTA (EOL)
MMC Device EP TX MMC
-
8/13/2019 Howard WUSB Protocol
20/38
20
Data IN Transfer
Short Packet Example
Data IN TransferShort Packet Example
MMCData (S0)
Transaction Group N Transaction Group N + 1
MMC
WDTCTA
(TokenI)
HDR
WDTCTA
(TokenI)
HDR
TokenI .bvDINAcK=001HTokenI.bvDINAcK=002H
LastPacketFlag = 1B
Blank WDTCTA
Transaction 1
Transaction 0
WDT
CTA (IN)bvDINAck = 001H
DATA(S0)LastPacketFlag = 1
(Use Data)
WDT
CTA (IN)bvDINAck = 002H
MMC Device EP TX MMC
Host may commence next transfer immediately (if buffer available)
-
8/13/2019 Howard WUSB Protocol
21/38
21
Data OUT Transfers
Streaming Example
Data OUT TransfersStreaming Example
MMC
WDRCTA
(TokenO)
HDR
WDTCTA
(HndskO) Data (S0) AcK
MMC
WDRCTA
(TokenO)
HDR
WDTCTA
(HndskO) Data (S1) AcK
Transaction Group N Transaction Group N + 1
bvAckCode
10BbvAckCode
01B
Token Phase Data Phase Handshake Phase
Transaction 1
Transaction 0
WDR
CTA (OUT)
WDT
CTA (Handshake)
DATA(0)
(Use Data)
HNDSHK
bvAckCode = 02H
WDR
CTA (OUT)
WDT
CTA(Handshake)
DATA(1)
(Use Data)
HNDSHK
bvAckCode = 01H
Host TX (MMC) Host TX Device EP TX Host TX (MMC) Host TX Device EP TX
-
8/13/2019 Howard WUSB Protocol
22/38
22
Data OUT Transfers
Short Packet Example
Data OUT TransfersShort Packet Example
MMC
WDRCTA
(TokenO)
HDR
WDTCTA
(HndskO) Data (S0) AcK
MMC
HDR
Transaction Group N Transaction Group N + 1
bvAckCode
002 H
LastPacketFlag = 1
Transaction 1
Transaction 0
WDR
CTA (OUT)
WDT
CTA (Handshake)
DATA(0)LastPacketFlag = 1
(Use Data)
HNDSHKbvAckCode = 02H
Host TX (MMC) Host TX Device EP TX Host TX (MMC)
Host may commence next transfer immediately (if data available)
-
8/13/2019 Howard WUSB Protocol
23/38
23
Control Transaction Format
Setup Stage w/Data Stage
Control Transaction FormatSetup Stage w/Data Stage
WDTCTA
DATA
(Seq# 0)HNDSK
NAK or
STALL
MMC
bvDINAck
HDR
WDTCTAMMC HDR
Data not Ready, or Bad Command
SmashedMMC
DataINPhase
DataPacket
Idle
Setup + first IN Data Stage
transaction
Token
w/Setup
Data
Handshake
Idle
Setup Bytes
Setup Flag = 1B
ControlStatusFlag= 0B
Direction = IN = 1PHY_TXRate
bvDINAck= 001H
WDRCTAMMC HDR
SmashedMMC
DataOUTPhase
DataPacket
Idle
Setup + first OUT Data Stage
transaction
Setup Bytes
HNDSKACK (bvAckCode)or NAK or STALL
WDTCTA
DATA
(Seq# 0)
Setup Flag = 1B
Direction = OUT = 0Direction = OUT = 0B
-
8/13/2019 Howard WUSB Protocol
24/38
24
Control Transaction FormatSetup w/No Data Stage; Bare Status Stage
Control Transaction FormatSetup w/No Data Stage; Bare Status Stage
Setup + No Data Stage
Token
Data
Handshake
Idle
WDTCTA
HNDSK
ACK or
NAK orSTALL
MMC HDR
SmashedMMC
Idle
Setup Bytes WDTCTA
HNDSK
ACK or
NAK orSTALL
MMC HDR
Sma
shedMMC
Idle
Status Stage
Setup Flag = 1B
ControlStatusFlag= 1BDirection = IN = 1
Setup Flag = 0B
ControlStatusFlag= 1B
Direction = IN = 1
-
8/13/2019 Howard WUSB Protocol
25/38
25
Control TransferExample (Set Address - No Data Stage)
Control TransferExample (Set Address - No Data Stage)
MMC
WDTC
TA
(Status
Stage)
HDR
Setup
Bytes
(8)
HandshakeMMC
ETC
.
HDR
Transaction Group N Transaction Group N+1
Status Stage - Handshake
Status StageSetup Stage
Transaction 0
WDT
CTA
SetupFlag = 1BCtrl/StatusFlg = 1B(Handshake)
Setup Bytes (8) set address
HNDSHK
Hndshk code = ACKbvAckCode = 00HDirection = IN
Host TX (MMC)
Setup Stage Status Stage
Host TX (MMC) Device EP TX
-
8/13/2019 Howard WUSB Protocol
26/38
26
Control TransferExample (Control Write - SetKey)
Control TransferExample (Control Write - SetKey)
Transaction 0 Transaction 1
Data OutSeq = 0B(Set Key)
WDT
CTASetupFlag = 0BCtrl/StatusFlag = 1B(Handshake)
HNDSHKHndshk code = ACKbvAckCode = 00HDirection = IN
Host TX Device EP TX
Setup Stage Data Stage Status Stage
Host TX (MMC)
WDR
CTASetupFlag = 1BCtrl/StatusFlag = 0B(Handshake)
Setup Bytes (8) set Key
WDT
CTA - handshake
HNDSHKHndshk code = ACKbvAckCode = 02H
Host TX (MMC) Device EP TX
MMC
WDRCT
A
(TokenO)
HDR
Setup Bytes (8)
Data (seq = 0)
Length = Y
Transaction GroupN TransactionGroup N+1
Std. Out Transaction
AcK
MMC
WDTCT
A
(StatusS
tg)
HDR
HNSK
MMC
ETC.
HDR
Data Stage Status Stage
Transaction GroupN+2
ControlStatusFlag= 1
Setup Stage
WDTCT
A
(HndskO)
Handshake Transaction
Setup Flag = 1
-
8/13/2019 Howard WUSB Protocol
27/38
27
Control Transfer(Control Write SetKey lost data packet)
Control Transfer(Control Write SetKey lost data packet)
MMC
WDTCTA
(Token
I)
HDR
Setup Bytes (8)
Data (seq = 0)
Length = Y
Transaction Group N Transaction
Group N+1
Std. Out Transaction
AcK
MMC
WDTCT
A
(StatusS
tg)
HDR
HNSK
MMC
ETC.
HDR
Data Stage Status Stage
Transaction Group N+2
ControlStatusFlag = 1
Setup Stage
WDTCT
A
(HndskO)
Handshake Transaction
Setup Flag = 1
bvAckCode = 001H
MMC
WDRCT
A
(TokenO)
HDR
Data (seq = 0)
Length = Y
Std. Out Transaction
AcK
WDTCTA
(HndskO)
bvAckCode = 002H
X
Transaction 0 Transaction 1
WDR
CTA
SetupFlag = 1BCtrl/StatusFlag = 0B(Handshake)
Setup Bytes (8) set Key
WDT
CTA - handshake
Data Out
Seq = 0B(Set Key)
WDR
CTA
SetupFlag = 0BCtrl/StatusFlag = 0B
WDT
CTA - handshake
Data Out
Seq = 0B(Set Key
HNDSHK
Hndshkcode = ACKbvAckCode= 02H
Host TX Device EP TX
Setup Stage Data Stage
Host TX Host TX (MMC)
HNDSHK
Hndshk code = ACKbvAckCode = 01H
Host TX (MMC) Device EP TX
-
8/13/2019 Howard WUSB Protocol
28/38
28
Control TransferExample (Control Read Get Descriptor)
Control TransferExample (Control Read Get Descriptor)
MMC
WDTCTA
(Token
I)
HDR
Setup
Byte
s
Data (seq = 0)
Length=Y
Transaction Group N Transaction Group N+1
Std. IN Transaction
MMC
WDTCTA
(StatusStg)
HDR
bvDINAcK = 002H
Data StageStatus Stage
Handshake Transaction
Setup
Stage
HNSKMMC
ETC.
HDR
StatusStageFlag = 1SetupFlag = 1
Transaction 0 Transaction 1
Data INSeq = 1B(Get Descriptor Data)
WDT
CTASetupFlag = 0BCtrl/StatusFlag = 1BbvDINAck = 002H(Handshake)
HNDSHKHndshk code = ACKbvAckCode = 00HDirection = IN
Status Stage
Device EP TX Device EP TX
Setup Stage Data Stage
Host TX (MMC)
WDT
CTASetupFlag = 1BCtrl/StatusFlag = 0BbvDINAck = 001H
Setup Bytes (8)Get Descriptor
Host TX (MMC)
C l T f
-
8/13/2019 Howard WUSB Protocol
29/38
29
Control TransferExample (Control Read Get Descriptor)
Control TransferExample (Control Read Get Descriptor)
Data packet gets smashed
Host will retry Data Stage
If device saw Setup,
will respond
with Data
If device did not see
a Setup, willrespond with STALL
MMC
WDTCTA
(StatusStg)
HDR
bvDINAcK = 002H
Handshake Transaction
HNSKMMC
ETC.
HDR
StatusStageFlag = 1
MMC
WDTCTA
(TokenI)
HDR
Se
tupBytes
Data (seq = 0)
Le
ngth
=
Y
Std. IN Transaction
MMC
W
DTCTA
(StatusStg)
HDR
bvDINAcK = 002H
Handshake Transaction
HNSKMMC
ETC.
HDR
StatusStageFlag = 1
SetupFlag = 1
X
MMC
W
DTCTA
(T
okenI)
HDR
Data (seq = 0)
MMC
WDTCTA
(TokenI)
HDR
HNSK (STALL)MMC
WDTCTA
(TokenI)
HDR
Setup
Bytes
Data (seq = 0)
-
8/13/2019 Howard WUSB Protocol
30/38
30
AgendaAgenda
Packet Layouts
Transaction Groups
Timing Constraints Data Transfers (general model)
Device Notifications Flow Control
D i N tifi ti Ti Sl tD i N tifi ti Ti Sl t
-
8/13/2019 Howard WUSB Protocol
31/38
31
Device Notifications Time SlotsDNTS
Device Notifications Time SlotsDNTS
Devices are only allowed transmitters
Device notification messages (to the WUSBHost) are only allowed data communications
Nature of notification messages are that theyare asynchronous and infrequent
Fixed Maximum Size for notification messages
Take advantage of this in the access method
Host policy to manage efficiently
Unused time is just lost to WUSB data stream
DNTS Access MethodDNTS Access Method
-
8/13/2019 Howard WUSB Protocol
32/38
32
DNTS Access Method
Contention Based : Slotted Aloha
DNTS Access Method
Contention Based : Slotted Aloha
Fixed (maximum) sizedmessage
DNTS is a window of uniformsized message slots
WDNTSCTA indicatesnumber of message slots
Device selects a message
slot using a uniformlydistributed random integervalue (in range 1 to N)
Device transmits messagea message slot start time
MMC
W
DNTSCTA
1 2 3 N
DNTS CTA Start
# Slots (N)
Slot Select = uniform(1, N)
D i N tifi tiDe ice Notifications
-
8/13/2019 Howard WUSB Protocol
33/38
33
Device NotificationsReliability
Device NotificationsReliability
Protocol for Device Notifications isdesigned for unreliability:
Notification(s)
Host Response
Device Continues to send
Notifications until it observes HostResponse
Device Response
Host will cease response
when it observes follow-up
device response (when
applicable)
Host must tolerate
retransmissions of
notification that occur
while it is responding
Device must
tolerate Host
response
retransmissions
D i N tifi tiDevice Notification
-
8/13/2019 Howard WUSB Protocol
34/38
34
Device NotificationExample (Device Perspective) - Connect
Device NotificationExample (Device Perspective) - Connect
Sending
Notification
Receive
MMC [ConnectAck_IE [MyCDID, DeviceAddress] []]
UnConnected
Connected
Transmit
(DN_Connect, Self-Beaconing, MyCDID)
Initiate Connect
Wait For
Connect ACK
Xmit
Notification
DNTS Available
Connect
Ack
-
8/13/2019 Howard WUSB Protocol
35/38
35
AgendaAgenda
Packet Layouts
Transaction Groups
Timing Constraints Data Transfers (general model)
Device Notifications Flow Control
-
8/13/2019 Howard WUSB Protocol
36/38
36
Flow ControlFlow Control
Used on All transfer types
Device provides flow-control information in its response to the host
bmStatus field in the WUSB Header of a Data, IData or Handshake
OUTs, the flow control response is in the AcK handshake
INs, the flow control response is in the Data(x) packet
Handshake encoded with NAKs always available
Flow control status from Endpoint results in removal of endpointfrom Active schedule
Resumption of service to a flow-controlled endpoint depends
on transfer type Bulk & Control
Device delivers a Endpoint Ready (DN_EPRdy) notification to the hostduring an DNTS
Interrupt & Isochronous Next service interval
Control TransferControl Transfer
-
8/13/2019 Howard WUSB Protocol
37/38
37
Control TransferExample (Control Read Flow Control)
Control TransferExample (Control Read Flow Control)
Data Stage (cont.)
MMC
WDTCT
A
(Token
I)
HDR
Setup
Bytes
Data (seq = 0)
Length=Y
Transaction Group N Transaction Group Y
Std. IN Transaction
MMC
WDTCT
A
(StatusS
tg)
HDR
bvDINAcK = 002H
Data Stage
Status Stage
Handshake Transaction
Setup
Stage
HNSKMMC
ETC.
HDR
StatusStageFlag = 1SetupFlag = 1
HNSK
NAK
MMC
WDTCT
A
(Token
I)
HDR
MMC
WDNTSCTA
HDR
DN_
EPRdy
Transaction Group Z Transaction Group Z+1
Host stops polling endpoint on NAK
Device notifies it is ready with DN_EPRdy
Host resumes polling endpoint
Retries data phase transaction in this example
-
8/13/2019 Howard WUSB Protocol
38/38
Track II Announcement