44.1 Overview

The Universal Serial Bus (USB) module contains analog and digital components to provide a USB 2.0 full-speed and low-speed embedded host and full-speed device. This module in Host mode is intended for use as an embedded host and therefore does not implement a UHCI or OHCI controller.

The USB module consists of the following:

  • Clock generator
  • USB voltage comparators
  • Transceiver
  • Serial Interface Engine (SIE)
  • USB DMA controller
  • Pull-up and pull-down resistors
  • Register interface
The interface diagram of the PIC32 USB module is illustrated in Figure 44-1. The clock generator provides the 48 MHz clock required for USB full-speed and low-speed communication. The voltage comparators monitor the voltage on the V BUS pin to determine the state of the bus. The transceiver provides the analog translation between the USB bus and the digital logic. The SIE is a state machine that transfers data to and from the endpoint buffers, and generates the hardware protocol for data transfers. The USB DMA controller transfers data between the data buffers in RAM and the SIE.
Note: The RAM access is through AHB interface, which supports 1-byte, 2-bytes, and 4-bytes multiples. Ensure to allocate appropriate sized buffer for USB data.

The integrated pull-up and pull-down resistors eliminate the need for external signaling components. The register interface allows the CPU to configure and communicate with the module. To complement the information in this data sheet, refer to the Section 27. USB On-The-Go (OTG) (DS61126).