
iXPeRiPheRaLMoDuLes7(usB):usBFunCtionContRoLLeR(usB)
iX-1-22
ePson
s1C33L17teChniCaLManuaL
issuingresume
This section describes how to enable automatic resume to be triggered by some cause when remote wake-up is
supported and the remote wakeup function is enabled from the host.
Remote wakeup can only be enabled 5 ms after the bus enters the Idle state. Furthermore, the current used
before the USB Suspend state cannot be pulled from the VBUS until 10 ms has elapsed after the Resume signal
output.
The S1C33L17 supports Snooze state. This section describes the operation for issuing Resume when the
oscillation circuit is in operation (USB_CKE (D8/0x301B00) = 1, not in Sleep). Steps (3), (4), (8) and (9)
below are handled by the macro hardware automatically. Perform steps (1), (2), (6), (6a) and (10) on the
firmware that controls this macro.
(1) Clear the SIE_IntEnb.EnNonJ and USBSNZ (D5/0x300012) bits. This is to cause this macro return from
Snooze for automatic wakeup.
(2) Set the USB_Control.SendWakeup bit and send out the Resume signal.
(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 (USB_CKE
(D8/0x301B00) = 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 (D5/0x300012) reset from 1 to 0).