English
Language : 

SAM7S256_14 Datasheet, PDF (507/775 Pages) ATMEL Corporation – ARM-based Flash MCU
Figure 35-4. Control Read and Write Sequences
Setup Stage
Data Stage
Status Stage
Control Read
Setup TX
Data OUT TX
Data OUT TX
Setup Stage
Data Stage
Status IN TX
Status Stage
Control Write
Setup TX
Data IN TX
Setup Stage
Status Stage
Data IN TX
Status OUT TX
No Data
Control
Setup TX
Status IN TX
Notes:
1. During the Status IN stage, the host waits for a zero length packet (Data IN transaction with no data) from the
device using DATA1 PID. Refer to Chapter 8 of the Universal Serial Bus Specification, Rev. 2.0, for more informa-
tion on the protocol layer.
2. During the Status OUT stage, the host emits a zero length packet to the device (Data OUT transaction with no
data).
35.5.2 Handling Transactions with USB V2.0 Device Peripheral
35.5.2.1 Setup Transaction
Setup is a special type of host-to-device transaction used during control transfers. Control transfers must be per-
formed using endpoints with no ping-pong attributes. A setup transaction needs to be handled as soon as possible
by the firmware. It is used to transmit requests from the host to the device. These requests are then handled by the
USB device and may require more arguments. The arguments are sent to the device by a Data OUT transaction
which follows the setup transaction. These requests may also return data. The data is carried out to the host by the
next Data IN transaction which follows the setup transaction. A status transaction ends the control transfer.
When a setup transfer is received by the USB endpoint:
• The USB device automatically acknowledges the setup packet
• RXSETUP is set in the UDP_ CSRx register
• An endpoint interrupt is generated while the RXSETUP is not cleared. This interrupt is carried out to the
microcontroller if interrupts are enabled for this endpoint.
Thus, firmware must detect the RXSETUP polling the UDP_ CSRx or catching an interrupt, read the setup packet
in the FIFO, then clear the RXSETUP. RXSETUP cannot be cleared before the setup packet has been read in the
FIFO. Otherwise, the USB device would accept the next Data OUT transfer and overwrite the setup packet in the
FIFO.
SAM7S Series [DATASHEET]
6175M–ATARM–26-Oct-12
507