Universal Serial Bus InterfaceMCF5253 Reference Manual, Rev. 1Freescale Semiconductor 24-13924.11.3.6 Isochronous Endpoint Operational ModelIsochronous endpoints are used for real-time scheduled delivery of data and their operational model issignificantly different than the host throttled Bulk, Interrupt, and Control data pipes. Real time delivery bythe USB_DR will is accomplished by the following:• Exactly MULT Packets per (micro)Frame are transmitted/received. Note: MULT is a two-bit fieldin the device Queue Head. The variable length packet protocol is not used on isochronousendpoints.• NAK responses are not used. Instead, zero length packets and sent in response to an IN request toan unprimed endpoints. For unprimed RX endpoints, the response to an OUT transaction is toignore the packet within the device controller.• Prime requests always schedule the transfer described in the dTD for the next (micro)frame. If theISO-dTD is still active after that frame, then the ISO-dTD will be held ready until executed orcanceled by the DCD.The USB_DR in host mode uses the periodic frame list to schedule data exchanges to Isochronousendpoints. The operational model for device mode does not use such a data structure. Instead, the samedTD used for Control/Bulk/Interrupt endpoints is also used for isochronous endpoints. The difference isin the handling of the dTD.The first difference between bulk and ISO-endpoints is that priming an ISO-endpoint is a delayedoperation such that an endpoint will become primed only after a SOF is received. After the DCD writesthe prime bit, the prime bit will be cleared as usual to indicate to the software that the device controllercompleted a priming the dTD for transfer. Internal to the design, the device controller hardware masks thatprime start until the next frame boundary. This behavior is hidden from the DCD but occurs so that thedevice controller can match the dTD to a specific (micro)frame.Another difference with isochronous endpoints is that the transaction must wholly complete in a(micro)frame. Once an ISO transaction is started in a (micro)frame it will retire the corresponding dTDwhen MULT transactions occur or the device controller finds a fulfillment condition.The transaction error bit set in the status field indicates a fulfillment error condition. When a fulfillmenterror occurs, the frame after the transfer failed to complete wholly, the device controller will force retirethe ISO-dTD and move to the next ISO-dTD.It is important to note that fulfillment errors are only caused due to partially completed packets. If noactivity occurs to a primed ISO-dTD, the transaction will stay primed indefinitely. This means it is up tothe software discard transmit ISO-dTDs that pile up from a failure of the host to move the data.Finally, the last difference with ISO packets is in the data level error handling. When a CRC error occurson a received packet, the packet is not retried similar to bulk and control endpoints. Instead, the CRC isnoted by setting the Transaction Error bit and the data is stored as usual for the application software to sortout.• TX Packet Retired— MULT counter reaches zero.— Fulfillment Error [Transaction Error bit is set]— #Packets Occurred > 0 AND # Packets Occurred < MULT