Universal serial bus full-speed device interface (USB)
RM0365
1005/1080
DocID025202 Rev 7
32.4
USB functional description
shows the block diagram of the USB peripheral.
Figure 393. USB peripheral block diagram
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 to 1024 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
&RQWURO
06Y9
6,(
86%]
3&/.
'3
86%
5HJLVWHU
PDSSHU
$3%LQWHUIDFH
3&/.
$3%EXV
,54VWR19,&
$UELWHU
3DFNHW
EXIIHU
PHPRU\
5HJLVWHU
PDSSHU
&RQWURO
UHJLVWHUVDQGORJLF
,QWHUUXSW
UHJLVWHUVDQGORJLF
(QGSRLQW
UHJLVWHUV
(QGSRLQW
UHJLVWHUV
(QGSRLQW
VHOHFWLRQ
&ORFN
UHFRYHU\
5;7;
6XVSHQG
WLPHU
3DFNHW
EXIIHU
LQWHUIDFH
$QDORJ
WUDQVFHLYHU
'0
,QWHUUXSW
PDSSHU
$3%ZUDSSHU