howard wusb protocol

Upload: butnaru-emanuel

Post on 04-Jun-2018

220 views

Category:

Documents


0 download

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