8 EZ-USB Isochronous Transfers
8.1
Introduction
Isochronous endpoints typically handle time-critical, streamed data that is delivered or
consumed in byte-sequential order. Examples might be audio data sent to a DAC over
USB, or teleconferencing video data sent from a camera to the host. Due to the byte-
sequential nature of this data, the EZ-USB chip makes isochronous data available as a sin-
gle byte that represents the head or tail of an endpoint FIFO.
The EZ-USB chips that support isochronous transfers implement sixteen isochronous end-
points, IN8-IN15 and OUT8-OUT15. 1,024 bytes of FIFO memory may be distributed
over the 16 endpoint addresses. FIFO sizes for the isochronous endpoints are programma-
ble.
8051 FIFO
OUTnDATA Register
(n=8-15)
SOF
USB
OUT
Data
USB FIFO
8051 FIFO
INnDATA Register
(n=8-15)
SOF
USB
IN
Data
USB FIFO
Figure 8-1. EZ-USB Isochronous Endpoints 8-15
The 8051 reads or writes isochronous data using sixteen FIFO data registers, one per end-
point. These FIFO registers are shown in Figure 8-1 as INnDATA (Endpoint n IN Data)
and OUTnDATA (Endpoint n OUT Data).
The EZ-USB core provides a total of 2,048 bytes of FIFO memory (1,024 bytes, double-
buffered) for ISO endpoints. This memory is in addition to the 8051 program/data mem-
ory, and normally exists outside of the 8051 memory space. The 1,024 FIFO bytes may be
divided among the sixteen isochronous endpoints. The 8051 writes sixteen EZ-USB reg-
isters to allocate the FIFO buffer space to the isochronous endpoints. The 8051 also sets
endpoint valid bits to enable isochronous endpoints.
EZ-USB TRM v1.9
Chapter 8. EZ-USB CPU
Page 8-1