at91cap7e ATMEL Corporation, at91cap7e Datasheet - Page 441

no-image

at91cap7e

Manufacturer Part Number
at91cap7e
Description
Customizable Microcontroller
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
at91cap7e-NA-ZJ
Manufacturer:
Atmel
Quantity:
10 000
Figure 31-11. Data OUT Transfer for Ping-pong EndpointAn interrupt is pending while the RX_DATA_BK0 or
Stall Handshake
8549A–CAP–10/08
USB Bus
Packets
RX_DATA_BK0 Flag
(UDP_CSRx)
RX_DATA_BK1 Flag
(UDP_CSRx)
FIFO (DPR)
Bank 0
FIFO (DPR)
Bank 1
RX_DATA_BK1 flag is set.
Host Sends First Data Payload
Data OUT
PID
Set by USB Device,
Data Payload Written
in FIFO Endpoint Bank 0
Write by USB Device
Data OUT1
Warning: When RX_DATA_BK0 and RX_DATA_BK1 are both set, there is no way to determine
which one to clear first. Thus the software must keep an internal counter to be sure to clear alter-
natively RX_DATA_BK0 then RX_DATA_BK1. This situation may occur when the software
application is busy elsewhere and the two banks are filled by the USB host. Once the application
comes back to the USB driver, the two flags are set.
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.)
The following procedure generates a stall packet:
11. The microcontroller notifies the USB device it has finished the transfer by clearing
12. A fourth Data OUT packet can be accepted by the USB device and copied in the FIFO
• A functional stall is used when the halt feature associated with the endpoint is set. (Refer to
• To abort the current request, a protocol stall is used, but uniquely with control transfer.
1. The microcontroller sets the FORCESTALL flag in the UDP_ CSRx endpoint’s register.
2. The host receives the stall packet.
Chapter 9 of the Universal Serial Bus Specification, Rev 2.0, for more information on the halt
feature.)
Data OUT 1
RX_DATA_BK1 in the endpoint’s UDP_ CSRx register.
Bank 0.
ACK
PID
Read By Microcontroller
Set by USB Device,
Data Payload Written
in FIFO Endpoint Bank 1
Interrupt Pending
Microcontroller Reads Data?1 in Bank 0,
Host Sends Second Data Payload
Data OUT 1
Data OUT
PID
Write by USB Device
Data OUT 2
Data OUT 2
Cleared by Firmware
ACK
PID
Read By Microcontroller
Microcontroller Reads Data2 in Bank 1,
Host Sends Third Data Payload
Data OUT
PID
Interrupt Pending
Data OUT 2
AT91CAP7E
Write In Progress
Cleared by Firmware
Data OUT 3
Data OUT 3
A
P
441

Related parts for at91cap7e