Universal Serial Bus InterfaceMCF5253 Reference Manual, Rev. 1Freescale Semiconductor 24-93Figure 24-54. General Structure of EHCI Periodic Schedule Utilizing Interrupt SpreadingThe periodic frame list is effectively the leaf level a binary tree, which is always traversed leaf to root.Each level in the tree corresponds to a 2N poll rate. The software can efficiently manage periodicbandwidth on the USB by spreading interrupt queue heads that have the same poll rate requirement acrossall the available paths from the frame list. For example, system the software can schedule eight poll rate 8queue heads and account for them once in the high-speed bus bandwidth allocation.When an endpoint is allocated an execution footprint that spans a frame boundary, the queue head for theendpoint must be reachable from consecutive locations in the frame list. An example would be if 80b weresuch an endpoint. Without additional support on the interface, to get 80b reachable at the correct time, thesoftware would have to link 8 1 to 80b. It would then have to move 4 1 and everything linked after into thesame path as 40. This upsets the integrity of the binary tree and disallows the use of the spreadingtechnique.FSTN data structures are used to preserve the integrity of the binary-tree structure and enable the use ofthe spreading technique. Section 24.8.7, “Periodic Frame Span Traversal Node (FSTN),” defines thehardware and software operational model requirements for using FSTNs.The following queue head fields are initialized by the system software to instruct the host controller whento execute portions of the split-transaction protocol.• SplitXState. This is a single bit residing in the Status field of a queue head (Table 24-53). This bitis used to track the current state of the split transaction.• Frame S-mask. This is a bit-field where the system software sets a bit corresponding to themicro-frame (within an H-Frame) that the host controller should execute a start-split transaction.This is always qualified by the value of the SplitXState bit in the Status field of the queue head.For example, referring to Figure 24-53, case one, the S-mask would have a value of 0b0000_0001indicating that if the queue head is traversed by the host controller, and the SplitXState indicatesDo_Start, and the current micro-frame as indicated by FRINDEX[2:0] is 0, then execute astart-split transaction.2143•••402010PeriodicFrame List• • •878685848382818080b4241Level 8 Level 4Level 2Level 1Linkage repeats every 8 forremainder of frame list(Root)