8 isochronous operations, 1 isochronous transfer summary, Isochronous operations -55 – Freescale Semiconductor MCF5480 User Manual
Page 929

Software Interface
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor
29-55
29.4.3.8
Isochronous Operations
Isochronous operations are a special case of USB traffic. Instead of guaranteeing delivery with unbounded
latency, isochronous traffic flows over the bus at a guaranteed rate with no error checking.
29.4.3.8.1
Isochronous Transfer Summary
The USB host guarantees an endpoint at most 3 isochronous packets per microframe (or 24 packets per
frame or 24 MBytes per second). Isochronous packets may range from 0 bytes to 1023 bytes. Please refer
to the USB specification for more information on isochronous transfer.
Given that isochronous packets may be as large as 1023 bytes, it may not be practical to implement large
FIFOs for each endpoint. Instead, the software drivers are responsible for keeping the FIFOs serviced.
Each time an IN or OUT request is received on an isochronous endpoint, the software drivers must ensure
that the correct amount of data can be transferred without allowing the FIFO to go empty. If the FIFO goes
empty during an isochronous packet transfer, the host will terminate the packet immediately and the device
loses its time slot until the next USB frame.
In order to allow the driver software to maintain synchronization with the USB host, the USB maintains a
register which holds the current USB frame number. The start of frame maskable interrupt (USBISR[SOF]
and USBIMR[SOF]) along with the frame number register (FRMNUMR) may be used for this
synchronization.