28 USB FUNCTION CONTROLLER (USB)
28-14
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
(3) The macro sets XcvrControl.OpMode[1:0] to “Disable Bit Stuffing and NRZI encoding” and prepares
for transmission of “All 0” data.
(4) The macro starts data transmission and sends out “FS K” (the Resume signal) to a downstream port.
(5) The downstream port detects this Resume signal and returns “FS K” (the Resume signal) onto the bus.
(6) Clear the USB_Control.SendWakeup bit and suspend Resume signal send-out. After that, clear the
USB_Control.InSUSPEND bit.
(7) The downstream port suspends Resume signal send-out. Here, note that the Resume signal from
downstream port (host) has EOP of LS at the end.
To detect the Resume signal sent from downstream port, the following procedure is needed after step (6) is
performed.
(6a) Set the USB_Control.StartDetectJ bit.
(7) The downstream port suspends Resume signal send-out. Here, note that the Resume signal from
downstream port (host) has EOP of LS at the end.
(8) The SIE_IntStat.DetectJ bit is set.
(9) If the SIE_IntEnb.EnDectectJ bit is set, the macro asserts the #INT signal.
(10) Clear the USB_Control.StartDetectJ bit.
However, steps (6a)–(10) is not necessary when the auto-negotiation function is used, so just wait another
event.
This section describes the operation of the oscillation circuit by assuming that it is in operation (USBCLK_
EN = 1, not in Sleep). If the oscillation circuit is in the Sleep state (deactivated), OSC power-up time is
needed before returning from the Snooze state (with USBSNZ reset from 1 to 0).
Detecting resume
When the USB is suspended, “J” is observed on the bus (USB_Status.LineState[1:0] is “J”). If “K” is ob-
served on the bus, it means the instruction for wakeup (Resume) is received from the downstream port. This
section describes the operation when Resume is detected, assuming that this macro is in the Snooze state
when the USB is suspended. Use the firmware that controls this macro to perform steps (4), (5), (5a) and (9).
The other steps are handled by the macro hardware automatically.
(1) The bus transits from “J” to “K”.
(2) The macro sets the SIE_IntStat.NonJ bit.
(3) If the SIE_IntEnb.EnNonJ and MainIntEnb.EnSIE_IntStat bits are set, the macro asserts the #INT sig-
nal.
(4) Clear USBSNZ.
(5) Clear the USB_Control.SendWakeup bit and suspend Resume signal send-out. After that, clear the
USB_Control.InSUSPEND bit.
(6) The downstream port suspends “K” send-out.
To detect the Resume signal sent from downstream port, the following procedure is needed after step (5) is
performed.
(5a) Set the USB_Control.StartDetectJ bit.
(6) The downstream port suspends “K” send-out.
(7) The SIE_IntStat.DetectJ bit is set.
(8) If the SIE_IntEnb.EnDectectJ bit is set, the macro asserts the #INT signal.
(9) Clear the USB_Control.StartDetectJ bit.
However, steps (5a)–(9) is not necessary when the auto-negotiation function is used, so just wait another
event.
This section describes the operation of the oscillation circuit by assuming that it is in operation (USBCLK_
EN = 1, not in Sleep). If the oscillation circuit is in the Sleep state (deactivated), OSC power-up time is
needed before returning from the Snooze state (with USBSNZ reset from 1 to 0).
Cable plug-in
This section describes the operation that is carried out when the macro is connected to the hub or the host (via
cable plug-in). Use the firmware that controls this macro to perform steps (3) and (4). Steps (1) and (2) are
handled by the macro hardware automatically.