
DocID024597 Rev 5
RM0351
USB on-the-go full-speed (OTG_FS)
1774
1.
When an STALL, TXERR, BBERR or DTERR interrupt in OTG_HCINTx is received for
an IN or OUT channel. The application must be able to receive other interrupts
(DTERR, Nak, Data, TXERR) for the same channel before receiving the halt.
2. When a DISCINT (Disconnect Device) interrupt in OTG_GINTSTS is received. (The
application is expected to disable all enabled channels).
3. When the application aborts a transfer before normal completion.
Operational model
The application must initialize a channel before communicating to the connected device.
This section explains the sequence of operation to be performed for different types of USB
transactions.
•
Writing the transmit FIFO
The OTG_FS host automatically writes an entry (OUT request) to the periodic/non-
periodic request queue, along with the last DWORD write of a packet. The application
must ensure that at least one free space is available in the periodic/non-periodic
request queue before starting to write to the transmit FIFO. The application must
always write to the transmit FIFO in DWORDs. If the packet size is non-DWORD
aligned, the application must use padding. The OTG_FS host determines the actual
packet size based on the programmed maximum packet size and transfer size.
Figure 526. Transmit FIFO write task
•
Reading the receive FIFO
The application must ignore all packet statuses other than IN data packet (bx0010).
ĂŝϭϱϲϳϯĐ
ϭDW^
Žƌ>W^&/&KƐƉĂĐĞ
ĂǀĂŝůĂďůĞ͍
:DLWIRU137;)(37;)(LQWHUUXSWLQ
27*B*,17676
5HDG27*B+37;67627*B+137;676
UHJLVWHUVIRUDYDLODEOH),)2DQGTXHXH
VSDFHV
:ULWHSDFNHW
GDWDWRWUDQVPLW
),)2
<HV
1R
DŽƌĞ
ƉĂĐŬĞƚƐƚŽ
ƐĞŶĚ͍
ŽŶĞ
0360D[LPXPSDFNHWVL]H
/36/DVWSDFNHWVL]H
^ƚĂƌƚ
<HV
1R