MCBSTM32EXL Keil, MCBSTM32EXL Datasheet - Page 826

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)
826/995
2.
3.
4.
Internal data flow:
1.
2.
3.
4.
5.
6.
The application can only schedule data transfers one frame at a time.
The complete data to be transmitted in the frame must be written into the transmit FIFO
by the application, before the IN token is received. Even when 1 DWORD of the data to
be transmitted per frame is missing in the transmit FIFO when the IN token is received,
the core behaves as when the FIFO is empty. When the transmit FIFO is empty:
For a high-bandwidth IN endpoint with three packets in a frame, the application can
program the endpoint FIFO size to be 2 × max_pkt_size and have the third packet
loaded in after the first packet has been transmitted on the USB.
The application must set the transfer size and packet count fields in the endpoint-
specific registers and enable the endpoint to transmit the data.
The application must also write the required data to the associated transmit FIFO for
the endpoint.
Every time the application writes a packet to the transmit FIFO, the transfer size for that
endpoint is decremented by the packet size. The data are fetched from application
memory until the transfer size for the endpoint becomes 0.
When an IN token is received for a periodic endpoint, the core transmits the data in the
FIFO, if available. If the complete data payload (complete packet, in dedicated FIFO
mode) for the frame is not present in the FIFO, then the core generates an IN token
received when TxFIFO empty interrupt for the endpoint.
The packet count for the endpoint is decremented by 1 under the following conditions:
At the “Periodic frame Interval” (controlled by PFIVL in OTG_FS_DCFG), when the
core finds non-empty any of the isochronous IN endpoint FIFOs scheduled for the
current frame non-empty, the core generates an IISOIXFR interrupt in
OTG_FS_GINTSTS.
(MCNT – 1) × MPSIZ  XFERSIZ  MCNT × MPSIZ
PKTCNT = MCNT (in OTG_FS_DIEPTSIZx)
If XFERSIZ < MCNT × MPSIZ, the last data packet of the transfer is a short
packet.
Note that: MCNT is in OTG_FS_DIEPTSIZx, MPSIZ is in OTG_FS_DIEPCTLx,
PKTCNT is in OTG_FS_DIEPTSIZx and XFERSIZ is in OTG_FS_DIEPTSIZx
A zero data length packet would be transmitted on the USB for isochronous IN
endpoints
A NAK handshake would be transmitted on the USB for interrupt IN endpoints
A zero-length data packet is transmitted on the USB for isochronous IN endpoints
A NAK handshake is transmitted on the USB for interrupt IN endpoints
For isochronous endpoints, when a zero- or non-zero-length data packet is
transmitted
For interrupt endpoints, when an ACK handshake is transmitted
When the transfer size and packet count are both 0, the transfer completed
interrupt for the endpoint is generated and the endpoint enable is cleared.
Doc ID 13902 Rev 9
RM0008

Related parts for MCBSTM32EXL