RM0008
Universal serial bus full-speed device interface (USB)
The actual procedure used to suspend the USB peripheral is device dependent since
according to the device composition, different actions may be required to reduce the total
consumption.
A brief description of a typical suspend procedure is provided below, focused on the USB-
related aspects of the application software routine responding to the SUSP notification of
the USB peripheral:
1.
2.
3.
4.
Set the FSUSP bit in the USB_CNTR register to 1. This action activates the suspend
mode within the USB peripheral. As soon as the suspend mode is activated, the check
on SOF reception is disabled to avoid any further SUSP interrupts being issued while
the USB is suspended.
Remove or reduce any static power consumption in blocks different from the USB
peripheral.
Set LP_MODE bit in USB_CNTR register to 1 to remove static power consumption in
the analog USB transceivers but keeping them able to detect resume activity.
Optionally turn off external oscillator and device PLL to stop any activity inside the
device.
When an USB event occurs while the device is in SUSPEND mode, the RESUME procedure
must be invoked to restore nominal clocks and regain normal USB behavior. Particular care
must be taken to insure that this process does not take more than 10mS when the wakening
event is an USB reset sequence (See “Universal Serial Bus Specification” for more details).
The start of a resume or reset sequence, while the USB peripheral is suspended, clears the
LP_MODE bit in USB_CNTR register asynchronously. Even if this event can trigger an
WKUP interrupt if enabled, the use of an interrupt response routine must be carefully
evaluated because of the long latency due to system clock restart; to have the shorter
latency before re-activating the nominal clock it is suggested to put the resume procedure
just after the end of the suspend one, so its code is immediately executed as soon as the
system clock restarts. To prevent ESD discharges or any other kind of noise from waking-up
the system (the exit from suspend mode is an asynchronous event), a suitable analog filter
on data line status is activated during suspend; the filter width is about 70ns.
The following is a list of actions a resume procedure should address:
1.
2.
3.
Optionally turn on external oscillator and/or device PLL.
Clear FSUSP bit of USB_CNTR register.
If the resume triggering event has to be identified, bits RXDP and RXDM in the
USB_FNR register can be used according to Table 155 , which also lists the intended
software action in all the cases. If required, the end of resume or reset sequence can
be detected monitoring the status of the above mentioned bits by checking when they
reach the “10” configuration, which represent the Idle bus state; moreover at the end of
a reset sequence the RESET bit in USB_ISTR register is set to 1, issuing an interrupt if
enabled, which should be handled as usual.
Table 155. Resume event detection
[RXDP,RXDM] status
“00”
“10”
“01”
Wakeup event
Root reset
None (noise on bus)
Root resume
Required resume software action
None
Go back in Suspend mode
None
“11”
Not allowed (noise on bus) Go back in Suspend mode
Doc ID 13902 Rev 9
525/995
相关PDF资料
MCBTMPM330 BOARD EVAL TOSHIBA TMPM330 SER
MCIMX25WPDKJ KIT DEVELOPMENT WINCE IMX25
MCIMX53-START-R KIT DEVELOPMENT I.MX53
MCM69C432TQ20 IC CAM 1MB 50MHZ 100LQFP
MCP1401T-E/OT IC MOSFET DRVR INV 500MA SOT23-5
MCP1403T-E/MF IC MOSFET DRIVER 4.5A DUAL 8DFN
MCP1406-E/SN IC MOSFET DVR 6A 8SOIC
MCP14628T-E/MF IC MOSFET DVR 2A SYNC BUCK 8-DFN
相关代理商/技术参数
MCBSTM32EXLU 功能描述:开发板和工具包 - ARM EVAL BOARD + ULINK2 FOR STM32F103ZG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32EXLU-ED 制造商:ARM Ltd 功能描述:KEIL STM STM32EXL EVAL BOARD
MCBSTM32EXLUME 功能描述:开发板和工具包 - ARM EVAL BOARD + ULINKME FOR STM32F103ZG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F207IG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200U 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F207IG + ULINK2 RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200UME 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F207IG ULINK-ME RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200UME-ED 制造商:ARM Ltd 功能描述:KEIL STM32F207IG EVAL BOARD
MCBSTM32F400 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F407IG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V