![Intel IXP45X Developer'S Manual Download Page 423](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092423.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262--, Revision: 004US
423
USB 2.0 Host Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
9.14.5
Periodic Schedule Frame Boundaries versus Bus Frame
Boundaries
The USB Specification Revision 2.0 requires that the frame boundaries (SOF frame
number changes) of the high-speed bus and the full- and low-speed bus(s) below USB
2.0 hubs be strictly aligned. Super-imposed on this requirement is that USB 2.0 hubs
manage full- and low-speed transactions via a micro-frame pipeline (see start- (SS)
and complete- (CS) splits illustrated in
Figure 57, “Frame Boundary Relationship
between HS bus and FS/LS Bus” on page 423
). A simple, direct projection of the frame
boundary model into the host controller interface schedule architecture creates tension
(complexity for both hardware and software) between the frame boundaries and the
scheduling mechanisms required to service the full- and low-speed transaction
translator periodic pipelines.
The simple projection, as
Figure 57, “Frame Boundary Relationship between HS bus
illustrates, introduces frame-boundary wrap conditions for
scheduling on both the beginning and end of a frame. In order to reduce the complexity
for hardware and software, the host controller is required to implement a one micro-
frame phase shift for its view of frame boundaries. The phase shift eliminates the
beginning of frame and frame-wrap scheduling boundary conditions.
The implementation of this phase shift requires that the host controller use one register
value for accessing the periodic frame list and another value for the frame number
value included in the SOF token. These two values are separate, but tightly coupled.
The periodic frame list is accessed via the Frame List Index Register (FRINDEX)
documented in
Section 9.12.4, “FRINDEX” on page 378
and initially illustrated in
Section 9.14.4, “Schedule Traversal Rules” on page 418
. Bits FRINDEX[2:0], represent
the micro-frame number. The SOF value is coupled to the value of FRINDEX[13:3].
Both FRINDEX[13:3] and the SOF value are incremented based on FRINDEX[2:0]. It is
required that the SOF value be delayed from the FRINDEX value by one micro-frame.
The one micro-frame delay yields host controller periodic schedule and bus frame
boundary relationship as illustrated in
Figure 58, “Relationship of Periodic Schedule
Frame Boundaries to Bus Frame Boundaries” on page 424
. This adjustment allows
software to trivially schedule the periodic start and complete-split transactions for full-
and low-speed periodic endpoints, using the natural alignment of the periodic schedule
interface. The reasons for selecting this phase-shift are beyond the scope of this
specification.
Figure 58, “Relationship of Periodic Schedule Frame Boundaries to Bus Frame
illustrates how periodic schedule data structures relate to
schedule frame boundaries and bus frame boundaries. To aid the presentation, two
terms are defined. The host controller's view of the 1-millisecond boundaries is called
H-Frames. The high-speed bus's view of the 1-ms boundaries is called B-Frames.
Figure 57.
Frame Boundary Relationship between HS bus and FS/LS Bus
B4500-01
SS
CS
CS
CS
SS
CS
CS
CS
CS
CS
HS Bus
FS/LS Bus
Frame Boundary
Micro-frame numbers(s)
7 0 1 2 3 4 5 6 7 0