atmega32u4-16mu ATMEL Corporation, atmega32u4-16mu Datasheet - Page 292

no-image

atmega32u4-16mu

Manufacturer Part Number
atmega32u4-16mu
Description
Atmega32u4 8-bit Avr Microcontroller With 32k Bytes Of Isp Flash And Usb Controller
Manufacturer
ATMEL Corporation
Datasheet
23.13.2
23.13.2.1
292
ATmega32U4
Detailed description
switch to the next bank. The RXOUTI and FIFOCON bits are then updated by hardware in
accordance with the status of the new bank.
RXOUTI shall always be cleared before clearing FIFOCON.
The RWAL bit always reflects the state of the current bank. This bit is set if the firmware can
read data from the bank, and cleared by hardware when the bank is empty.
The data are read by the CPU, following the next flow:
If the endpoint uses 2 banks, the second one can be filled by the HOST while the current one is
being read by the CPU. Then, when the CPU clear FIFOCON, the next bank may be already
ready and RXOUTI is set immediately.
• When the bank is filled by the host, an endpoint interrupt (EPINTx) is triggered, if enabled
• The CPU acknowledges the interrupt by clearing RXOUTI,
• The CPU can read the number of byte (N) in the current bank (N=BYCT),
• The CPU can read the data from the current bank (“N” read of UEDATX),
• The CPU can free the bank by clearing FIFOCON when all the data is read, that is:
(RXOUTE set) and RXOUTI is set. The CPU can also poll RXOUTI or FIFOCON, depending
on the software architecture,
– after “N” read of UEDATX,
– as soon as RWAL is cleared by hardware.
Example with 1 OUT data bank
RXOUTI
FIFOCON
RXOUTI
FIFOCON
Example with 2 OUT data banks
OUT
OUT
(to bank 0)
(to bank 0)
DATA
DATA
HW
HW
ACK
ACK
SW
SW
read data from CPU
OUT
BANK 0
NAK
read data from CPU
BANK 0
(to bank 1)
DATA
SW
OUT
ACK
(to bank 0)
DATA
HW
SW
HW
ACK
SW
read data from CPU
BANK 1
SW
read data from CPU
BANK 0
7766A–AVR–03/08

Related parts for atmega32u4-16mu