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

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.12.2
23.13 OUT endpoint management
23.13.1
7766A–AVR–03/08
Control Read
Overview
The next figure shows a control read transaction. The USB controller has to manage the simulta-
neous write requests from the CPU and the USB host:
A NAK handshake is always generated at the first status stage command.
When the controller detect the status stage, all the data written by the CPU are erased, and
clearing TXINI has no effects.
The firmware checks if the transmission is complete or if the reception is complete.
The OUT retry is always ack’ed. This reception:
- set the RXOUTI flag (received OUT data)
- set the TXINI flag (data sent, ready to accept new data)
software algorithm:
Once the OUT status stage has been received, the USB controller waits for a SETUP request.
The SETUP request have priority over any other request and has to be ACK’ed. This means that
any other flag should be cleared and the fifo reset when a SETUP is received.
WARNING: the byte counter is reset when the OUT Zero Length Packet is received. The firm-
ware has to take care of this.
OUT packets are sent by the host. All the data can be read by the CPU, which acknowledges or
not the bank when it is empty.
The Endpoint must be configured first.
Each time the current bank is full, the RXOUTI and the FIFOCON bits are set. This triggers an
interrupt if the RXOUTE bit is set. The firmware can acknowledge the USB interrupt by clearing
the RXOUTI bit. The Firmware read the data and clear the FIFOCON bit in order to free the cur-
rent bank. If the OUT Endpoint is composed of multiple banks, clearing the FIFOCON bit will
set transmit ready
wait (transmit complete OR Receive complete)
if receive complete, clear flag and return
if transmit complete, continue
USB line
RXSTPI
RXOUTI
TXINI
Wr Enable
HOST
Wr Enable
CPU
SETUP
SETUP
HW
SW
SW
IN
HW
DATA
SW
IN
OUT
NAK
ATmega32U4
STATUS
OUT
HW
SW
291

Related parts for atmega32u4-16mu