MCBSTM32EXL Keil, MCBSTM32EXL Datasheet - Page 818

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
USB on-the-go full-speed (OTG_FS)
818/995
5.
6.
7.
Application programming sequence:
1.
2.
3.
4.
5.
This section describes a regular isochronous OUT data transfer.
Application requirements:
1.
2.
3.
4.
Internal data flow:
1.
2.
At the end of every packet write on the AHB to external memory, the transfer size for
the endpoint is decremented by the size of the written packet.
The OUT data transfer completed pattern for an OUT endpoint is written to the receive
FIFO on one of the following conditions:
When either the application pops this entry (OUT data transfer completed), a transfer
completed interrupt is generated for the endpoint and the endpoint enable is cleared.
Program the OTG_FS_DOEPTSIZx register for the transfer size and the corresponding
packet count.
Program the OTG_FS_DOEPCTLx register with the endpoint characteristics, and set
the EPENA and CNAK bits.
Wait for the RXFLVL interrupt (in OTG_FS_GINTSTS) and empty the data packets from
the receive FIFO.
Asserting the XFRC interrupt (OTG_FS_DOEPINTx) marks a successful completion of
the non-isochronous OUT data transfer.
Read the OTG_FS_DOEPTSIZx register to determine the size of the received data
payload.
Generic isochronous OUT data transfer
All the application requirements for non-isochronous OUT data transfers also apply to
isochronous OUT data transfers.
For isochronous OUT data transfers, the transfer size and packet count fields must
always be set to the number of maximum-packet-size packets that can be received in a
single frame and no more. Isochronous OUT data transfers cannot span more than 1
frame.
The application must read all isochronous OUT data packets from the receive FIFO
(data and status) before the end of the periodic frame (EOPF interrupt in
OTG_FS_GINTSTS).
To receive data in the following frame, an isochronous OUT endpoint must be enabled
after the EOPF (OTG_FS_GINTSTS) and before the SOF (OTG_FS_GINTSTS).
The internal data flow for isochronous OUT endpoints is the same as that for non-
isochronous OUT endpoints, but for a few differences.
When an isochronous OUT endpoint is enabled by setting the Endpoint Enable and
clearing the NAK bits, the Even/Odd frame bit must also be set appropriately. The core
receives data on an isochronous OUT endpoint in a particular frame only if the
following condition is met:
The transfer size is 0 and the packet count is 0
The last OUT data packet written to the receive FIFO is a short packet
(0  packet size < maximum packet size)
EPENA = 1 in OTG_FS_DOEPCTLx
CNAK = 1 in OTG_FS_DOEPCTLx
This step can be repeated many times, depending on the transfer size.
EONUM (in OTG_FS_DOEPCTLx) = SOFFN[0] (in OTG_FS_DSTS)
Doc ID 13902 Rev 9
RM0008

Related parts for MCBSTM32EXL