Universal Serial Bus InterfaceMCF5253 Reference Manual, Rev. 1Freescale Semiconductor 24-87• The current transaction does not span a page boundary. The value of C_Page is not adjusted by thehost controller.• The current transaction does span a page boundary. The host controller must detect the page crosscondition and advance to the next buffer while streaming data to/from the USB.• The current transaction completes on a page boundary (that is, the last byte moved for the currenttransaction is the last byte in the page for the current page pointer). The host controller mustincrement C_Page before writing back status for the transaction.Note that the only valid adjustment the host controller may make to C_Page is to increment by one.24.9.10.2 Adding Interrupt Queue Heads to the Periodic ScheduleThe link path(s) from the periodic frame list to a queue head establishes in which frames a transaction canbe executed for the queue head. Queue heads are linked into the periodic schedule so they are polled at theappropriate rate. The system software sets a bit in a queue head's S-Mask to indicate which micro-framewithin a 1 millisecond period a transaction should be executed for the queue head. The software mustensure that all queue heads in the periodic schedule have S-Mask set to a non-zero value. An S-mask witha zero value in the context of the periodic schedule yields undefined results.If the desired poll rate is greater than one frame, the system software can use a combination of queue headlinking and S-Mask values to spread interrupts of equal poll rates through the schedule so that the periodicbandwidth is allocated and managed in the most efficient manner possible. Some examples are illustratedin Table 24-65.24.9.10.3 Managing Transfer Complete Interrupts from Queue HeadsThe host controller sets an interrupt to be signaled at the next interrupt threshold when the completedtransfer (qTD) has an Interrupt on Complete (IOC) bit set, or whenever a transfer (qTD) completes with ashort packet. If the system software needs multiple qTDs to complete a client request (that is, like a controltransfer) the intermediate qTDs do not require interrupts. The system software may only need a singleinterrupt to notify it that the complete buffer has been transferred. The system software may set IOC's tooccur more frequently. A motivation for this may be that it wants early notification so that interface datastructures can be re-used in a timely manner.Table 24-65. Example Periodic Reference Patterns for Interrupt TransfersFrame #ReferenceSequenceDescription0, 2, 4, 6, 8,....S-Mask = 0x01A queue head for the bInterval of 2 milliseconds (16 micro-frames) is linked into the periodic schedule so thatit is reachable from the periodic frame list locations indicated in the previous column. In addition, the S-Maskfield in the queue head is set to 0x01, indicating that the transaction for the endpoint should be executed onthe bus during micro-frame 0 of the frame.0, 2, 4, 6, 8,...S-Mask = 0x02Another example of a queue head with a bInterval of 2 milliseconds is linked into the periodic frame list atexactly the same interval as the previous example. However, the S-Mask is set to 0x02 indicating that thetransaction for the endpoint should be executed on the bus during micro-frame 1 of the frame.