MCBSTM32EXL Keil, MCBSTM32EXL Datasheet - Page 522

no-image

MCBSTM32EXL

Manufacturer Part Number
MCBSTM32EXL
Description
BOARD EVALUATION FOR STM32F103ZE
Manufacturer
Keil
Datasheets

Specifications of MCBSTM32EXL

Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Universal serial bus full-speed device interface (USB)
522/995
Table 152. Double-buffering buffer flag definition
The memory buffer which is currently being used by the USB peripheral is defined by DTOG
buffer flag, while the buffer currently in use by application software is identified by SW_BUF
buffer flag. The relationship between the buffer flag value and the used packet buffer is the
same in both cases, and it is listed in the following table.
Table 153. Bulk double-buffering memory buffers usage
1. Endpoint in NAK Status.
Double-buffering feature for a bulk endpoint is activated by:
The application software is responsible for DTOG and SW_BUF bits initialization according
to the first buffer to be used; this has to be done considering the special toggle-only property
that these two bits have. The end of the first transaction occurring after having set
DBL_BUF, triggers the special flow control of double-buffered bulk endpoints, which is used
for all other transactions addressed to this endpoint until DBL_BUF remain set. At the end of
each transaction the CTR_RX or CTR_TX bit of the addressed endpoint USB_EPnR
register is set, depending on the enabled direction. At the same time, the affected DTOG bit
in the USB_EPnR register is hardware toggled making the USB peripheral buffer swapping
completely software independent. Unlike common transactions, and the first one after
Endpoint
Type
OUT
IN
Writing EP_TYPE bit field at ‘00’ in its USB_EPnR register, to define the endpoint as a
bulk, and
Setting EP_KIND bit at ‘1’ (DBL_BUF), in the same register.
Buffer flag
SW_BUF
DTOG
DTOG SW_BUF
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
DTOG_TX (USB_EPnRbit 6)
USB_EPnR bit 14
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
ADDRn_RX_0 / COUNTn_RX_0
ADDRn_RX_1 / COUNTn_RX_1
Buffer description table locations
ADDRn_TX_0 / COUNTn_TX_0
ADDRn_TX_1 / COUNTn_TX_1
‘Transmission’ endpoint
Doc ID 13902 Rev 9
Packet buffer used by USB
Peripheral
None
None
None
None
(1)
(1)
(1)
(1)
DTOG_RX (USB_EPnRbit 14)
USB_EPnR bit 6
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
Buffer description table locations.
ADDRn_RX_1 / COUNTn_RX_1
ADDRn_RX_0 / COUNTn_RX_0
ADDRn_RX_0 / COUNTn_RX_0
ADDRn_RX_1 / COUNTn_RX_1
ADDRn_TX_1 / COUNTn_TX_1
ADDRn_TX_0 / COUNTn_TX_0
ADDRn_TX_0 / COUNTn_TX_0
ADDRn_TX_0 / COUNTn_TX_0
‘Reception’ endpoint
Packet buffer used by
Application Software
RM0008

Related parts for MCBSTM32EXL