...the world's most energy friendly microcontrollers
2016-04-28 - Giant Gecko Family - d0053_Rev1.20
262
www.silabs.com
Figure 15.12. Normal Bulk/Control OUT/SETUP and Bulk/Control IN Transactions in Slave Mode
ACK
Host
Application
Device
AHB
USB
OUT
D AT A0
MPS
1
MPS
1
MPS
writ e_t x_fifo
( ch_1)
init_ reg(ch_1)
set_ch_en
(ch_2)
init_ reg( ch_2)
writ e_t x_fifo
( ch_1)
set_ch_en
(ch_2)
ch_2
ch_2
ch_1
ch_1
De- allocat e
( ch_1)
IN
ch_2
ch_2
ch_2
ch_1
ACK
O UT
set_ch_en
(ch_2)
4
1
6
ACK
D AT A0
IN
ACK
read_rx_st s
read_rx_fifo
1
MPS
set_ch_en
(ch_2)
1
MPS
read_rx_st sre
ad_rx_fifo
read_rx_st s
Disable
(ch_2)
1
2
3
4
5
6
7
De- allocat e
(ch_2)
ch_2
2
3
5
7
8
9
1 2
1 3
read_rx_st s
1 0
1 1
D AT A1
MPS
D AT A1
RXFLVL int errupt
XFERCOMPL int errupt
RXFLVL int errupt
RXFLVL int errupt
XFERCOMPL int errupt
RXFLVL int errupt
CHHLTD int errupt
Non- Periodic Request
Queue
Assum e t hat t his queue can
hold 4 ent ries.
15.4.3.6.4.2 Handling Interrupts
The channel-specific interrupt service routine for bulk and control OUT/SETUP transactions in Slave
mode is shown in the following code samples.
Interrupt Service Routine for Bulk/Control OUT/SETUP Transactions in Slave Mode
Bulk/Control OUT/SETUP
Unmask (NAK/XACTERR/STALL/XFERCOMPL)
if (XFERCOMPL)
{
Reset Error Count
Mask ACK
De-allocate Channel
}
else if (STALL)
Summary of Contents for Giant Gecko EFM32GG
Page 842: ......