English
Language : 

RM0367 Datasheet, PDF (898/1009 Pages) STMicroelectronics – This reference manual targets application developers
RM0367
Universal serial bus full-speed device interface (USB)
32.4
USB functional description
Figure 302 shows the block diagram of the USB peripheral.
Figure 302. USB peripheral block diagram
'3 '0
$QDORJ
WUDQVFHLYHU
86%FORFN 0+]
3&/.
86%
6XVSHQG
WLPHU
3DFNHW
EXIIHU
LQWHUIDFH
5;7;
&RQWURO
6,(
&ORFN
UHFRYHU\
(QGSRLQW
VHOHFWLRQ
&RQWURO
UHJLVWHUVDQGORJLF
,QWHUUXSW
UHJLVWHUVDQGORJLF
(QGSRLQW
UHJLVWHUV
(QGSRLQW
UHJLVWHUV
$UELWHU
3DFNHW
EXIIHU
PHPRU\
55HHJJLLVVWWHHUU
PPDDSSSSHHUU
,QWHUUXSW
PDSSHU
$3%LQWHUIDFH
$3%ZUDSSHU
3&/.
$3%EXV
,54VWR19,&
06Y9
The USB peripheral provides an USB-compliant connection between the host PC and the
function implemented by the microcontroller. Data transfer between the host PC and the
system memory occurs through a dedicated packet buffer memory accessed directly by the
USB peripheral. This dedicated memory size is up to1024 bytes, and up to 16 mono-
directional or 8 bidirectional endpoints can be used. The USB peripheral interfaces with the
USB host, detecting token packets, handling data transmission/reception, and processing
handshake packets as required by the USB standard. Transaction formatting is performed
by the hardware, including CRC generation and checking.
Each endpoint is associated with a buffer description block indicating where the endpoint-
related memory area is located, how large it is or how many bytes must be transmitted.
When a token for a valid function/endpoint pair is recognized by the USB peripheral, the
related data transfer (if required and if the endpoint is configured) takes place. The data
DocID025274 Rev 3
898/1009
928