USB on-the-go full-speed (OTG_FS)
init_reg(ch _2)
set_ch_en
read_rx_sts
read_rx_fifo
read_rx_sts
init_reg(ch _2)
set_ch_en
•
Interrupt service routine for interrupt OUT/IN transactions
a)
Unmask (NAK/TXERR/STALL/XFRC/FRMOR)
if (XFRC)
{
Reset Error Count
Mask ACK
De-allocate Channel
}
else
if (STALL or FRMOR)
{
Mask ACK
Unmask CHH
923/1128
Figure 316. Normal interrupt OUT/IN transactions
Application
1
init _reg(ch_1)
1
write_tx_fifo
(ch_1)
2
(ch_2)
2
6
init _reg(ch_1)
write_tx_fifo
(ch_1)
6
7
9
(ch_2)
init _reg(ch_1)
write_tx_fifo
(ch_1)
Interrupt OUT
DocID13902 Rev 15
AHB
Host
3
1
MPS
ch_1
ch_2
3
5
5
1
MPS
RXFLVL interrupt
1
MPS
RXFLVL interrupt
ch_1
8
ch_2
1
MPS
USB
Device
Periodic Request Queue
Assume that this queue
can hold 4 entries.
4
(micro)
frame
4
(micro)
frame
RM0008
Odd
Even
ai15676
Need help?
Do you have a question about the STM32F101 series and is the answer not in the manual?
Questions and answers