SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 1084

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
39.5.2.7
39.5.2.8
39.5.2.9
39.5.2.10
1084
1084
SAM3X/A
SAM3X/A
Suspend and Wake-up
Detach
Remote Wake-up
STALL Request
When an idle USB bus state has been detected for 3 ms, the controller sets the Suspend
( U O T G H S _ D E V I S R . S U S P ) i n t e r r u p t b i t . T h e u s e r m a y t h e n w r i t e a o n e t o t h e
UOTGHS_CTRL.FRZCLK bit to reduce the power consumption.
T o r e c o v e r f r o m t h e S u s p e n d m o d e , t h e u s e r s h a l l w a i t f o r t h e W a k e - U p
(UOTGHS_DEVISR.WAKEUP) interrupt bit, which is set when a non-idle event is detected, then
write a zero to UOTGHS_CTRL.FRZCLK.
As the UOTGHS_DEVISR.WAKEUP interrupt bit is set when a non-idle event is detected, it can
occur whether the controller is in the Suspend mode or not. The UOTGHS_DEVISR.SUSP and
UOTGHS_DEVISR.WAKEUP interrupts are thus independent, except that one bit is cleared
when the other is set.
The reset value of the UOTGHS_DEVCTRL.DETACH bit is one.
It is possible to initiate a device re-enumeration by simply writing a one then a zero to
UOTGHS_DEVCTRL.DETACH.
UOTGHS_DEVCTRL.DETACH acts on the pull-up connections of the D+ and D- pads. See
“Device mode”
The Remote Wake-Up request (also known as Upstream Resume) is the only one the device
may send on its own initiative, but the device should have beforehand been allowed to by a
DEVICE_REMOTE_WAKEUP request from the host.
For each endpoint, the STALL management is performed using:
To answer the next request with a STALL handshake, UOTGHS_DEVEPTIMRx.STALLRQ has
to be set by writing a one to the STALL Request Set (UOTGHS_DEVEPTIERx.STALLRQS) bit.
All following requests will be discarded (UOTGHS_DEVEPTISRx.RXOUTI, etc. will not be set)
and handshaked with a STALL until the UOTGHS_DEVEPTIMRx.STALLRQ bit is cleared,
which is done when a new SETUP packet is received (for control endpoints) or when the STALL
Request Clear (UOTGHS_DEVEPTIMRx.STALLRQC) bit is written to one.
• First, the UOTGHS must have detected a “Suspend” state on the bus, i.e. the Remote Wake-
• The user may then write a one to the Remote Wake-Up (UOTGHS_DEVCTRL.RMWKUP) bit
• When the controller sends the upstream resume, the Upstream Resume
• UOTGHS_DEVCTRL.RMWKUP is cleared at the end of the upstream resume.
• If the controller detects a valid “End of Resume” signal from the host, the End of Resume
• The STALL Request (UOTGHS_DEVEPTIMRx.STALLRQ) bit to initiate a STALL request.
• The STALLed Interrupt (UOTGHS_DEVEPTISRx.STALLEDI) bit, which is set when a STALL
Up request can only be sent after a UOTGHS_DEVISR.SUSP interrupt has been set.
to send an upstream resume to the host for a remote wake-up. This will automatically be
done by the controller after 5ms of inactivity on the USB bus.
(UOTGHS_DEVISR.UPRSM) interrupt is set and UOTGHS_DEVISR.SUSP is cleared.
(UOTGHS_DEVISR.EORSM) interrupt is set.
handshake has been sent.
for further details.
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12

Related parts for SAM3X8E