
Chapter 10. General Programmable Interface (GPIF) Page 10-59
The master is not notified when a packet has been skipped by the firmware.
The OUT FIFO is not committed to the host during a power-on-reset. In its initialization routine,
therefore, the firmware should skip n packets (where n = 2, 3, or 4 depending on the buffering
depth) in order to ensure that the entire FIFO is committed to the host. See Figure 10-53.
Figure 10-53. Ensuring that the FIFO is Clear after Power-On-Reset
10.4.10 Burst FIFO Transactions
The GPIF can be configured to repeat transactions automatically, with no firmware intervention.
These “Burst” transactions (which must always be FIFO-Read or -Write transactions) may be con-
trolled by the Transaction Counter, the GPIF_PF flag, or the GPIFABORT register.
The following C program fragments (Figures 10-54 through 10-57) illustrate how to perform Burst
FIFO-Read transactions using GPIF_PF in 8-bit mode (WORDWIDE=0) and AUTOIN=0:
TD_Init():
… … … … …
EP2CFG = 0xA2; // EP2 is DIR=OUT, TYPE=BULK, SIZE=512, BUF=2x
SYNCDELAY;
EP2FIFOCFG = 0x00; // EP2 is AUTOOUT=0, AUTOIN=0, ZEROLEN=0, WORDWIDE=0
SYNCDELAY;
// OUT endpoints do NOT come up armed
EP2BCL = 0x80; // arm first buffer by writing BC w/skip=1
SYNCDELAY;
EP2BCL = 0x80; // arm second buffer by writing BC w/skip=1
… … … … …
Kommentare zu diesen Handbüchern