English
Language : 

EFM32WG Datasheet, PDF (312/834 Pages) List of Unclassifed Manufacturers – The EFM32WG Wonder Gecko is the ideal choice for demanding 8-, 16-, and 32-bit energy sensitive applications.
...the world's most energy friendly microcontrollers
Figure 15.28. Slave Mode Bulk IN Transfer (Pipelined Transaction)
H ost
1
USB
IN
NAK
D e v ice
2
3
Applicat ion
INTKNTXFEMP
INTR
idle until intr
xfer_ cnt = 1025byt es
pkt_ cnt = 3
EP Enable = 1
4
wr_reg(xfer_ size_reg)
6
x a c_t
1 of
3
x a c_to2f
3
x a c_to3f
3
5 xact_ 1
IN
7
512 bytes
ACK
IN
512 bytes
ACK
9
xact_ 2
2
10
11
x a c t_3
x a c t_2
8
NPITNXTFREMP
IN
1 byte
ACK
12
13
XFERCOMPL
INTR
set up_ np_in_pkt
set up_ np_in_pkt
set up_ np_in_pkt
IN Tok en = 0
Tim eout=0
ACK = 0
XferCom pl= 1
14
idle until intr
Slave Mode Bulk IN Two-Endpoint Transfer
These notes refer to Figure 15.29 (p. 313)
1. The host attempts to read data (IN token) from endpoint 1.
2. On receiving the IN token on the USB, the core returns a NAK handshake, because no data is available
in the transmit FIFO for endpoint 1, and generates a USB_DIEP1_INT.INTKNTXFEMP (In Token
Received When TxFIFO Empty) interrupt.
3. The application processes the interrupt and initializes USB_DIEP1_TSIZ register with the Transfer
Size and Packet Count fields. The application starts writing the transaction data to the transmit FIFO.
4. The application writes one maximum packet size or less of data for endpoint 1 to the Non-periodic
TxFIFO.
5. Meanwhile, the host attempts to read data (IN token) from endpoint 2.
6. On receiving the IN token on the USB, the core returns a NAK handshake, because no data is available
in the transmit FIFO for endpoint 2, and the core generates a USB_DIEP2_INT.INTKNTXFEMP (In
Token Received When TxFIFO Empty) interrupt.
7. Because the application has completed writing the packet for endpoint 1, it initializes the
USB_DIEP2_TSIZ register with the Transfer Size and Packet Count fields. The application starts
writing the transaction data into the transmit FIFO for endpoint 2.
8. The host repeats its attempt to read data (IN token) from endpoint 1.
9. Because data is now ready in the TxFIFO, the core returns the data, which the host ACKs.
10.Meanwhile, the application has initialized the data for the next two packets in the TxFIFO (ep2.xact1
and ep1.xact2, in order).
11.The host repeats its attempt to read data (IN token) from endpoint 2.
12.Because endpoint 2’s data is ready, the core responds with the data (ep2.xact_1), which the host
ACKs.
2013-05-08 - Wonder Gecko Family - d0233_Rev0.50
312
www.energymicro.com