...the world's most energy friendly microcontrollers
2016-04-28 - Giant Gecko Family - d0053_Rev1.20
261
www.silabs.com
15.4.3.6.4 Bulk and Control OUT/SETUP Transactions in Slave Mode
To initialize the core after power-on reset, the application must follow the sequence in Overview:
Programming the Core (p. 250) . Before it can communicate with the connected device, it must
initialize a channel as described in Channel Initialization (p. 256) . See Figure 15.10 (p. 260) and
Figure 15.11 (p. 260) for Read or Write data to and from the FIFO in Slave mode.
A typical bulk or control OUT/SETUP pipelined transaction-level operation in Slave mode is shown in
Figure 15.12 (p. 262) . See channel 1 (ch_1). Two bulk OUT packets are transmitted. A control SETUP
transaction operates the same way but has only one packet. The assumptions are:
• The application is attempting to send two maximum-packet-size packets (transfer size = 1,024 bytes).
• The Non-periodic Transmit FIFO can hold two packets (128 bytes for FS).
• The Non-periodic Request Queue depth = 4.
15.4.3.6.4.1 Normal Bulk and Control OUT/SETUP Operations
The sequence of operations in Figure 15.12 (p. 262) (channel 1) is as follows:
1. Initialize channel 1 as explained in Channel Initialization (p. 256) .
2. Write the first packet for channel 1.
3. Along with the last DWORD write, the core writes an entry to the Non-periodic Request Queue.
4. As soon as the non-periodic queue becomes non-empty, the core attempts to send an OUT token
in the current frame.
5. Write the second (last) packet for channel 1.
6. The core generates the XFERCOMPL interrupt as soon as the last transaction is completed
successfully.
7. In response to the XFERCOMPL interrupt, de-allocate the channel for other transfers.
Summary of Contents for Giant Gecko EFM32GG
Page 842: ......