5.11.5 Cortex-M3 Universal Serial Bus Controller
This device has one Cortex-M3 USB controller. The USB controller operates as a full-speed or low-speed function controller during point-to-point communications with the USB Host, Device, or OTG functions. The controller complies with the USB 2.0 standard, which includes SUSPEND and RESUME signaling. Thirty-two endpoints, which comprised of 2 hardwired endpoints for control transfers (one endpoint for IN and one endpoint for OUT) and 30 endpoints defined by firmware, along with a dynamic sizable FIFO, support multiple packet queuing. DMA access to the FIFO allows minimal interference from system software. Software-controlled connect and disconnect allow flexibility during USB device start-up. The controller complies with the Session Request Protocol (SRP) and Host Negotiation Protocol (HNP) of the OTG standard.
The USB controller includes the following features:
- Complies with USB-IF certification standards
- USB 2.0 full-speed (12-Mbps) and low-speed (1.5-Mbps) operation
- Integrated PHY
- Four transfer types: Control, Interrupt, Bulk, and Isochronous
- 32 endpoints:
- One dedicated control IN endpoint and one dedicated control OUT endpoint
- 15 configurable IN endpoints and 15 configurable OUT endpoints
- 4KB dedicated endpoint memory: one endpoint may be defined for double-buffered 1023-byte isochronous packet size
- VBUS droop and valid ID detection and interrupt
- Efficient transfers using DMA controller:
- Separate channels for transmit and receive for up to three IN endpoints and three OUT endpoints
- Channel requests asserted when FIFO contains required amount of data
- Electrical specifications are compliant with the USB Specification Rev. 2.0 (full-speed and low-speed support) and the On-The-Go Supplement to the USB 2.0 Specification Rev. 1.0. Some components of the USB system are integrated within the Concerto microcontroller and are specific to its design.
Figure 5-34 shows the USB peripheral.