
Universal Serial Bus Interface
MCF5253 Reference Manual, Rev. 1
Freescale Semiconductor
24-111
The start-split transactions do not receive a handshake from the transaction translator, so the host controller
always advances the transfer state in the siTD after the bus transaction is complete. To advance the transfer
state the following operations take place:
•
The siTD[Total Bytes To Transfer] and the siTD[Current Offset] fields are adjusted to reflect the
number of bytes transferred.
•
The siTD[P] (page select) bit is updated appropriately.
•
The siTD[TP] and siTD[T-count] fields are updated appropriately as defined in
These fields are then written back to the memory based siTD. The S-mask is fixed for the life of the current
budget. As mentioned above, TP and T-count are set specifically in each siTD to reflect the data to be sent
from this siTD. Therefore, regardless of the value of S-mask, the actual number of start-split transactions
depends on T-count (or equivalently, Total Bytes to Transfer). The host controller must clear the Active bit
when it detects that all of the schedule data has been sent to the bus. The preferred method is to detect when
T-Count decrements to zero as a result of a start-split bus transaction. Equivalently, the host controller can
detect when Total Bytes to Transfer decrements to zero. Either implementation must ensure that if the
initial condition is Total Bytes to Transfer is equal to zero and T-count is equal to a one, then the host
controller will issue a single start-split, with a zero-length data payload. The software must ensure that TP,
T-count and Total Bytes to Transfer are set to deliver the appropriate number of bus transactions from each
siTD. An inconsistent combination will yield undefined behavior.
If the host experiences hold-offs that cause the host controller to skip start-split transactions for an OUT
transfer, the state of the transfer will not progress appropriately. The transaction translator observes
protocol violations in the arrival of the start-splits for the OUT endpoint (that is, the transaction position
annotation is incorrect as received by the transaction translator).
Example scenarios are described in
Section 24.9.12.3.7, “Split Transaction for Isochronous—Processing
The host controller can optionally track the progress of an OUT split transaction by setting appropriate bits
in the siTD[C-prog-mask] as it executes each scheduled start-split. The checkPreviousBit() algorithm
defined in
Section 24.9.12.3.5, “Periodic Isochronous—Do Complete Split,”
can be used prior to
executing each start-split to determine whether start-splits were skipped. The host controller can use this
mechanism to detect missed micro-frames. It can then clear the siTD's Active bit and stop execution of this
siTD. This saves on both memory and high-speed bus bandwidth.
24.9.12.3.5
Periodic Isochronous—Do Complete Split
This state is only used by a split-transaction isochronous IN endpoint. This state is entered unconditionally
from the Do Start State after a start-split transaction is executed for an IN endpoint. Each time the host
controller visits an siTD in this state, it conducts a number of tests to determine whether it should execute
a complete-split transaction. The individual tests are listed below. The sequence they are applied depends
on which micro-frame the host controller is currently executing which means that the tests might not be
applied until after the siTD referenced from the back pointer has been fetched.
•
Test A. cMicroFrameBit is bit-wise ANDed with the siTD[C-mask] field. A non-zero result
indicates that the software scheduled a complete-split for this endpoint, during this micro-frame.
This test is always applied to a newly fetched siTD that is in this state.
Содержание MCF5253
Страница 1: ...Document Number MCF5253RM Rev 1 08 2008 MCF5253 Reference Manual...
Страница 26: ...MCF5253 Reference Manual Rev 1 xxvi Freescale Semiconductor...
Страница 32: ...MCF5253 Reference Manual Rev 1 xxxii Freescale Semiconductor...
Страница 46: ...MCF5253 Introduction MCF5253 Reference Manual Rev 1 1 14 Freescale Semiconductor...
Страница 62: ...Signal Description MCF5253 Reference Manual Rev 1 2 16 Freescale Semiconductor...
Страница 98: ...Instruction Cache MCF5253 Reference Manual Rev 1 5 10 Freescale Semiconductor...
Страница 104: ...Static RAM SRAM MCF5253 Reference Manual Rev 1 6 6 Freescale Semiconductor...
Страница 128: ...Synchronous DRAM Controller Module MCF5253 Reference Manual Rev 1 7 24 Freescale Semiconductor...
Страница 144: ...Bus Operation MCF5253 Reference Manual Rev 1 8 16 Freescale Semiconductor...
Страница 176: ...System Integration Module SIM MCF5253 Reference Manual Rev 1 9 32 Freescale Semiconductor...
Страница 198: ...Analog to Digital Converter ADC MCF5253 Reference Manual Rev 1 12 6 Freescale Semiconductor...
Страница 246: ...DMA Controller MCF5253 Reference Manual Rev 1 14 18 Freescale Semiconductor...
Страница 282: ...UART Modules MCF5253 Reference Manual Rev 1 15 36 Freescale Semiconductor...
Страница 298: ...Queued Serial Peripheral Interface QSPI Module MCF5253 Reference Manual Rev 1 16 16 Freescale Semiconductor...
Страница 344: ...Audio Interface Module AIM MCF5253 Reference Manual Rev 1 17 46 Freescale Semiconductor...
Страница 362: ...I2 C Modules MCF5253 Reference Manual Rev 1 18 18 Freescale Semiconductor...
Страница 370: ...Boot ROM MCF5253 Reference Manual Rev 1 19 8 Freescale Semiconductor...