5.6.4 Universal Serial Bus (USB)

Some PIC16F, PIC18F and PIC32CM MCUs offer integrated USB peripherals that comply with USB 2.0 Full-Speed (12 Mbps) device standards, supporting all four endpoint transfer types, endpoint buffering, and low-power operation with suspend/resume features, with minimal CPU intervention and interrupt load. Table 5-24 provides a comparison of features between PIC16F, PIC18F and PIC32CM.

Table 5-24. PIC16F, PIC18F and PIC32CM USB Features
FeaturePIC16F USBPIC18F USBPIC32CM USB
USB SupportUSB 2.0 Full-Speed DeviceUSB 2.0 Full-Speed Device

USB 2.1 (Full-Speed 12 Mbps, Low-Speed 1.5 Mbps) Device, Host, OTG

Host/Device Modes Device modeDevice modeHost and Device mode
Host Mode Features Host-detectionHost-detection

Eight physical pipes

Unlimited virtual pipes

Feedback endpoint

SOF clock output

Endpoint Addresses8 bidirectional endpoints16 bidirectional endpoints8 (16 endpoints: 8 IN, 8 OUT)
Endpoint Transfer Types

Control

Interrupt

Bulk

Isochronous

Control

Interrupt

Bulk

Isochronous

Control

Interrupt

Bulk

Isochronous

Max Payload per EndpointUp to 1023Up to 1023No endpoint size limitation (typically up to 1023 bytes)
Endpoint BufferingDual Access RAMDual Access RAMInternal SRAM, fully configurable
Multi-Packet TransferSupported (through software)Supported (through software)Supported
Double Buffering Dual bank (ping-pong) Dual bank (ping-pong)Dual bank (ping-pong)
Power Management

Suspend mode

Wake-up from sleep

Suspend mode

Wake-up from sleep

Suspend/Resume

Wake-up from sleep

Link Power Management (LPM-L1) support

On-Chip TransceiverSupportedSupportedSupported
DMA SupportN/ASupportedBuilt-in for endpoint data and configuration
Crystal-less OperationSupportedSupportedSupported
Debug SupportSupportedSupportedN/A
Buffer SizeUp to 64 bytesUp to 512 bytes Up to 1 KB+
VBUS/ID Pin SupportN/ASupportedSupported
USB Classes SupportedCDC, HIDCDC, HID, MSCCDC, HID, MSC, Audio