Dma; Usb Reset; Suspend And Resume; Remote Wake-Up - Texas Instruments CC253x User Manual

System-on-chip for 2.4ghz
Table of Contents

Advertisement

www.ti.com

21.8 DMA

DMA should be used to fill the IN endpoint FIFOs and empty the OUT endpoint FIFOs. Using DMA
improves the read and write performance significantly compared to using the CPU. It is therefore highly
recommended to use DMA unless timing is not critical or only a few bytes are to be transferred.
There are no DMA triggers for the USB controller, meaning that DMA transfers must be triggered by
firmware.
Byte-size transfer should be used.

21.9 USB Reset

When reset signaling is detected on the bus, the USBCIF.RSTIF flag is asserted. If USBCIE.RSTIE is
enabled, IRCON2.P2IF is also asserted, and an interrupt request is generated if IEN2.P2IE = 1. The
firmware should take appropriate action when a USB reset occurs. A USB reset should place the device in
the default state, where it only responds to address 0 (the default address). One or more resets normally
take place during the enumeration phase, immediately after the USB cable is connected.
The following actions are performed by the USB controller when a USB reset occurs:
USBADDR is set to 0.
USBINDEX is set to 0.
All endpoint FIFOs are flushed.
USBMAXI, USBCS0, USBCSIL, USBCSIH, USBMAXO, USBCSOL, USBCSOH, USBCNT0, USBCNTL, and
USBCNTH are cleared.
All interrupts, except SOF and suspend, are enabled.
An interrupt request is generated (if IEN2.P2IE = 1 and USBCIE.RSTIE = 1).
Firmware should close all pipes and wait for a new enumeration phase when USB reset is detected.

21.10 Suspend and Resume

The USB controller asserts USBCIF.SUSPENDIF and enters suspend mode when the USB has been
continuously idle for 3 ms, provided that USBPOW.SUSPEND_EN =
1. IRCON2.P2IF is asserted if USBCIE.SUSPENDIE is enabled, and an interrupt request is
generated if IEN2.P2IE = 1.
While in suspend mode, only limited current can be sourced from the USB. See the USB 2.0 Specification
[3] for details about this. To be able to meet the suspend-current requirement, the device should be taken
down to PM1 when suspend is detected. The device should not enter PM2 or PM3, because this resets
the USB controller. Before entering PM1, the 48-MHz USB PLL must be turned off. This is done by setting
USBCTRL.PLL_EN to 0 and waiting for USBCTRL.PLL_LOCKED to be cleared.
Any valid nonidle signaling on the USB causes USBCIF.RESUMEIF to be asserted and an interrupt
request to be generated, and wakes up the system if the USB resume interrupt is enabled.
When the system wakes up (enters active mode) from suspend, no USB registers except USBCTRL can
be accessed before the 48-MHz USB PLL has been activated. This is done by setting USBCTRL.PLL_EN
to 1 and waiting until USBCTRL.PLL_LOCKED is set.
A USB reset also wakes up the system from suspend. A USB resume interrupt request is generated if the
interrupt is enabled, but the USBCIF.RSTIF interrupt flag is set instead of the USBCIF.RESUMEIF
interrupt flag.

21.11 Remote Wake-Up

The USB controller can resume from suspend by signaling resume to the USB hub. Resume is performed
by setting USBPOW.RESUME to 1 for approximately 10 ms. According to the USB 2.0 Specification [3],
the resume signaling must be present for at least 1 ms and no more than 15 ms. It is, however,
recommended to keep the resume signaling for approximately 10 ms. Notice that support for remote
wakeup must be declared in the USB descriptor, and that the USB host must grant the device the privilege
to perform remote wakeup (through a SET_FEATURE request).
SWRU191F – April 2009 – Revised April 2014
Submit Documentation Feedback
Copyright © 2009–2014, Texas Instruments Incorporated
DMA
189
USB Controller

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents