at43usb355 ATMEL Corporation, at43usb355 Datasheet - Page 74

no-image

at43usb355

Manufacturer Part Number
at43usb355
Description
At43usb355 Full-speed Usb Microcontroller With Embedded Hub, Adc And Pwm
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
at43usb355E-AC
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
at43usb355E-AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
at43usb355M-AC
Manufacturer:
ALTERA
0
Programming
the USB Module
The USB Function
74
AT43USB355
The USB hardware consists of two devices, hub and function, each with their own device
address and end-points. Its operation is controlled through a set of memory mapped registers.
The exact configuration of the USB device is defined by the software and it can be pro-
grammed to operate as a compound device, or as a hub only or as a function only. The hub
has the required control and interrupt end-points. The number of external downstream ports is
programmable as 1 or 2. The DP and DM pins of the unused port(s) must be connected to
ground. The USB function has one control end-point and 3 programmable end-points. All the
end-points have their own FIFO. Function end-points 1 and 2 FIFOs are 64 bytes deep and
function end-point 3 has an 8-byte FIFO. If the hub is disabled, one extra end-point becomes
available to the function.
The USB function hardware is designed to operate in the single packet mode and to manage
the USB protocol layer. It consists of a Serial Interface Engine (SIE), end-point FIFOs and a
Function Interface Unit (FIU). The SIE performs the following tasks: USB signaling detec-
tion/generation, data serialization/de-serialization, data encoding/decoding, bit stuffing and un-
stuffing, clock/data separation, and CRC generation/checking. It also decodes and manages
all packet data types and packet fields.
The end-point FIFO buffers the data to be sent out or data received. The FIU manages the
flow of data between the SIE, FIFO and the internal microcontroller bus. It controls the FIFO
and monitors the status of the transactions and interfaces to the CPU. It initiates interrupts and
acts upon commands sent by the firmware.
The USB function hardware of the AT43USB355 makes the physical interface and the proto-
col layer transparent to the user. To start the process, the firmware must first enable the end-
points and which place them in receive mode by default. The device address by default is
address 0. The USB function hardware then waits for a SETUP token from the host. When a
valid the SETUP token is received, it automatically stores the DATA packet in end-point 0
FIFO and responds with an ACK. It then notifies the microcontroller through an interrupt. The
microcontroller reads the FIFO and parses the request.
Transactions for the non-control end-points are even simpler. Once the end-point is enabled, it
waits for an IN or an OUT token depending whether it is programmed as an IN or OUT end-
point. For example, if it is an IN end-point, the microcontroller simply loads the data into the
end-point's FIFO and sets a bit in the control and status register. The USB hardware will
assemble the data in a USB packet and waits for an IN token. When it receives one, it auto-
matically responds by transmitting the DATA packet and completes the transaction by waiting
for the host's ACK. When one is received, the USB hardware will signal the microcontroller
that the transaction has been completed successfully. Retries and data toggles are performed
automatically by the USB hardware. When the IN end-point is not ready to send data, in the
case where the microcontroller has not filled the FIFO, it will automatically respond with a
NAK.
Similarly, an OUT end-point will wait for an OUT token. When one is received, it will store the
data in the FIFO, completes the transaction and interrupt the microcontroller, which then reads
the FIFO and enables the end-point for the next packet. If the FIFO is not cleared, the USB
hardware will responds with a NAK.
A detailed description of how USB transactions are handled is described in the following sec-
tions. First for a control end-point and then for non-control end-points.
2603G–USB–04/06

Related parts for at43usb355