
EZ-USB FX2 Technical Reference Manual
Page 1-24 EZ-USB FX2 Technical Reference Manual v2.1
The eight SETUP bytes in a CONTROL transfer do not appear in the 64-byte EP0 endpoint buffer.
Instead, to simplify programming, the FX2 automatically stores the eight SETUP bytes in a sepa-
rate buffer (SETUPDAT, at 0xE6B8-0xE6BF).
EP1IN and EP1OUT use separate 64 byte buffers. FX2 firmware can configure these endpoints as
BULK, INTERRUPT or ISOCHRONOUS. These endpoints, as well as EP0, are accessible only by
FX2 firmware. This is in contrast to the large endpoint buffers EP2, EP4, EP6 and EP8, which are
designed to move high bandwidth data directly on and off chip without firmware intervention.
Endpoints 2, 4, 6 and 8 are the large, high bandwidth, data moving endpoints. They can be config-
ured various ways to suit bandwidth requirements. The shaded boxes in Figure 1-15 enclose the
buffers to indicate double, triple, or quad buffering. Double buffering means that one packet of
data can be filling or emptying with USB data while another packet (from the same endpoint) is
being serviced by external interface logic. Triple buffering adds a third packet buffer to the pool,
which can be used by either side (USB or interface) as needed. Quad buffering adds a fourth
packet buffer. Multiple buffering can significantly improve USB bandwidth performance when the
data supplying and consuming rates are similar, but bursty; it smooths out the bursts, reducing or
eliminating the need for one side to wait for the other.
Endpoints 2, 4, 6 and 8 can be configured using the choices shown in Tab le1-2.
When the FX2 operates at full speed (12 Mbits/sec), some or all of the endpoint buffer bytes
shown in Figure 1-15 may be employed, depending on endpoint type. Regardless of the physical
buffer size, the endpoint buffer accommodates only one full-speed packet.
For example, if EP2 is used as a full-speed BULK endpoint, the maximum number of bytes (max-
PacketSize) it can accommodate is 64, even though the physical buffer size is 512 or 1024 bytes
(it makes sense, therefore, to configure full-speed BULK endpoints as 512 bytes rather than 1024,
so that fewer unused bytes are wasted). An ISOCHRONOUS full speed endpoint, on the other
hand, could fully use either a 512- or 1024-byte buffer.
Table 1-2. Endpoint 2, 4, 6, and 8 Configuration Choices
Characteristic Choices
Direction IN, OUT
Type Bulk, Interrupt, Isochronous
Buffering Double, Triple, Quad
Comentarios a estos manuales