Universal serial bus full-speed device interface (USB)
21
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.
Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.
This section applies to the STM32F103xx performance line and STM32F102xx USB access
line families only.
21.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.
21.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:
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 SRAM is accessed through
CAN and USB exclusively). The USB and CAN can be used in the same application but not
at the same time.
21.3
USB functional description
Figure 192
504/959
shows the block diagram of the USB peripheral.
RM0034
Need help?
Do you have a question about the STM32F101xx and is the answer not in the manual?