Datasheet
SAM9261 [DATASHEET]
Atmel-6062O-ATARM-SAM9261-Datasheet_21-Jun-16
598
Figure 36-12. Stall Handshake (Data IN Transfer)
Figure 36-13. Stall Handshake (Data OUT Transfer)
36.6.2.9 Transmit Data Cancellation
Some endpoints have dual-banks whereas some endpoints have only one bank. The procedure to cancel
transmission data held in these banks is described below.
To see the organization of dual-bank availability refer to Table 36-1 ”USB Endpoint Description”.
36.6.2.10Endpoints Without Dual-Banks
There are two possibilities: In one case, TXPKTRDY field in UDP_CSR has already been set. In the other
instance, TXPKTRDY is not set.
TXPKTRDY is not set:
Reset the endpoint to clear the FIFO (pointers). (See Section 36.7.9 ”UDP Reset Endpoint Register”.)
TXPKTRDY has already been set:
Clear TXPKTRDY so that no packet is ready to be sent
Reset the endpoint to clear the FIFO (pointers). (See Section 36.7.9 ”UDP Reset Endpoint Register”.)
36.6.2.11Endpoints With Dual-Banks
There are two possibilities: In one case, TXPKTRDY field in UDP_CSR has already been set. In the other
instance, TXPKTRDY is not set.
TXPKTRDY is not set:
Reset the endpoint to clear the FIFO (pointers). (See Section 36.7.9 ”UDP Reset Endpoint Register”.)
TXPKTRDY has already been set:
Clear TXPKTRDY and read it back until actually read at 0.
Set TXPKTRDY and read it back until actually read at 1.
Clear TXPKTRDY so that no packet is ready to be sent.
Reset the endpoint to clear the FIFO (pointers). (See Section 36.7.9 ”UDP Reset Endpoint Register”.)
Data IN Stall PIDPID
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