throbber
Universal Serial Bus Specification Revision 2.0
`
`1120.2 Interrupt Split Transaction State Machines
`
`
`Issue_packet{HSD1. SSPLIU;
`
`
`
`
`
`
`
`RespondHC{Do_complete);
`
`
`Hc_oo_:ntoss
`
`Figure 11-72. Interrupt OUT Start-split Transaction Host State Machine
`
`386
`
`ZTE/SAMSUNG 1008-0414
`ZTE/SAMSUNG 1008-0414
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`HSU2.PID = NAK .
`
`
`
`
`
`
`
`; lssue_packet(HSD1. CSPLIT);
`
`
`
`__ Issue__packet(HSD1, tokenOUT];
`
`Packet read (HSUZ)
`
`
`
` (HSUZPID i: STALL and
`
`
`HSU2.P1D r: NAK and
`Hsu2.Plor=AcK and
`HSU2.PID!= ERR and
`HSUZHD r= NYEI'] or
`HSU2.timeout
`
`
`
`
` . ErrorCount >= 3
`
`
`
`
`
`
`5 RespondHC(Do_corrlp_immed_now}:
`
`
`ErrorCount € 3
`
`Hc_Do_Intocs
`
`Figure 11-73. Interrupt OUT Complete—split Transaction Host State Machine
`
`387
`
`ZTE/SAMSUNG 1008-0415
`ZTE/SAMSUNG 1008-0415
`IPR2018-00110
`|PR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`_ HSD2.P|D {3 DATAX or
`_ HSD2.timeout
`
`
`
`
`: HSD2.CRC16 - 0k
`5?” 3 Data into 53 i e'
`
`
`$22
`
`
`
`
`
`
`HSD2.CRC16 :- bad
`
`Figure 11-74. Interrupt OUT Start-split Transaction TT State Machine
`
`388
`
`ZTE/SAMSUNG 1008-0416
`ZTE/SAMSUNG 1008-0416
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`
`CS_Buff.match.down_result = r_trans*err
`IssuejackeflHSUL ERR);
`
` = r_nak
`
`IssuejackeKHSUL NAK);
`
`_ CS_Buff.match.down_result = r_sial|
`
`
`
`:
`
`Issue_packe1(HSU1, STALL);
`
`
`
`I
`
`TT_Do_lntOCS
`
`
`
`Figure 11—75. Interrupt OUT Complete-split Transaction ”IT State Machine
`
`
`
`RespondHC(Do_eomplete);
`
`HC_Do_lntISS
`
`
`
`Figure 11-76. Interrupt IN Start-split Transaction Host State Machine
`
`389
`
`ZTE/SAMSUNG 1008-0417
`ZTE/SAMSUNG 1008-0417
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`
` ErrorCount < 3
`
`RespondHC(Do_-stan);
`
`!
`
`
`
`not HC_cmd.last
`RespondHC(Do_next_complete);
`
`
`
`
`
`
`
` 5
`
`.
`
`HSU2.P|D = NAK
`RespondHC{Do_starl);
`
`
`
`
`: HSU2.F'|D = STALL
`; RespondHC(Do_ha[t);
`
`
`
`
`
`(HSUZPID I: NAK and
`HSU2.P|D :‘= STALL and
`HSUZPID l= NYET and
`HSU2.PID I: ERR] or
`HSU2.timeout
`
`HC_Do_!ntICS
`
`Figure 11-77. Interrupt IN Complete-split Transaction Host State Machine
`
`390
`
`ZTE/SAMSUNG 1008-0418
`ZTE/SAMSUNG 1008-0418
`IPR2018-00110
`|PR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`
`
`HSU2.x = HC_cmd.toggle
`
`5 RespondHC(Do_next_cmd);
`
`
`
`
`HSU2.x l= HC_cmd.toggle
`
`:
`
`HC_Reject_data;
`
`
`
`:
`
`ReapondHC(Do_start);
`
`..
`
`1
`
`
`
`_— EFFOFCDUntb=3
`
`
`
`ERespmndHC‘.(Dcn_halt);
`
`HSU2.P|D = DATAx and
`Hsuzcrzme = 0k
`
`HC_Accept_wdata:
`
`
`
`ErrorCount < 3
`
`' RespondHC(Do_comp_immed_now);
`
`E
`
`
`
`
`HSU2.PID = MDATA and
`HSU2.CRC16 = 0k
`
`HC_Accept'_data;
`
`(HSUZPID = MDATA or
`HSU2.PID = DATAX) and
`HSU2,CRC16 = bad
`
`
`
`
`' (HSU2.PlD 1: MDATA and
`HSU2.PID f: DATAX) or
`HSU2.timeout
`
`'
`
`HCWD atavorfierror
`
`Figure 11-78. HC_Data_nr_Error State Machine
`
` DataFintouSSJipe;
`
`TT_Do_|ntISS
`
`Figure 11-79. Interrupt IN Start-split Transaction TT State Machine
`
`391
`
`ZTE/SAMSUNG 1008-0419
`ZTE/SAMSUNG 1008-0419
`IPR2018-00110
`|PR2018—001 1O
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`: CS_Buff.match.down_result = r_moredata
`lssue_packet(HSU1, MDATA);
`
`E
`
`
`
`CS_Buff.match.down_result = r_|astdata
`Issue_packet(HSU1. DATAx);
`
`
`CS_Buff.match.down_result = r_trans_err
`
`"
`
`Issuejacket(HSU1 ,ERR);
`
`
`
`
`
`
`
`
`
`
`CSWBuffmatchstate = old
`
`lssue_packet(HSU1, NAK};
`
`i
`
`6,12
`
`
`CS_Bufi.match.down_result = r_stali
`
`
`
`
`issuejackem HSU1, STALL)‘
`
`
`
`S_Buff.match.state = no_rnatch
`lssuejackeflHSUL NYET);
`_
`
` iCS_Buff.match.state match_busy
`
`_
`
`'|'|'_Do_int|CS
`
`Figure 11-80. Interrupt IN Corn plete-split Transaction TT State Machine
`
`1120.3 Interrupt OUT Sequencing
`
`Interrupt OUT split transactions are scheduled by the host controller as norlnal high—speed transactions with
`the start- and complete-splits scheduled as described previously.
`
`When there are several full-flow-speed transactions allocated for a given microfi'ame, they are saved by the
`high-speed handler in the 'IT in the start-split pipeline stage.
`'[he start-splits are saved in the order they are
`received until the end of the microframe. At the end of the microframe, these transactions are available to
`be issued by the full-flow-speed handler on the full-flow-speed bus in the order they were received.
`
`In a following microframe (as described previously), the full-flow-speed handler issues the transactions that
`had been saved in the start-split pipeline stage on the downstream facing full-flow-speed bus. Some
`transactions could be leftover from a previous microframe since the high-speed schedule was built assuming
`best case bit stuffing and the full-flow—speed transactions could be taking longer on the full-flow-speed bus.
`As the fiJll-flow-speed handler issues transactions on the dowustream facing full-flow-speed bus, it saves the
`results in the periodic complete—split pipeline stage and then advances to the next transaction in the start-
`split pipeline.
`
`In a following microframe (as described previously), the host controller issues a high-speed complete-split
`transaction and the TT responds appropriately.
`
`392
`
`ZTE/SAMSUNG 1008-0420
`ZTE/SAMSUNG 1008-0420
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`High
`
`Speed
`
`
`mm5
`
`E 64 bytes w!
`HS CRC16
`
`Full/Low—
`
`Speed
`Bus
`
`
`
`64 bytes
`
`Figure 11-8]. Example of CRC16 Handling for Interrupt OUT
`
`The start-split transaction for an interrupt OUT transaction includes a normal CRC 1 6 field for the high-
`speed data packet of the data phase of the start-split transaction. However, the data payload of the data
`packet contains only the data payload of the corresponding full-tlow-speed data packet; i.e., there is only a
`single CRC] 6 in the data packet of the statt—spl it transaction. The TT high-speed handler must check the
`CRC on the start-split and ignore the start-split if there is a failure in the CRC check of the data packet. If
`the start-split has a CRC check failure, the full-speed transaction must not be started on the downstream bus.
`Figure ll-SI shows an example ofthe CRCl6 handling for an interrupt OUT transaction and its start-split.
`
`1120.4 Interrupt IN Sequencing
`When the high-speed handler receives an interrupt start-split transaction, it saves the packet in the start-split
`pipeline stage.
`In this fashion, it accumulates some number of start-split transactions for a following
`microframe.
`
`At the beginning of the next microframe (as described previously}, these transactions are available to be
`issued by the full-llow-speed handler on the dDWnstream full-flow-speed bus in the order they were saved in
`the start-split pipeline stage. The full-flow-speed handler issues each transaction on the downstream facing
`bus. The full-llow-speed handler responds to the full-flow-speed transaction with an appropriate handshake
`as described in Chapter 8. The full-flow-speed handler saves the results of the transaction (data, NAK,
`STALL, trans_err) in the complete-split pipeline stage.
`
`During following microframes, the host controller issues high-speed complete-split transactions to retrieve
`the data)Irhandshake from the high-speed handler. When the high-speed handler receives 5 complete-split
`transaction, the TT returns whatever data it has received during a microframe. If the full-flow-speed
`transaction was Started and completed in a single microframe, the "IT returns all the data for the transaction
`in the complete-Sp] it response occurring in the following microframe. If the full-{Iow-speed CRC check
`passes, the appropriate DATAOI‘ I PID for the data packet is used. if the full-llow-speed CRC check fails, an
`ERR handshake is used and there is no data packet as part of the com plete-split transaction.
`
`If the full—flow—speed transaction spanned a microframe, the TT requires two complete-splits (in two
`subsequent microfram es) to return all the data for the full-Klow«speed transaction. The data packet PID for
`the first complete-split must be an MDATA to tell the host controller that another complete-split is required
`for this endpoint. This MDATA response is made without performing a CRC check (since the CRC l 6 field
`has not yet been received on the full-flow-speed bus}. The complete-split in the next microframe must use a
`DATACI:r l PID if the CRC check passes. If the CRC check fails, an ER handshake response is made
`instead and there is no data packet as part of the complete-5p] it transaction. Since full-speed interrupt
`transactions are limited to 64 data bytes or less (and low-speed interrupt transactions are limited to 8 data
`
`393
`
`ZTE/SAMSUNG 1008-0421
`ZTE/SAMSUNG 1008-0421
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`bytes or less), no full-flow-speed interrupt transaction can span more than a single microfr‘ame boundary;
`i.e., no more than two mi croframes are ever required to complete the transaction.
`
`The complete-split transaction for an interrupt IN transaction must not include the CRC16 field received
`from the full-flow-speed data packet (i.e., only a hi gh-speed CRC16 field is used in split transactions). The
`TT must use a high-speed CRC16 on each complete-split data packet. If the full-speed handler detects a
`failed CRC check, it must use an ER handshake reSponse in the complete-split transaction to reflect that
`error to the high-Speed host controller. The host controller must check the CRC16 on each returned
`complete-split data packet. A CRC failure (or ERR handshake) on any (partial) complete—split is reflected
`as a CRC failure on the total full-flow-speed transaction. This means that for a case where a full-flow-speed
`interrupt spans a microframe boundary,
`the host controller can accept the first complete-split without
`errors, then the second complete-split can indicate that the data from the first complete-split must be
`rejected as if it were never received by the host controller. Figure “-82 shows an example of an interrupt
`IN and its CRC16 handling with corresponding complete-split re5ponses.
`
`High
`Speed
`Bus
`
`l
`
`125us microfiame
`
`Full/Low-
`
`Speed
`Bus
`
`
`
`
`
`
`64 bytes wt
`HS CRC16
`
`
`
`2 bytes
`
`62 bytes
`
`Figure 11-82. Example of CRClfi Handling for Interrupt [N
`
`11.21 Isochronous Transaction Translation Overview
`
`Isochronous spl it transactions are handled by the host by scheduling start- and complete-split transactions as
`described previously. Isochronous IN split transactions have more than two schedule entries:
`
`II
`
`II
`
`One entry for the start-split transaction in the microfi'ame before the earliest the full-speed transaction
`can occur
`
`Other entries for the complete-splits in microframes after the data can occur on the full-Speed bus
`(similar to interrupt IN scheduling)
`
`Furthermore, isochronous transactions are split into microframe sized pieces; e.g., a 300 byte full~speed
`transaction is budgeted multiple high-speed split transactions to move data toffrom the "IT. This allows any
`alignment of the data for each microframe.
`
`Full-speed isochronous OUT transactions issued by a TT do not have corresponding complete-split
`transactions. They must only have start-split transaction(s).
`
`The host controller must preserve the same order for the complete-split transactions (as for the start-spl it
`transactions) for IN handling.
`
`394
`
`ZTE/SAMSUNG 1008-0422
`ZTE/SAMSUNG 1008-0422
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Isochronous INs have start- and complete- split transactions. The “first” high-speed split transaction for a
`full-speed endpoint is always a start-split transaction and the second (and others as required) is always a
`complete—split no matter what the high—speed handler of the TT responds.
`
`The fiill-r’low-speed handler recombines OUT data in its local buffers to recreate the single full-speed data
`transaction and handle the microframe error cases. The filll-J'low~speed handler splits IN response data on
`microframe boundaries.
`_
`\
`
`Microframe buffers always advance no matter what the interactions with the host controller or the full-Speed
`handler.
`
`11.21.1 lsochronous Split Transaction Sequences
`
`The flow sequence and state machine figures show the transitions required for high-speed split transactions
`for a full-speed isochronous transfer type for a single endpoint. These figures must not be interpreted as
`showing any particular specific timing. In particular, high-speed or full-speed transactions for other
`endpoints may occur before or after these split transactions. Specific details are described as appropriate.
`
`In contrast to bulkfcontrol processing, the full-«speed handler must not do local retry processing on the full-
`speed bus in response to transaction errors (including timeout) of an isochronous transaction.
`
`Start split
`
`!_'''''''''''''''_!''''''''''l______!'''''''''''''''''1.
`
`I
`If a'll of
`payiload
`|
`
`|
`If beginning
`of paj'Ioad
`|
`
`|
`If middle
`of payload
`l
`
`|
`Ifliist
`of payload
`I
`
`st] '
`
`st2'
`
`st3 '
`
`st4'
`
`
`
`SSPLIT-all
`
`SSPLTT ~begin SSPLIT -rnid
`
`SSPLIT -end
`
`
`
`
`
`
`
`.............................................................
`
`DATAO
`
`Tréansyrr
`set;
`
`Transierr
`not Ironic”,
`Data_t'n§‘0_SS_pipe Domierror
`shli
`se2§
`V
`Y
`Go to next
`
`cmd
`
`Figure 11-83.
`
`lsoehronous OUT Start-split Transaction Sequence
`
`
`
`395
`
`ZTE/SAMSUNG 1008-0423
`ZTE/SAMSUNG 1008—0423
`IPR2018-00110
`|PR2018—001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Start split
`
`51]
`
`
`
`Data_in%0_SS_pipe
`
`!v
`
`Go to
`
`complete split
`
`Figure 11-84.
`
`lsochronous 1N Start-split Transaction Sequence
`
`In Figure 11-85, the high-speed handler returns an ERR handshake for a “transaction error” of the fiill-speed
`transaction.
`
`The high-speed handler retums an NYET handshake when it cannot find a matching entry in the complete-
`split pipeline stage. This handles the case where the host controller issued the first hi gh-speed complete-
`split transaction, but the full-flow-speed handler has not started the transaction yet or has not yet received
`data back from the full-speed device. This can be due to a delay from starting previous full-speed
`transactions.
`
`The transition labeled "TAdvance" indicates that the host advances to the next transaction for this full-speed
`endpoint.
`
`The transition labeled "DAdvance" indicates that the host advances to the next data area of the current
`
`transaction for the current full-Speed endpoint.
`
`396
`
`ZTE/SAMSUNG 1008-0424
`ZTE/SAMSUNG 1008-0424
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Complete split
`
`ct]
`
`TranLerr
`_E".................................................... Ct2
`
`
`
`Fastimarch
`_
`
`'
`
`eel;
`Searchnofcompfew.........
`:
`inn'me
`$ Tra-z-s_err

`+
`ce7i
`'“° 1?“
`couq
`r———————————1
`cef};
`0641'
`i
`if err_count < 3
`if err_c¢:tunt >= 3
`retry immed.
`!
`com s lit
`!
`P. P
`i
`
`
`
`........NOSPt'Irr-eb'pomfmd
`t....................................1.............................................=
`ofd/Téanterr
`ofdé’lastdam
`oia’é’moredara
`
`ceZLi
`Cd 1%
`cdzv
`ch41;
`DA TAO
`MDATA
`1 NYET 1
`r' "I
`r' “1
`i.____
`i
`-:
`i
`' ______Y Not lrans_err il—
`i
`.
`I
`'
`.
`i
`!
`i Traus_err 33 vance
`!
`not
`i
`trans_?rr
`__Y
`L+st Not last
`!
`Ink—t
`!
`'
`'
`i
`!
`ceg
`to ce?
`!
`:
`cc;
`i
`‘I'
`-—'—-—-T-— —-—-_-_\-..__ L_/'r—’————————!\-..__ i _/'r—————
`i
`Record error
`chli
`1—
`l
`i___________Y
`Not last
`6113 !
`T
`ch4+_________ ________+
`TAddance
`
`!V
`
`Go to next
`
`cmd
`
`Go to next
`
`comp. split
`
`Figure 11-85. Isochronous IN Complete-split Transaction Sequence
`
`397
`
`ZTE/SAMSUNG 1008-0425
`ZTE/SAMSUNG 1008-0425
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`11.21.2 lsochronous Split Transaction State Machines
`
`
`HC_cmd.datapart = alldata
`E
`glssue_packe1(HSD1, SSPLlT);—all
`
`.—
`
`
` st1
` _:
`HC_cmd.datapart = enddata
`-- end
`glssueJJackeflHsm SSPLIT)‘
`
`
`
`
`
`HC_cmd.datapart = begindata
` 313
`glssueJaackeflHsm, SSPLIT);
`-~ begin
`
` HC_cmd.datapart middata
`
`IssueJaacket(HSD1, SSPLIT); "middata
`
`
`
`HCHDcLIsochOSS
`
`Figure 11-36. Isochronous OUT Start-split Transaction Host State Machine
`
`398
`
`ZTE/SAMSUNG 1008-0426
`ZTE/SAMSUNG 1008-0426
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`HSD2.PID = DATAX and HSDZCRC16 = 0k and
`splitdatapart = enddata and SSHBufstochO and
`(SS_Bufi.Iastdata = middata or
`SS_Buff.lastdata = begindata)
`.. .
`
`..
`
`.
`
`............
`
`-E
`E
`
`_
`
`g
`{ii
`
`SS_Buff.isoch0 <= false;
`—. SS_Buff.saw_split <=fa|se;
`Data_into_SS_pipe;
`
`'—
`.
`:
`
`
`
`
`
`
`
`splitdatapart = middata and SS_Buff.isochO and
`(SS_Buff.Iastdata = begindata or
`SS_Buff.lastdata = middata)
`
`
`
`
`
`
`
`
`
`
`HSDZPID = DATAx and
`HSD2.CRC16 = ok and
`
`splitdatapart = begindata and
`{not SS_Buff.isoch0)
`
`st4
`
`
`
`SS_Buff.lastdata <= middata:
`SS_Buff.saw_split <= true;
`DatafiintcHSSjipe;
`
`
`
`
`
`
`SS_Buff.isoch0 <3 true;
`SS_Buff.Iastdata <= begindata;
`SS_Buff.saw_split <: true;
`Data_into_SSJ3ipe;
`
`
`
`HSD2.PID = DATAX and HSD2.CRC16 = 0k and
`
`spliLdatapart 3 alldata and {not SS_Buff.isochO)
`
`
`
`
`
`
`
`
`
`
`m1..‘.'§fi?........
`HSD2.PID I: mm or
`HSDZ.timeout or
`_ HSD2.CRC16 : bad or
`_..........................................
`
`Bad_lsoch0ut(SS_Bufi, split)
`
`
`PackeLreadytHSDZ)
`
`
`
`
`
`
`
`SS_Buff.isochO
`
`SS_Buff.isochO <= false;
`
`I
`
`
`
`I T?_Do_lsochOSS
`
`
`
`Figure 11-87. lsochronous OUT Start-split Transaction TT State Machine
`
`There is a condition in Figure 11—8? on transition selr‘se2 labeled “Bad_IsochOut". This condition is true
`when none of the conditions on transitions st] through s14 are true. The action labeled “Down_error”
`records an error to be indicated on the downstream facing full-Speed bus for the transaction corresponding
`to this start-split.
`
`399
`
`ZTE/SAMSUNG 1008-0427
`ZTE/SAMSUNG 1008-0427
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`
`
`ssue_packet(HSD1. SSPLIT);
`
`
`
`'
`
`|ssue_packet(HSD1. tokenlN};
`
`
`
`
`ReapondHC(Do_complete);
`
`HCuDomlsochISS
`
`
`
`Figure 11-88.
`
`lsochronous IN Start-split Transaction Host State Machine
`
`400
`
`ZTE/SAMSUNG 1008-0428
`ZTE/SAMSUNG 1008-0428
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`HSU2.P|D = DATAX and
`HSU2.CRC16 = 0k
`
`HC_Accept_data;
`
`RespondHC(Do_next_cn1d);
`
`not HC_ond.last
`
`RespondHC{Do next complete}
`
`
`
`_
`
`
`
`
`
`
`HSUZPID = MDATA and
`HSU2.CRC16 = ok
`
`
`
`
`
`
`
`(HSU2.P|D = MDATA or
`
`E HSU2.PID = DATAX) and
`
`
`ErrorCount < 3
`RespondHC(Do_oomp_immed_now};
`
`.
`ErrorCount >= 3
`I........................................................_i
`
`(:93
`
`HSU2 CRC16 — bad
`
`Iced
`
`
`
`
`' (HSU2.P|D I: NYET and
`HSU2.PID I: DATAx and
`
`; HSU2.PID I: MDATA and
`; HSU2.PID t: ERR) or
`' HSU2.timeout
`
`
`
`ct1
`
`IssueJackeflHSD‘l. CSPLIT};
`
`HC_Do_lsochECS
`
`Figure 11—89. Isochronous [N Complete-split Transaction Host State Machine
`
`In Figure 11—89, the transition “ceS” occurs when the high-speed handler responds with an MDATA to
`indicate there is more data for the full-speed transaction, but the host controller knows that this is the last
`scheduled complete-split for this endpoint for this frame. If a DATAO response from the high-speed
`handler is not received before the last scheduled complete-split, the host controller records an error and
`proceeds to the next transaction for this endpoint (in the next frame}.
`
`401
`
`ZTE/SAMSUNG 1008-0429
`ZTE/SAMSUNG 1008-0429
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`
`
`'I'l'_§30_lsochiSS
`
`Figure 11-90. Isoehronous IN Start-split Transaction 'I‘T State Machine
`
`
`
` CS Buff match state = old
`
`
`
`S__Buff.match.down_result = r_moredata
`
`Issue
`
`acket(HSU1 MDATA)‘
`
`Gag
`
`
`CS_Buff.match.down__result = rfllastdata
`Issue_packet(HSU1, DATAX);
`-- Datao
`
`
`
`CS_Buff.match.state = no_match
`Issuerpacket{HSU1, NYED;
`
`
`CS_Buff.match.down_result 2 r_trans_err
`
`Issue_packet(HSU1, ERR};
`
`
`
`
`
`
`'l'l'_lsoch|CS
`
`]
`
`Figure 11-9]. Isochronous IN Complete-split Transaction Tl" State Machine
`
`402
`
`ZTE/SAMSUNG 1008-0430
`ZTE/SAMSUNG 1008-0430
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`11.213 lsochronous OUT Sequencing
`
`The host controller and TT must ensure that errors that can occur in split transactions of an isochrOnous full-
`speed transaction translate into a detectable error. For isochronous OUT split transactions, once the high-
`specd handler has received an “SSPLlT-begin” start-split transaction token packet, the hi gh-speed handler
`must track start-split transactions that are received for this endpoint. The high-speed handler must track that
`a start-split transaction is received each and every microframe until an “SSPLlT-end” split transaction token
`packet is received for this endpoint. If a microfiame passes without the high-speed handler receiving a
`start-split for this full-Speed endpoint, it must ensure that the full-speed handler forces a bitstuff error on the
`full—speed transaction. Any subsequent “SPLIT~middle” or “SPLIT-end” start-spl its for the same endpoint
`must be ignored until the next non “SPLIT-middle” and non “SPLIT-end” is received (for any endpoint
`supported by this TT}.
`
`The start-split transaction for an isochronous OUT transaction must not include the CRC16 field for the full-
`speed data packet. For a full-speed transaction, the host would compute the CRC16 of the data packet for
`the full data packet (e.g., a 1023 byte data packet uses a single CRC16 field that is computed once by the
`host controller}. For a split transaction, any isochronous OUT full-speed transaction is subdivided into
`multiple start-splits, each with a data payload of 188 bytes or less. For each of these start-splits, the host
`computes a high-speed CRC 16 field for each start-split data packet. The TT high-speed handler must check
`each high-speed CRC16 value on each start-split. The TT full-speed handler must locally generate the
`CRCl 6 value for the complete fiJll-speed data packet. Figure 11—92 shows an example of a full-speed
`isochronous OUT packet and the high-speed start-splits with their CRC16 fields.
`
`if there is a CRC check failure on the high-speed start-split, the high—speed handler must indicate to the full-
`speed handler that there was an error in the start-spl it for the full-speed transaction. If the transaction has
`been indicated as having a CRC failure {or if there is a missed start-split}, the full-speed handler uses the
`defined mechanism for forcing a downstream corrupted packet. If the first start-split has a CRC check
`failure, the fullvspeed transaction must not be started on the downstream bus.
`
`Additional high-speed start~split transactions for the same endpoint must be ignored after a CRC check fails,
`until the high-speed handler receives either an “SSPLIT—end” start-split transaction token packet for that
`endpoint or a start-split for a different endpoint.
`
`High
`Speed
`
`183 byte w
`HS CRCIG
`
`2 bytes w!
`HS CRC16
`
`Bus
`
`
`
`
`E
`
`Full
`
`Speed
`Bus
`
`Cf; ;—/'WW L9
`
`188 bytes
`
`2 bytes
`
`Figure “-92. Example of CRC16 lsochronous OUT Data Packet Handling
`
`403
`
`ZTE/SAMSUNG 1008-0431
`ZTE/SAMSUNG 1008-0431
`IPR2018-00110
`|PR2018-001 1O
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`1121.4 Isochronous IN Sequencing
`
`The complete-split transaction for an isochronous IN transaction must not include the CRC16 field for the
`full-speed data packet (e.g., only a high-speed CRC] 6 field is used in split transactions). The TT must not
`pass the full-speed value received from the device and instead only use high-speed CRC 1 6 values for
`complete-split transactions. If the full-speed handler detects a failed CRC check at the end of the data
`packet (e.g., afier potentially several complete-split transactions on hi gh-speed), the handler must use an
`ER handshake response to reflect that error to the high-speed host controller. The host controller must
`check the CRC16 on each returned high-speed complete-split. A CRC failure (or ERR handshake) on any
`(partial) complete-5p] it is reflected by the host controller as a CRC failure on the total full-speed transaction.
`Figure 1 1-93 shows an example of the relationships of the full-speed data packet and the high-speed
`complete—splits and their CRCJG fields.
`
`High
`Speed
`Bus
`
`
`
`ilZSus microframc
`
`
`
`
`
` 2+] 86 bytes wt
`HS CRC16
`1 byte w!
`HS CRC16
`
`1 byte wt
`HS CRC16
`
`Full
`
`Speed
`Bus
`
`
`
`3 bytes
`
`188 bytes
`
`Figure 11-93. Example of CRC16 lsoehronous IN Data Packet Handling
`
`11.22 TT Error Handling
`
`The TT has the same requirements for handling errors as a host controller or hub. In particular:
`
`I
`
`a
`
`I
`
`If the TT is receiving a packet at EOF2 of the downstream facing bus, it must disable the downstream
`facing port that is currently transmitting.
`
`If the TT is transmitting a packet near EOFl of the dowustream facing bus, it must force an abnormal
`termination sequence as defined in Section 11.3.3 and stop transmitting.
`
`If the TT is going to transmit a non-periodic full-flow-speed transaction, it must determine that there is
`sufficient time remaining before EOF] to complete the transaction. This determination is based on
`normal sequencing of the packets in the transaction. Since the TT has no information about data
`payload size for INS, it must use the maximum allowed size allowed for the transfer type in its
`determination. Periodic transactions do not need to be included in this test since the microframe
`
`pipeline is maintained separately.
`
`1122.1 Loss of TT Synchronization With HS SOFs
`
`It has a 1 ms frame timer when operating at full-
`The hub has a timer it uses for (m icro)fi'ame maintenance.
`flow-speed for enforcing EOF with downstream connected devices. It has a 125 1.15 microfiame timer when
`operating at high-speed for enforcing EOF with high-speed devices. It also uses the 125 ps microframe
`timer to create a 1 ms frame timer for enforcing EOF with dowustream full-r‘low-speed devices when
`operating at hi gh-speed. The hub (micro)frame timer must always stay synchronized with host generated
`SOFs to keep the bus operating correctly
`
`404
`
`ZTE/SAMSUNG 1008-0432
`ZTE/SAMSUNG 1008-0432
`IPR2018-00110
`|PR201 8-001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`In normal hub repeater (full- or high-speed) operation (e.g., not involving a T1), the (micro)frame timer
`loses synchronization whenever it has missed SOFs for three consecutive microframes. While timer
`synchronization is lost, the hub does not establish upstream connectivity. Downstream connectivity is
`established nonnally, even when timer synchronization is lost. When the timer is synchronized, the hub
`allows upstream connectivity to be established when required. The hub is responsible for ensuring that
`there is no signaling being repeatedftransmitted upstream from a device atter the EOF2 point in any
`(micro)frame. The hub must not establish upstream connectivity if it has lost (micro)fi'ame timer
`synchronization since it no longer knows accurately where the EOF2 point is.
`
`1122.2 TT Frame and Microframe Timer Synchronization Requirements
`
`When the hub is operating at high-speed and has full-llow-speed devices connected on its downstream
`facing ports (e.g., a TT is active), the hub has additional responsibilities beyond enforcement of the (high-
`speed) EOF2 point on its upstream facing port in every microframe. The TT must also generate full-speed
`SOFs downstream and ensure that the TT operates correctly (in bridging high-speed and full-llow-speed
`operation).
`
`A high-speed operating hub synchronizes its microframe timer to 125 tls SOFs. However, in order to
`generate full-speed downstream SOFs, it must also have a 1 ms frame timer.
`It generates this 1 ms frame
`timer by recognizing zeroth microframe SOFs, e.g., a high-speed SOF when the frame number value
`changes compared to SOF of the immediately previous microframe.
`
`In order to create the 1 ms frame timer, the hub must successfiilly receive a zeroth microframe SOF after its
`microframe timer is synchronized.
`In order to recognize a zeroth microframe SOF, the hub must
`successfully receive SOFs for two consecutive microframes where the frame number increments by 1 (mod
`2"] I). When the hub has done this, it knows that the second SOF is a zeroth microframe SOF and thereby
`establishes a 1 ms frame timer starting time. Note that a hub can synchronize both timers with as few as
`two SOFs if the SOFs are for microframe 7 and microframe 0, i.e., if the second SOF is a zeroth
`microframe SOF.
`
`Once the hub has synchronized its 1 ms frame timer, it can keep that timer synchronized as long as it keeps
`its 125 ps microframe timer synchronized (since it knows that every 8 microframes from the zeroth
`microframe SOF is a 1 ms frame).
`In particular, the hub can keep its frame timer synchronized even ifit
`misses zeroth microframe SOFs (as long as the microframe timer stays synchronized).
`
`So in summary, the hub can synchronize its 125 its microfiame timer after receiving SOFs of two
`consecutive microframes. It synchronizes its 1 ms frame timer when it receives a zeroth microframe SOF
`(and the microframe timer is synchronized). The 125 its microframe timer loses synchronization after three
`SOFs for consecutive microframes have been missed. This also causes the 1 ms frame timer to lose
`
`synchronization at the same time.
`
`The 'IT must only generate full-speed SOFs downstream when its 1 ms frame timer is synchronized.
`
`Correct internal operation of the TT is dependent on both timers. The 'IT must accurately know when
`microframes occur to enforce its microframe pipeline abortifree rules.
`It knows this based on a
`synchronized microframe timer (for generally incrementing the microframe number) and a synchronized
`frame timer (to know when the zeroth microframe occurs).
`
`Since loss of microframe timer synchronization immediately causes loss of frame timer synchronization, the
`TT stops normal operation once the microframe tim er loses synchronization.
`In an error free environment,
`microframe timer synchronization can be restored afier receiving the two SOFs for the next two consecutive
`microfram es (e.g., synchronization is restored at least 250 ps after synchronization loss). As long as SOFs
`are not missed, fi'ame timer synchronization will be restored in less than 1 ms after microframe
`synchronization. Note that frame timer synchronization can be restored in a hi gh-speed operating case in
`much less time {0250-1250 ms) than the 2-3 ms required in full-speed operation. Once the frame timer is
`synchronized, SOFs can be issued on downstream facing full-speed ports for the beginning of the next
`frame.
`
`405
`
`ZTE/SAMSUNG 1008-0433
`ZTE/SAMSUNG 1008—0433
`IPR2018-00110
`|PR2018—001 10
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Once the hub detects loss of microframe timer synchronization, its TT(s):
`
`1. Must respond to periodic complete-splits with any responses buffered in the periodic pipeline (only
`good for at most 1 microframe of complete-splits).
`
`Must abort any buffered periodic startnsplit transactions in the periodic pipeline.
`
`Must ignore any high-speed periodic start-splits.
`
`Must stop issuing full-speed SOFs on downstream facing full-speed ports (and low-speed keep-alives
`on low-speed ports).
`
`Must not start issuing subsequent periodic full-llow-speed transactions on downstream facing full—flow-
`speed ports.
`
`Must respond to hi gh-speed start-split bulkz'control transactions.
`
`Buffered bulkfcontrol results must respond to high-speed complete-split transactions.
`
`8.
`
`Pending bulkicontrol transactions must not be issued to filll-i’low-speed downstream facing ports. The
`TT buffers used to hold bulkfcontrol transactions must be preserved until the microframe timer is re-
`synchronized. (Or until a Clear_TT_Buffer request is received for the transaction).
`
`Note that in any case a TT must not issue transactions of any speed on downstream facing ports when its
`upstream facing port is suspended.
`
`A TT only restores normal operation on downstream facing full-flow-speed ports after both microframe and
`frame timers are synchronized. Figure Figure 11-94 summarizes the relationship between high-speed SOFs
`and the TT frame and microframe timer synchronization requirements on start-splits.
`
`For suspend sequencing of a hub, a hub will first lose microframefframe timer synchronization at the same
`time. This will cause its TT(s) to stop issuing SOFs (which should be the only transactions keeping the
`downstream facing full-flow-speed ports out of suspend). Then the hub (along with any downstream
`devices) will enter suspend.
`
`Upon a resume, the hub will first restore its microframe timer synchronization (afier high-speed transactions
`continue). Then in less than 1 ms (assuming no errors), the flame timer will be synchronized and the TT
`can start normal operation (including SOstkeep-alives on downstream facing full—flow-speed ports).
`
`Microtrames
`
`Yo
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket