USB 3.2 spec simple review

1 Basic Knowledge

downstream sublink The collection of lanes between the DFP Tx and the UFP Rx.
DPP Data Packet Payload. Contains the data packet’s data and a 32 -bit CRC.
DP Data Packet which consists of a Data Packet Header(DPH) followed by a Data Packet Payload(DPP).
Gen X Gen X is a generic term used to refer to any of the combinations Gen 1, Gen 2 orGen 1/Gen 2 when the topic is specific to the phy layers but does not need to bespecific to either Gen 1 or Gen 2
Gen X x Y X refers to the rate of signaling on the wire (Gen 1, Gen 2, etc.) and Y refers to the number of lanes.
LMP Link Management Packet. A type of header packet used to communicate information between a pair of link partners.
LTSSM Link Training and Status State Machine
transaction The IN consists of an ACK TP with a response of NRDY TP, DP, or STALL TP. The OUT consists of a DP with a response of NRDY TP, an ACK TP, or STALL TP.
transfer One or more bus transactions to move information between a software client and its function.
  • The USB 3.2 system architecture is comprised of two simultaneously active buses: a USB 2.0 bus and an Enhanced SuperSpeed bus.

在這裏插入圖片描述

  • The nominal signaling data rate for Gen 1 physical layer is 5 Gbps. A Gen 1 transmitter encodes data and control characters into symbols using an 8b/10b code.
  • The nominal signaling data rate for the Gen 2 physical layer is 10 Gbps. A Gen 2 transmitter frames data and control bytes (referred to as Symbols) by prepending a 4-bit block identifier to 16 symbols (128 bits) to create a 128b/132b block.
  • For links that operate at Gen 1x1 speed (5 Gbps and 8b/10b line encoding) the raw throughput is 500 MB/sec.
  • For links that operate at Gen 2x1 speed (10 Gbps and 128b/132b line encoding) the raw throughput is approximately 1.2 GB/sec.

1.1 Difference from USB2.0

  • USB 2.0 uses a three-part transaction (Token, Data, and Handshake) while the Enhanced SuperSpeed protocol uses the same three parts differently. For OUTs, the token is incorporated in the data packet; while for INs, the Token is replaced by a handshake.
  • USB 2.0 uses a polling model while the Enhanced SuperSpeed protocol uses asynchronous notifications.
  • USB 2.0 does not have a Streaming capability while the Enhanced SuperSpeed protocol supports Streaming for bulk endpoints.

1.2 Enhanced Superspeed Packet

  • Enhanced SuperSpeed packets start with a 16-byte header. Some packets consist of a header
    only.
  • The header is protected by a 16-bit CRC (CRC-16) and ends with a 2-byte link control word.
  • There are four basic types of packets: Link Management Packets, Transaction Packets, Data Packets, and Isochronous
    • A Link Management Packet (LMP) only traverses a pair of directly connected ports
      and is primarily used to manage that link.
    • A Transaction Packet (TP) traverses all the links in the path directly connecting the
      host and a device. It is used to control the flow of data packets, configure devices
      and hubs.
    • A Data Packet (DP) traverses all the links in the path directly connecting the host
      and a device. Data Packets consist of two parts: a Data Packet Header (DPH) and a Data Packet Payload (DPP)
    • An Isochronous Timestamp Packet (ITP) is a multicast packet sent by an Enhanced SuperSpeed host/hub to all active links.

1.3 Transfer Description

1.3.1 Data Bursting

  • Data Bursting enhances efficiency by eliminating the wait time for acknowledgements on a
    per data packet basis.
  • Each endpoint on an Enhanced SuperSpeed device indicates the number of packets that it can send/receive (called the maximum data burst size) before it has to wait for an explicit handshake.

1.3.2 IN/OUT Transfers

  • A host initiates a transfer by sending an acknowledgement packet (IN) to the device.
  • The host tells the device the number of data packets it can send and the sequence number of the first data packet expected from the device
  • The acknowledgement packet(IN) also let device implicitly acknowledges the previous data packet that was received successfully.
  • An IN transfer on the Enhanced SuperSpeed bus consists of one, or more, IN transactions consisting of one, or more, packets.
  • An OUT transfer on the Enhanced SuperSpeed bus consists of one, or more, OUT transactions consisting of one, or more, packets.

1.3.2 Control Transfers

  • Control endpoints have a fixed maximum control transfer data payload size of 512 bytes and have a maximum burst size of one.
  • An Enhanced SuperSpeed device must report a value of 09H in the bMaxPacketSize field of its Device Descriptor.

