Datasheet

799
SAM9M10 [DATASHEET]
6355FATARM12-Mar-13
Figure 38-11. Data OUT Followed by Status IN Transfer
Note: Before proceeding to the status stage, the software should determine that there is no risk of extra data from
the host (data stage). If not certain (non-predictable data stage length), then the software should wait for a NAK-IN
interrupt before proceeding to the status stage. This precaution should be taken to avoid collision in the FIFO.
Figure 38-12. Autovalid with DMA
Note: In the illustration above Autovalid validates a bank as full, although this might not be the case, in order to continue processing
data and to send to DMA.
Token INACKData OUTToken OUT ACKData IN
USB Bus
Packets
RX_BK_RDY
(UDPHS_EPTSTAx)
Cleared by Firmware
Set by Hardware
Clear by Hardware
TX_PK_RDY
(UDPHS_EPTSTAx)
Set by Firmware
Host Sends the Last
Data Payload to the Device
Device Sends a Status IN
to the Host
Interrupt Pending
Bank 0
Bank 1
Bank 0Bank (usb)
Write write bank 0 write bank 1 write bank 0
Bank 0Bank (system) Bank 1 Bank 0 Bank 1
Virtual TX_PK_RDY Bank 0
Virtual TX_PK_RDY Bank 1
TX_PK_RDY
(Virtual 0 & Virtual 1)
bank 0 is full bank 1 is full bank 0 is full
IN data 0 IN data 1
IN data 0
Bank 1
Bank 1 Bank 0