
RM0008
Universal serial bus full-speed device interface (USB)
Doc ID 13902 Rev 12
599/1096
23
Universal serial bus full-speed device interface (USB)
Low-density
devices
are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
Medium-density
devices
are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
High-density devices
are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 256 and 512 Kbytes.
XL-density devices
are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 768 Kbytes and 1 Mbyte.
Connectivity line devices
are STM32F105xx and STM32F107xx microcontrollers.
This section applies to the STM32F103xx performance line and STM32F102xx USB access
line families only.
23.1 USB
introduction
The USB peripheral implements an interface between a full-speed USB 2.0 bus and the
APB1 bus.
USB suspend/resume are supported which allows to stop the device clocks for low-power
consumption.
23.2
USB main features
●
USB specification version 2.0 full-speed compliant
●
Configurable number of endpoints from 1 to 8
●
Cyclic redundancy check (CRC) generation/checking, Non-return-to-zero Inverted
(NRZI) encoding/decoding and bit-stuffing
●
Isochronous transfers support
●
Double-buffered bulk/isochronous endpoint support
●
USB Suspend/Resume operations
●
Frame locked clock pulse generation
Note:
Note:
In low, medium, high and XL-density devices, the USB and CAN share a dedicated 512-byte
SRAM memory for data transmission and reception, and so they cannot be used
concurrently (the shared RAM is accessed through CAN and USB exclusively). The USB
and CAN can be used in the same application but not at the same time.
23.3
USB functional description
shows the block diagram of the USB peripheral.