1.3.3 Bulk Transfers

  • An endpoint for bulk transfers shall set the maximum data packet payload size in its
    endpoint descriptor to 1024 bytes.
  • Streams extend the number of host buffers accessible by an endpoint from 1 to up to 65533.
  • There is a 1:1 mapping between a host buffer and a Stream ID.
  • The host also may start or stop a Stream.
  • The Stream Protocol also provides a mechanism which allows the host to asynchronously
    inform the device when Endpoint Buffers have been added to the pipe.

1.3.4 Interrupt Transfers

  • The only allowable maximum data payload size for interrupt endpoints is 1024 bytes for interrupt endpoints
  • The maximum allowable burst size for interrupt endpoints is 3.
  • An Enhanced SuperSpeed interrupt endpoint can move up to three maximum sized packets
    (3 x 1024 bytes) per service interval.
  • An interrupt endpoint can specify a desired period 2^(bInterval-1) x 125us, where bInterval is in the range 1 up to (and including) 16.

1.3.5 Isochronous Transfers

  • The only allowable maximum data payload size for isochronous endpoints is 1024 bytes for isochronous endpoints
  • The maximum allowable burst size for isochronous endpoints is 16.
  • A SuperSpeed isochronous endpoint can move up to three burst transactions of up to 16
    maximum sized packets (3 x 16 x 1024 bytes) per service interval.
  • A SuperSpeedPlus isochronous endpoint can move up to six burst transactions of up to 16 maximum sized packets (6 x 16 x 1024 bytes) per service interval.
  • An isochronous endpoint can specify a desired period 2^(bInterval-1) x125us, where bInterval is in the range 1 to 16.

2 Physical layer(TODO)

3 Link layer

3.1 Link Management and Flow Control

  • This section contains information regarding link data integrity, flow control, and link power
    management.
  • In Gen 1 operation, all header packets are 20 symbols long. This includes LMPs, TPs, ITPs, and DPHs.

4 Packet layer

4.1 Packet Types

  • Enhanced SuperSpeed USB uses four basic packet types each with one or more subtypes.
    • Link Management Packets (LMP) only travel between a pair of links (e.g., a pair of
      directly connected ports) and is primarily used to manage that link.
    • Transaction Packets (TP) traverse all the links directly connecting the host to a
      device. They are used to control the flow of data packets, configure devices, and
      hubs, etc. Transaction Packets have no data payload.
    • Data Packets (DP) traverse all the links directly connecting the host to a device.
      Data Packets have two parts: a Data Packet Header (DPH) and a Data Packet Payload
      (DPP).
    • Isochronous Timestamp Packets (ITP) are multicast on all the active links.
      在這裏插入圖片描述

4.1.1 Link Management Packet(LMP)

  • LMPs are used to manage a single link. They carry no addressing information and
    as such are not routable.
    在這裏插入圖片描述
    在這裏插入圖片描述

4.1.2 Transaction Packet

  • Transaction Packets (TPs) traverse the direct path between the host and a device. TPs are
    used to control data flow and manage the end-to-end connection.
  • TPs are used to report the status of data transactions and can return values indicating
    successful reception of data packets, command acceptance or rejection, flow control, and
    halt conditions.
    在這裏插入圖片描述
    在這裏插入圖片描述

4.1.3 Data Packet

  • The host uses the packet to send data to a device. Devices use this packet to return data to the host in response to an ACK TP.
  • All data packets are comprised of a Data Packet Header and a Data Packet Payload.
    在這裏插入圖片描述

4.1.4 Isochronous Timestamp Packet (ITP)

  • ITPs carry no addressing or routing information and are multicast by hubs to all of their downstream ports with links in the U0 state and that have completed Port Configuration. A device shall not respond to an ITP.
    在這裏插入圖片描述

4.2 TP Sequences

4.2.1 Bulk Transactions

  • Bulk transactions use a two-phase transaction consisting of TPs and DPs.
  • Under certain flow control and halt conditions, the data phase may be replaced with a TP.

4.2.2 Control transfers

  • Control transfers have a minimum of two transaction stages: Setup and Status. A control
    transfer may optionally contain a Data stage between the Setup and Status stages.
  • SETUP transactions are similar in format to a Bulk OUT transaction but have the Setup field set to
    one in the DPH along with the Data Length field set to eight.
  • Data stage of a control transfer consists of one or more IN or OUT transactions and follows the same protocol rules as bulk transfers except that the Direction field shall always be set to zero.
  • Status stage of a control transfer is the last transaction in the sequence. The status stage transaction is identified by a TP with the SubType set to STATUS.
    在這裏插入圖片描述在這裏插入圖片描述

4.2.3 Interrupt Transactions

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章