Information
Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
13-22 Freescale Semiconductor
bandwidth and power on the system bus and thus should be minimized (not necessarily eliminated).
Back-offs can be minimized with use of the TSCHHEALTH (Tff) parameter described below.
Table 13-20 describes the transmit FIFO tuning controls register fields.
Offset 0x164 Access: Read/Write
31 22 21 16 15 13 12 8 7 0
R
— TXFIFOTHRES — TXSCHHEALTH TXSCHOH
W
Reset00000000000000000000000000000000
Figure 13-17. Transmit FIFO Tuning Controls (TXFILLTUNING)
Table 13-20. TXFILLTUNING Register Field Descriptions
Bits Name Description
31–22 — Reserved, should be cleared.
21–16 TXFIFOTHRES FIFO burst threshold. Control the number of data bursts that are posted to the TX latency FIFO in
host mode before the packet begins on to the bus. The minimum value is 2 and this value should be
a low as possible to maximize USB performance. A higher value can be used in systems with
unpredictable latency and/or insufficient bandwidth where the FIFO may underrun because the data
transferred from the latency FIFO to USB occurs before it can be replenished from system memory.
This value is ignored if USBMODE[SDIS] (stream disable bit) is set. When USBMODE[SDIS] is set,
the host controller behaves as if TXFIFOTHRES is set to the maximum value.
15–13 — Reserved, should be cleared.
12–8 TXSCHHEALTH Scheduler health counter. Increment when the host controller fails to fill the TX latency FIFO to the
level programmed by TXFIFOTHRES before running out of time to send the packet before the next
Start-Of-Frame.
This health counter measures the number of times this occurs to provide feedback to selecting a
proper TXSCHOH. Writing to this register clears the counter and this counter stops counting after
reaching the maximum of 31.
7–0 TXSCHOH Scheduler overhead. These bits add an additional fixed offset to the schedule time estimator
described above as Tff. As an approximation, the value chosen for this register should limit the
number of back-off events captured in the TXSCHHEALTH to less than 10 per second in a highly
utilized bus. Choosing a value that is too high for this register is not desired as it can needlessly
reduce USB utilization.
The time unit represented in this register is 1.267ms when a device is connected in high-speed
mode.
The time unit represented in this register is 6.333ms when a device is connected in low-/full-speed
mode.
For most applications, TXSCHOH can be set to 4 or less. A good value to begin with is:
TXFIFOTHRES ¥ (BURSTSIZE ¥ 4 bytes-per-word) ³ (40 ¥ TimeUnit), always rounded to the next
higher integer. TimeUnit is either 1.267 or 6.333 as noted earlier in this description. For example, if
TXFIFOTHRES is 5 and BURSTSIZE is 8, then set TXSCHOH to 5¥(8¥4)³(40¥1.267)=4 for a
high-speed link. If this value of TXSCHOH results in a TXSCHHEALTH count of 0 per second, try
lowering the value by 1 if optimizing performance is desired. If TXSCHHEALTH exceeds 10 per
second, try raising the value by 1.
If streaming mode is disabled via the USBMODE register, treat TXFIFOTHRES as the maximum
value for purposes of the TXSCHOH calculation.