39.
USB – Universal Serial Bus
39.1. Overview
The Universal Serial Bus interface (USB) module complies with the Universal Serial Bus (USB) 2.1
specification supporting device modes.
The USB device mode supports 8 endpoint addresses. All endpoint addresses have one input and one
output endpoint, for a total of 16 endpoints. Each endpoint is fully configurable in any of the four transfer
types: control, interrupt, bulk or isochronous. The maximum data payload size is selectable up to 1023
bytes.
Internal SRAM is used to keep the configuration and data buffer for each endpoint. The memory locations
used for the endpoint configurations and data buffers is fully configurable. The amount of memory
allocated is dynamic according to the number of endpoints in use, and the configuration of these. The
USB module has a built-in Direct Memory Access (DMA) and will read/write data from/to the system RAM
when a USB transaction takes place. No CPU or DMA Controller resources are required.
To maximize throughput, an endpoint can be configured for ping-pong operation. When this is done the
input and output endpoint with the same address are used in the same direction. The CPU or DMA
Controller can then read/write one data buffer while the USB module writes/reads from the other buffer.
This gives double buffered communication.
Multi-packet transfer enables a data payload exceeding the maximum packet size of an endpoint to be
transferred as multiple packets without any software intervention. This reduces the number of interrupts
and software intervention needed for USB transfers.
For low power operation the USB module can put the microcontroller in any sleep mode when the USB
bus is idle and a suspend condition is given. Upon bus resume, the USB module can wake the
microcontroller from any sleep mode.
39.2. Features
•
Compatible with the USB 2.1 specification
•
USB Device mode
•
Supports full (12Mbit/s) and low (1.5Mbit/s) speed communication
•
Supports Link Power Management (LPM-L1) protocol
•
On-chip transceivers with built-in pull-ups and pull-downs
•
On-Chip USB serial resistors
•
1kHz SOF clock available on external pin
•
Device mode
–
Supports 8 IN endpoints and 8 OUT endpoints
–
No endpoint size limitations
–
Built-in DMA with multi-packet and dual bank for all endpoints
–
Supports feedback endpoint
–
Supports crystal less clock
Atmel SAM L22G / L22J / L22N [DATASHEET]
Atmel-42402E-SAM L22G / L22J / L22N_Datasheet_Complete-07/2016
919