English
Language : 

EFM32WG Datasheet, PDF (313/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
13.Meanwhile, the application has initialized the data for the next two packets in the TxFIFO (ep2.xact2
and ep1.xact3, in order). The application has finished initializing data for the two endpoints involved
in this scenario.
14.The host repeats its attempt to read data (IN token) from endpoint 1.
15.Because data is now ready in the FIFO, the core responds with the data, which the host ACKs.
16.The host repeats its attempt to read data (IN token) from endpoint 2.
17.With data now ready in the FIFO, the core responds with the data, which the host ACKs.
18.With the last packet for endpoint 2 sent and its XFERSIZE now zero, the intended transfer is complete.
The core generates a USB_DIEP2_INT.XFERCOMPL interrupt for this endpoint.
19.The application processes the interrupt and uses the setting of the USB_DIEP2_INT.XFERCOMPL
interrupt bit to determine that the intended transfer on endpoint 2 is complete.
20.The host repeats its attempt to read data (IN token) from endpoint 1 (last transaction).
21.With data now ready in the FIFO, the core responds with the data, which the host ACKs.
22.Because the last endpoint one packet has been sent and XFERSIZE is now zero, the intended transfer
is complete. The core generates a USB_DIEP1_INT.XFERCOMPL interrupt for this endpoint.
23.The application processes the interrupt and uses the setting of the USB_DIEP1_INT.XFERCOMPL
interrupt bit to determine that the intended transfer on endpoint 1 is complete.
Figure 15.29. Slave Mode Bulk IN Two-Endpoint Transfer
Host
1
5
8
11
14
USB
IN, ep1
NAK
IN, ep2
NAK
IN,ep1
. 512 bytes
ACK
IN, ep2
512 bytes
ACK
IN, ep1
Device
EP_NUM 1 register set
XferSize = 1025 bytes
Application PktCnt = 3
EPEna = 1
EP_NUM 2 registers
XferSize = 522 bytes
PktCnt = 2
EPEna = 1
2
ep1.InTkn
idle
TxF Emp intr until intr
ep2 drvr
6
3
ep2.InTknTxFEmp intr
idle
until intr
7
wr_reg(ep1.USB_ DI EPx)_TSIZ
4
ep1.xact_1
9
10
ep1.setup_np_in_pkt
wr_reg(ep2.USB_ DI EPx)_TSIZ
ep1.xact_2
ep2.xact_1
12
13
ep1.setup_np_in_pkt
ep2.setup_np_in_pkt
ep2.xact_2
ep1.xact_2
15
ep2.setup_np_in_pkt
512 bytes
ep1.xact_3
16
ACK
ep1.xact_2
IN, ep2
10 bytes
17
18
20
IN,ep1
1 byte
ACK
22
21
ep1.setup_np_in_pkt
ep1.Xfer
Comp intr
ep2.XferCompl intr
xfer_complete = 1
idle
until intr
19
xfer_complete =1
idle
until intr
23
15.4.4.2.3.13 Generic Periodic IN (Interrupt and Isochronous) Data Transfers
To initialize the core after power-on reset, the application must follow the sequence in Overview:
Programming the Core (p. 246) . Before it can communicate with the host, it must initialize an endpoint
2013-05-08 - Wonder Gecko Family - d0233_Rev0.50
313
www.energymicro.com