Datasheet

789
SAM9M10 [DATASHEET]
6355FATARM12-Mar-13
38.5 Functional Description
38.5.1 USB V2.0 High Speed Device Port Introduction
The USB V2.0 High Speed Device Port provides communication services between host and attached USB
devices. Each device is offered with a collection of communication flows (pipes) associated with each endpoint.
Software on the host communicates with a USB Device through a set of communication flows.
38.5.2 USB V2.0 High Speed Transfer Types
A communication flow is carried over one of four transfer types defined by the USB device.
A device provides several logical communication pipes with the host. To each logical pipe is associated an end-
point. Transfer through a pipe belongs to one of the four transfer types:
Control Transfers: Used to configure a device at attach time and can be used for other device-specific purposes,
including control of other pipes on the device.
Bulk Data Transfers: Generated or consumed in relatively large burst quantities and have wide dynamic latitude
in transmission constraints.
Interrupt Data Transfers: Used for timely but reliable delivery of data, for example, characters or coordinates
with human-perceptible echo or feedback response characteristics.
Isochronous Data Transfers: Occupy a prenegotiated amount of USB bandwidth with a prenegotiated delivery
latency. (Also called streaming real time transfers.)
As indicated below, transfers are sequential events carried out on the USB bus.
Endpoints must be configured according to the transfer type they handle.
38.5.3 USB Transfer Event Definitions
A transfer is composed of one or several transactions;
Table 38-2. USB Communication Flow
Transfer Direction Bandwidth Endpoint Size Error Detection Retrying
Control Bidirectional Not guaranteed 8,16,32,64 Yes Automatic
Isochronous Unidirectional Guaranteed 8-1024 Yes No
Interrupt Unidirectional Not guaranteed 8-1024 Yes Yes
Bulk Unidirectional Not guaranteed 8-512 Yes Yes
Table 38-3. USB Transfer Events
CONTROL
(bidirectional)
Control Transfers
(1)
Setup transaction Data IN transactions Status OUT transaction
Setup transaction Data OUT transactions Status IN transaction
Setup transaction Status IN transaction
IN
(device toward host)
Bulk IN Transfer Data IN transaction Data IN transaction
Interrupt IN Transfer Data IN transaction Data IN transaction
Isochronous IN Transfer
(2)
Data IN transaction Data IN transaction
OUT
(host toward device)
Bulk OUT Transfer Data OUT transaction Data OUT transaction
Interrupt OUT Transfer Data OUT transaction Data OUT transaction
Isochronous OUT Transfer
(2)
Data OUT transaction Data OUT transaction