Information
Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
13-72 Freescale Semiconductor
13.6.5 Schedule Traversal Rules
The host controller executes transactions for devices using a simple, shared-memory schedule. The
schedule is comprised of a few data structures, organized into two distinct lists. The data structures are
designed to provide the maximum flexibility required by USB, minimize memory traffic and
hardware/software complexity.
System software maintains two schedules for the host controller: a periodic schedule and an asynchronous
schedule. The root of the periodic schedule is the PERIODICLISTBASE register. See Section 13.3.2.6,
“Periodic Frame List Base Address Register (PERIODICLISTBASE),” for more information. The
PERIODICLISTBASE register is the physical memory base address of the periodic frame list. The
periodic frame list is an array of physical memory pointers. The objects referenced from the frame list must
be valid schedule data structures as defined in Section 13.5, “Host Data Structures.” In each microframe,
if the periodic schedule is enabled (see) then the host controller must execute from the periodic schedule
before executing from the asynchronous schedule. It will only execute from the asynchronous schedule
after it encounters the end of the periodic schedule. The host controller traverses the periodic schedule by
constructing an array offset reference from the PERIODICLISTBASE and the FRINDEX registers (see
Figure 13-43). It fetches the element and begins traversing the graph of linked schedule data structures.
The end of the periodic schedule is identified by a next link pointer of a schedule data structure having its
T-bit set. When the host controller encounters a T-Bit set during a horizontal traversal of the periodic list,
it interprets this as an End-Of-Periodic-List mark. This causes the host controller to cease working on the
periodic schedule and transitions immediately to traversing the asynchronous schedule. Once this
transition is made, the host controller executes from the asynchronous schedule until the end of the
microframe.
Figure 13-43. Derivation of Pointer into Frame List Array
When the host controller determines that it is time to execute from the asynchronous list, it uses the
operational register ASYNCLISTADDR to access the asynchronous schedule, as shown in Figure 13-44.
Periodic Frame
List
31 12 11 2 1 0
31 12 13 12 3 2 0
DWord-Aligned
Periodic Frame List Element
Address
Periodic Frame List Base
Address
Frame Index Register
•
•
•
