Register Map
13-29
USB Function Module
13.2.10
Start of Frame Register (SOF)
The read-only start of frame register (SOF) provides a frame timer status for
use in isochronous communications. A write to this register is forbidden.
Table 13–11. Start of Frame Register (SOF)
Bit
Name
Description
15–13
–
Reserved
12
FT_Lock
Frame timer locked
11
TS_OK
Time stamp OK
10–0
TS
Time stamp number
13.2.10.1
Frame Timer Locked (FT_Lock)
The USB host sends out a start of frame (SOF) packet every millisecond.
When a SOF packet is not received by the device due to a bus error, a local
start-of-frame is generated for use by the isochronous FIFO switch.
Once the core receives two valid SOFs separated by time-frame (TF), it sets
the FT_LOCK to 1 only if TF is the frame interval (IF) allowed by USB 1.1 speci-
fication (IF = [11964:12036] USB bit time). If TF is out of this interval, the
FT_Lock value remains 0, and a local SOF is generated by the core.
When the FT_Lock bit 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 the The 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 lock to TF.
When the FT_Lock is cleared, a local SOF is generated after 12036 USB bit
times if no valid SOF has been received, and the FT_Lock remains 0.
0: Frame timer is not locked.
1: Frame timer is locked.
Value after local host or USB reset is low.
Each time a valid SOF is received by the core out of allowed interval IF, a local
SOF is generated and isochronous FIFO switch.