USB Device Controller
1575
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Universal Serial Bus (USB)
29.3.1.10 Start of Frame Register (SOF)
This read-only register provides a frame timer status for use in ISO communications. A write to this
register is denied.
Figure 29-37. Start of Frame Register (SOF) [address = FCF78A12h]
15
13
12
11
10
8
Reserved
FT_LOCK
TS_OK
TS
R-0
R-0
R-0
R-0
7
0
TS
R-0
LEGEND: R = Read only; -
n
= value at reset
Table 29-41. Start of Frame Register (SOF) Field Descriptions
Bit
Field
Value
Description
15-13
Reserved
0
Reserved
12
FT_LOCK
Frame timer locked bit: the USB host sends out a start of frame (SOF) packet every millisecond.
When the device does not receive a SOF packet because of a bus error, a local start of-frame that
is used for ISO FIFO switch is generated. Once the core receives two valid SOF, separated by TF
(time frame), it sets SOF.FT_LOCK to 1, only if TF is in frame interval IF allowed by the USB 1.1
specification (IF = [11964:12036] USB bit time). If TF is out of this interval, SOF.FT_LOCK value
remains 0, and a local SOF is generated by the core. When SOF.FT_LOCK is set and the frame
timer is locked to the timing TF, a local SOF is generated, if no valid SOF has been received in an
interval of TF since the last valid SOF. The SOF.FT_LOCK bit is cleared if a valid SOF is received
out of the interval IF. If the core receives a valid SOF in this interval, the frame timer locks to the
new frame time. If the core does not receive a valid SOF, the frame timer remains locked to TF.
When SOF.FT_LOCK is cleared, a local SOF is generated after the 12036 USB bit time, if no valid
SOF has been received, and SOF.FT_LOCK remains 0.
0
Frame timer is not locked.
1
Frame timer is locked.
The value after system reset or USB reset is low. Note: Each time the core receives a valid SOF
out of the allowed interval IF, a local SOF is generated and the ISO FIFO switches.
11
TS_OK
The timestamp OK bit indicates that the timestamp in SOF.TS is valid for the current frame. It
returns a 1 if a valid SOF packet was received from the USB host and a 0 otherwise.
0
Timestamp is invalid.
1
Timestamp is valid.
Value after system reset or USB reset is low.
10-0
TS
0-7FFh
The timestamp number field returns the timestamp from the last USB host-valid SOF packet. The
frame number is valid if SOF.TS_OK is 1. In case of an SOF miss, this value is not updated and
TS_OK is cleared. The value after system reset or USB reset is low (all 11 bits).