
Chapter 9. Slave FIFOs Page 9-23
Figure 9-29. TD_Init Example: Configuring AUTOIN = 1
9.3.5 CPU Access to OUT Packets, AUTOOUT = 1
The FX2’s CPU is not in the host-to-master data path when AUTOOUT = 1. To achieve the maxi-
mum USB 2.0 bandwidth, the host and master are directly connected, bypassing the CPU.
Figure 9-30 shows that, in Auto-Out mode, data from the host is automatically committed to the
FIFOs with no firmware intervention.
Figure 9-30. TD_Poll Example: No Code Necessary for OUT Packets When AUTOOUT=1
TD_Init():
… … … … …
REVCTL = 0x03; // MUST set REVCTL.0 and REVCTL.1 to 1
SYNCDELAY;
SYNCDELAY;
EP8CFG = 0xE0; // EP8 is DIR=IN, TYPE=BULK
SYNCDELAY;
FIFORESET = 0x80; // Reset the FIFO
SYNCDELAY;
FIFORESET = 0x08;
SYNCDELAY;
FIFORESET = 0x00;
SYNCDELAY;
EP8FIFOCFG = 0x0C; // EP8 is AUTOOUT=0, AUTOIN=1, ZEROLEN=1, WORDWIDE=0
SYNCDELAY;
EP8AUTOINLENH = 0x02; // Auto-commit 512-byte packets
SYNCDELAY;
EP8AUTOINLENL = 0x00;
… … … … …
TD_Poll():
… … … … …
// no code necessary to xfr data from host to master!
// AUTOOUT=1 and SIZE=0 auto-commits packets
// in 512 byte chunks.
… … … … …
Kommentare zu diesen Handbüchern