Datasheet

2017 Microchip Technology Inc. DS60001516A-page 661
SAM9G20
36.5.1.1 USB V2.0 Full-speed Transfer Types
A communication flow is carried over one of four transfer types defined by the USB device.
36.5.1.2 USB Bus Transactions
Each transfer results in one or more transactions over the USB bus. There are three kinds of transactions flowing across the bus in pack-
ets:
1. Setup Transaction
2. Data IN Transaction
3. Data OUT Transaction
36.5.1.3 USB Transfer Event Definitions
As indicated below, transfers are sequential events carried out on the USB bus.
Note 1: Control transfer must use endpoints with no ping-pong attributes.
2: Isochronous transfers must use endpoints with ping-pong attributes.
3: Control transfers can be aborted using a stall handshake.
A status transaction is a special type of host-to-device transaction used only in a control transfer. The control transfer must be performed
using endpoints with no ping-pong attributes. According to the control sequence (read or write), the USB device sends or receives a status
transaction.
Table 36-2: USB Communication Flow
Transfer Direction Bandwidth Supported Endpoint Size Error Detection Retrying
Control Bidirectional Not guaranteed 8, 16, 32, 64 Yes Automatic
Isochronous Unidirectional Guaranteed 512 Yes No
Interrupt Unidirectional Not guaranteed 64 Yes Yes
Bulk Unidirectional Not guaranteed 8, 16, 32, 64 Yes Yes
Table 36-3: USB Transfer Events
Transfer
TransactionDirection Type
CONTROL (bidirectional) Control
(1)(3)
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)
Interrupt IN
Data IN transaction Data IN transactionIsochronous
IN
(2)
Bulk IN
OUT (host toward device)
Interrupt OUT
Data OUT transaction Data OUT transactionIsochronous OUT
(2)
Bulk OUT