DocID018909 Rev 11
RM0090
USB on-the-go full-speed (OTG_FS)
1368
Figure 401. Normal isochronous OUT/IN transactions
•
Interrupt service routine for isochronous OUT/IN transactions
Code sample: Isochronous OUT
Unmask (FRMOR/XFRC)
if (
XFRC
)
{
De-allocate Channel
}
else
if (
FRMOR
)
{
Unmask
CHH
Disable Channel
}
Host
Application
Device
AHB
USB
OUT
DATA0
M PS
1
MPS
1
MPS
write_tx_fifo
(ch_1)
init _reg(ch_1)
set_ch_en
(ch_2)
init_reg(ch _2)
write_tx_fifo
(ch_1)
IN
OUT
DATA1
MPS
Periodic Request Queue
Assume that this queue
can hold 4 entries.
1
5
DATA0
IN
RXFLVL interrupt
1
MPS
read_rx_sts
read_rx_fifo
read_rx_sts
1
2
3
4
6
2
3
6
7
8
9
Odd
(micro)
frame
Even
(micro)
frame
init _reg(ch_1)
set_ch_en
(ch_2)
init_reg(ch _2)
write_tx_fifo
(ch_1)
init _reg(ch_1)
1
MPS
DATA1
5
4
ACK
ACK
ACK
ch_1
ch_2
ch_2
ch_1
ai15676
RXFLVL interrupt
XFRC interrupt
XFRC interrupt
XFRC interrupt