Universal Serial Bus InterfaceMCF5253 Reference Manual, Rev. 124-90 Freescale Semiconductor24.9.12.1.1 Asynchronous—Do-Start-SplitDo-Start-Split is the state which the software must initialize a full- or low-speed asynchronous queue head.This state is entered from the Do-Complete-Split state only after a complete-split transaction receives avalid response from the transaction translator that is not a Nyet handshake.For queue heads in this state, the host controller executes a start-split transaction to the transactiontranslator. If the bus transaction completes without an error and PID Code indicates an IN or OUTtransaction, then the host controller reloads the error counter (Cerr). If it is a successful bus transaction andthe PID Code indicates a SETUP, the host controller will not reload the error counter. If the transactiontranslator responds with a Nak, the queue head is left in this state, and the host controller proceeds to thenext queue head in the asynchronous schedule.If the host controller times out the transaction (no response, or bad response) the host controller decrementsCerr and proceeds to the next queue head in the asynchronous schedule.24.9.12.1.2 Asynchronous—Do-Complete-SplitThis state is entered from the Do-Start-Split state only after a start-split transaction receives an Ackhandshake from the transaction translator.For queue heads in this state, the host controller executes a complete-split transaction to the transactiontranslator. If the transaction translator responds with a Nyet handshake, the queue head is left in this state,the error counter is reset and the host controller proceeds to the next queue head in the asynchronousschedule. When a Nyet handshake is received for a bus transaction where the queue head's PID Codeindicates an IN or OUT, the host controller reloads the error counter (Cerr). When a Nyet handshake isreceived for a complete-split bus transaction where the queue head's PID Code indicates a SETUP, the hostcontroller must not adjust the value of Cerr.Independent of PID Code, the following responses have the indicated effects:• Transaction Error (XactErr). Timeout/data CRC failure. The error counter (Cerr) is decrementedby one and the complete split transaction is immediately retried (if possible). If there is not enoughtime in the micro-frame to execute the retry, the host controller ensures that the next time the hostcontroller begins executing from the Asynchronous schedule, it must begin executing from thisqueue head. If another start-split (for some other endpoint) is sent to the transaction translatorbefore the complete-split is really completed, the transaction translator could dump the results(which were never delivered to the host). This is why the core specification states the retries mustbe immediate. When the host controller returns to the asynchronous schedule in the nextmicro-frame, the first transaction from the schedule will be the retry for this endpoint. If Cerr wentto zero, the host controller halts the queue.• NAK. The target endpoint Nak'd the full- or low-speed transaction. The state of the transfer is notadvanced and the state is exited. If the PID Code is a SETUP, then the Nak response is a protocolerror. The XactErr status bit is set and the Cerr field is decremented.• STALL. The target endpoint responded with a STALL handshake. The host controller sets the haltbit in the status byte, retires the qTD but does not attempt to advance the queue.