Atmel Xplained Pro Evaluation Kit ATSAM4E-XPRO ATSAM4E-XPRO Fiche De Données

Codes de produits
ATSAM4E-XPRO
Page de 1506
SAM4E [DATASHEET]
Atmel-11157D-ATARM-SAM4E16-SAM4E8-Datasheet_12-Jun-14
1160
42.6.2.4 Stall Handshake
A stall handshake can be used in one of two distinct occasions. (For more information on the stall handshake, refer
to Chapter 8 of the Universal Serial Bus Specification, Rev 2.0.)
A functional stall is used when the halt feature associated with the endpoint is set. (Refer to Chapter 9 of the 
Universal Serial Bus Specification, Rev 2.0, 
for more information on the halt feature.)
To abort the current request, a protocol stall is used, but uniquely with control transfer.
The following procedure generates a stall packet:
1.
The microcontroller sets the FORCESTALL flag in the UDP_CSRx endpoint’s register.
2.
The host receives the stall packet.
3.
The microcontroller is notified that the device has sent the stall by polling the STALLSENT to be set. An 
endpoint interrupt is pending while STALLSENT is set. The microcontroller must clear STALLSENT to clear 
the interrupt.
When a setup transaction is received after a stall handshake, STALLSENT must be cleared in order to prevent
interrupts due to STALLSENT being set.
Figure 42-12. Stall Handshake (Data IN Transfer) 
Figure 42-13. Stall Handshake (Data OUT Transfer) 
Data IN 
Stall PID
PID
USB Bus
Packets
Cleared by Firmware
Set by Firmware
FORCESTALL 
STALLSENT
Set by
USB Device
Cleared by Firmware
Interrupt Pending
Data OUT PID  
Stall PID
 
Data OUT
USB Bus
Packets
Cleared by Firmware
Set by Firmware
FORCESTALL 
STALLSENT
Set by USB Device
Interrupt Pending