Datasheet
940
SAM4S [DATASHEET]
11100E–ATARM–24-Jul-13
Figure 39-12.Stall Handshake (Data IN Transfer)
Figure 39-13.Stall Handshake (Data OUT Transfer)
39.6.2.5 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 39-1 ”USB Endpoint Description”.
Endpoints 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 39.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 39.7.9 ”UDP Reset Endpoint Register”.)
Endpoints 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 39.7.9 ”UDP Reset Endpoint Register”.)
TXPKTRDY has already been set:
Clear TXPKTRDY and read it back until actually read at 0.
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