Rev. 3.0, 03/01, page 278 of 390
If the CurrentBufferPointer requires an update and is not the last packet, the
number of bytes transmitted in the packet should be added to the current value of the
CurrentBufferPointer field. If the packet crossed a page boundary, the upper 20
bits of the CurrentBufferPointer should be updated with the BufferEndPage field
to reflect the change in page base address. The lower 12 bits of the
CurrentBufferPointer will roll over correctly with a normal addition to reflect the
new packet address.
If the CompletionCode is NoError and it is the last packet, the
CurrentBufferPointer field is set to 0h.
3. ErrorCount
The ErrorCount field is incremented each time a transmission error occurs. A
transmission error is CRC, BitStuffing, DataToggleMismatch,
DeviceNotResponding, and PIDCheckFailure.
Upon a completion code of NoError the ErrorCount field is reset to 0.
All other responses, including a NAK response from the device, will maintain the
current ErrorCount value.
If the ErrorCount is 2 and another transmission error occurs, the Transfer
Descriptor is retired with the error code reflected in the CompletionCode field.
4. CompletionCode
The CompletionCode field of a General Transfer Descriptor is updated after every
attempted transaction whether successful or not. The new CompletionCode value
will be the value provided by the SIE, unless the SIE reports DataUnderrun and the
BufferRounding bit is set, in which case the new CompletionCode will be NoError.
When an endpoint returns a NAK handshake for a transmission, all General Transfer
Descriptor fields will be the same after the transaction as they were when the
transaction began. The Host Controller does not make any changes and no writeback
occurs.
•
Isochronous Transfer Description Status Writeback
The Host Controller updates the Offset[R] field after packet transmission using the
Packet Status Word. For an OUT packet, the Size field is set to 0 if there is no error. For
an IN, the Size field will reflect the actual number of bytes written to the memory
buffer. Regardless of transfer direction, the CompletionCode field is updated to reflect
the outcome of the transmission.
The CompletionCode field of the ITD is set to NoError unless the ITD is late, in which
case it is set to DataOverrun.
•
Completion Codes
Table 18-3 provides the encoding for the Completion Codes used in Transfer Descriptor
writebacks and Packet Status Word writebacks.
Содержание HD64465
Страница 25: ...Rev 3 0 03 01 page 6 of 390 ...
Страница 59: ...Rev 3 0 03 01 page 40 of 390 ...
Страница 97: ...Rev 3 0 03 01 page 78 of 390 ...
Страница 147: ...Rev 3 0 03 01 page 128 of 390 ...
Страница 199: ...Rev 3 0 03 01 page 180 of 390 ...
Страница 247: ...Rev 3 0 03 01 page 228 of 390 ...
Страница 385: ...Rev 3 0 03 01 page 366 of 390 ...
Страница 389: ...Rev 3 0 03 01 page 370 of 390 ...
Страница 409: ...Rev 3 0 03 01 page 390 of 390 ...