|
|||||||||||
Technical Support On-Line Manuals RL-ARM User's Guide (MDK v4) ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
USB ProtocolUSB is a polled bus, where the host initiates all data exchanges. USB consists of several protocol layers, where data are transferred via a set of logical connections referred to as pipes. Two types of pipes exist:
Most pipes come into existence when a USB device has been connected and the signaling speed has been determined. A pipe originates from a buffer in the host and terminates inside the device at an endpoint.
Endpoints can be described as data sources or sinks. A device can have up to 16 OUT and 16 IN endpoints. An endpoint can have only one transfer direction. Endpoint 0 is a special case and is a combination of Endpoint 0 OUT and Endpoint 0 IN. It is used to control the device. OUT always refers to the direction pointing from the host to the device. IN always refers to the direction pointing towards the host. Transfers, or data flow types, can consist of one or more transactions. A pipe supports only one of the following transfer types:
Transactions are transfers of data and mostly consist of three packets:
In a transaction, data are transferred either from the host to a device or from a device to the host. The transfer direction is specified in the token packet. Then, the source sends a data packet or indicates it has no data to transfer. In general, the destination responds with a status packet indicating whether the transfer was successful.
Packets could be thought of as the smallest element of data transmission. Each packet transmits an integral number of bytes at the current transmission rate. Packets starts with a synchronization pattern, followed by the data bytes of the packet, and concluded with an End of Packet (EOP) signal. All USB packet patterns are transmitted least significant bit first. Before and after the packet, the bus is in idle state.
A special packet is the Start-of-Frame packet (SOF) that splits the USB bus into time segments. Each pipe is allocated a slot in each frame. The Start-of-Frame packet is sent every 1ms on full speed links. At high speed, the 1ms frame is divided into 8 micro frames of 125 µs each. A Start-of-Frame packet is sent at the beginning of each micro frame with the same frame number. The frame number increments every 1 ms.
| ||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.