Atmel Evaluation Kit for AT32uC3A0512, 32-Bit AVR Microcontroller Atmel ATEVK1105 ATEVK1105 Data Sheet

Product codes
ATEVK1105
Page of 826
526
AT32UC3A
Figure 30-25.
Example of an IN Pipe with 1 Data Bank
Figure 30-26.
Example of an IN Pipe with 2 Data Banks
30.7.3.11
Management of OUT Pipes
OUT packets are sent by the host. All the data can be written by the firmware which acknowl-
edges or not the bank when it is full.
The pipe must be configured and unfrozen first.
The TXOUTI bit is set by hardware at the same time as FIFOCON when the current bank is free.
This triggers a PXINT interrupt if TXOUTE = 1.
TXOUTI shall be cleared by software (by setting the TXOUTIC bit) to acknowledge the interrupt,
what has no effect on the pipe FIFO.
The firmware then writes into the FIFO and clears the FIFOCON bit to allow the USB controller
to send the data. If the OUT pipe is composed of multiple banks, this also switches to the next
bank. The TXOUTI and FIFOCON bits are updated by hardware in accordance with the status of
the next bank.
TXOUTI shall always be cleared before clearing FIFOCON.
The RWALL bit is set by hardware when the current bank is not full, i.e. the software can write
further data into the FIFO.
Note that if the firmware decides to switch to the Suspend state (by clearing the SOFE bit) while
a bank is ready to be sent, the USB controller automatically exits this state and the bank is sent.
IN
DATA
(bank 0)
ACK
RXINI
FIFOCON
HW
IN
DATA
(bank 0)
ACK
HW
SW
SW
SW
read data from CPU
BANK 0
read data from CPU
BANK 0
IN
DATA
(bank 0)
ACK
RXINI
FIFOCON
HW
IN
DATA
(bank 1)
ACK
SW
SW
read data from CPU
BANK 0
HW
SW
read data from CPU
BANK 1
32058K
AVR32-01/12