USB3.0 communication flow

Tue May 23 17:11:17 CST 2023

0_USB3.0-communication-flow-Hornmic

USB3.0 communication flow

USB 3.0 is backward compatible with USB 2.0 at the framework level. The four types of transactions remain the same: control transaction, interrupt transaction, bulk transaction, and synchronous transaction. However, there are still some fundamental differences between USB 2.0 and SuperSpeed protocols:

1) USB 2.0 uses a three-part transaction transaction (token, data, and handshake), and SuperSpeed uses these same three parts differently. For outputs (OUTs), the token is included in the data packet; for inputs (INs), the token is replaced by the handshake. 

2) USB 2.0 does not support bursting (bursting) while SuperSpeed supports continuous bursting (continuous bursting).

 

3) USB 2.0 is a half-duplex broadcast (broadcast) bus, while SuperSpeed is a dual-simplex unicast (unicast) bus, which allows simultaneous IN and OUT transaction transactions. 

4) USB 2.0 uses a polling model, while SuperSpeed uses asynchronous notification.

5) USB 2.0 does not have the ability to stream (Streaming), while SuperSpeed supports streaming (Streaming) for bulk endpoints.

Let's look at an IN Transaction: 

 

1_USB-IN-transaction

Hosts and devices shall comply with the restrictions on transmission type and endpoint characteristics. The host initiates a transmission by sending an acknowledgement packet (IN) to the device. This acknowledgement packet contains addressing information for routing the packet to the expected endpoint. The host tells the device the number of packets it can send, and the sequence number of the first packet it expects to receive from the device. In response, the endpoint sends the packet back to the host with the appropriate sequence number. The acknowledgement packet also implicitly confirms that the previous packet was successfully received. 

Note that even if the host needs to send an acknowledgement packet for each received packet, the device can still send the requested number of packets without having to wait for any acknowledgement packets.

The following diagram is shown in the Ultra High Speed Input (IN) transaction protocol. An input (IN) transmission on an ultra-high-speed bus consists of one or more IN transaction transactions and is completed when any of the following conditions occur:

1) All transmitted data is successfully received.

2) The endpoint responds with a packet size smaller than the endpoint's maximum packet size.

3) The endpoint responds with an error.

The OUT Transaction is similar:

 2_USB-OUT-transaction

As we can see from the model above, compared to the polled packet sending of USB 2.0, on the one hand, the asynchronous packet sending mode of USB 3.0 is significantly more efficient, allowing for continuous packet sending without having to wait for a device to respond. On the other hand, since USB3.0 sends data point-to-point, other USB devices that are idle can remain in a low-power state until data arrives. On the other hand, in USB2.0 polling mode, idle devices cannot enter low-power mode because each device needs to make a judgment about the address on the bus.



HornmicLink Logo-Intelligent Connection Solutions-China USB Cable provider,Charging Cable,Hub Adapter,USB Charger manufacture

By HornmicLink_Henry @230523 17:18