This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

3200的待机功能及网络唤醒功能

Other Parts Discussed in Thread: CC3200

您好!

   3200的待机功能及网络唤醒功能,是如何实现的?有没有相关的demo?谢谢

  • CC3200的低功耗模式很多,可以参考如下例程

    CC32xx Sleep-DeepSleep Application
    Overview
    Sleep and DeepSleep are two of the low power modes supported by the CC3200 device. There are various options
    available to select the module to be active during a low power mode by appropriately configuring the designated
    registers of the PRCM module and thereby causing an exit from the low power mode based on activity on the chosen
    active module. The clock to the other modules, that are not chosen to be active, get disabled. The clock is also halved
    in case of DeepSleep mode.
    The various modules that can be clock gated (enabled/disabled) are:
    1. Camera
    2. McASP
    3. MMCHS
    4. McSPI
    5. uDMA
    6. GPIOs
    7. WatchDOG
    8. UART
    9. GPT
    10. Crypto
    11. I2C
    Also activity on the WiFi network triggered by the NWP can also be chosen as a cause for the wakeup.
    Application details
    The objective of this application is to showcase the sleep and deepsleep power modes supported by the CC3200
    device using two of the modules.
    The modules chosen in this example are:
    1. WatchDog Timer based Sleep and DeepSleep
    2. General Purpose Timer (GPT) based Sleep and DeepSleep
    The device enters the low power modes (sleep/deepsleep) on executing the wifi instructions. Also there are some
    pre-requisite settings to be performed before the device enters the low power modes.
    Source Files briefly explained
    1. gpt_if - APIs to configure the GPT as a one shot timer with specified timeout.
    2. pinmux - Pinmux configurations as required by the application.
    3. main - Main file that showcases the sleep and deepsleep functionality using the WDT and GPT modules by
    invoking the corresponding APIs.
    4. uart_if - To display status information over the UART
    5. wdt_if - Setup the watchdog timer with the timeout value.
    CC32xx Sleep-DeepSleep Application 2
    Usage
    Note: It is recommended that the application be tested by flashing the .bin file onto the serial flash on LaunchPad
    only. The IAR and CCS debuggers will disconnect on entering low power modes and cannot be used for subsequent
    debug.
    • Setup a serial communication application (HyperTerminal/TeraTerm). For detail info visit Terminal setup
    On the host PC. The settings are:
    - Port: enumerated COM port
    - Baud rate: 115200
    - Data: 8 bit
    - Parity: None
    - Stop: 1 bit
    - Flow control: None
    • Run the reference application (Flashing the bin/IAR/CCS).
    • Observe the status messages on the host over serial port to understand the sequence of operations performed by
    the application.
    Terminal snapshot when application runs on device:

    CC32xx Hibernate Application
    Overview
    User application can enter “Hibernate (HIB)” by calling the
    PRCMHibernateEnter() api. This api disables power to all modules
    except the HIB module and the clocks operates at 32KHz. The HIB
    module supports an RTC timer that can be enabled to be active and
    free running throughout the Active-HIB cycles once started. On
    entering HIB, the system can be woken up based on one of the following wakeup sources selected: • Wake Timer •
    GPIO In this mode, most of the system is shutdown (including network processors) and only the HIB module is
    active. The HIB module has 2 32-bit registers that can be used to save any information across HIB entry-exit cycles.
    The code execution commences from the reset vector.
    Application details
    The objective of this application is to showcase the hibernate as a power saving tool in a networking context (in this
    case a UDP client). In this example the device wakes up periodically from hibernate and broadcasts a message and
    then enters hibernate again.
    Source Files briefly explained
    • network_if - Common functions to handle connection to AP and FreeRTOS hook functions.
    • main - Core UDP braodcast implementation. On entry to main a check is done to check the wakeup cause (power
    on or HIB).
    • gpio_if - Basic GPIO interface APIs.
    • pinmux - Assigns a personality to the pins at the device boundary.
    • uart_if - To display status information over the UART.
    • timer_if - To handle timer for LED blinking.
    • startup_* - Tool specific vector table implementation.
    Usage
    Note: It is recommended that the application be tested by flashing the .bin file onto the serial flash on LaunchPad
    only. The IAR and CCS debuggers will disconnect on entering low power modes and cannot be used for subsequent
    debug.
    • Setup a serial communication application (HyperTerminal/TeraTerm). For detail info visit CC31xx & CC32xx
    Terminal Setting
    On the host PC. The settings are:
    - Port: Enumerated COM port
    - Baud rate: 115200
    - Data: 8 bit
    - Parity: None
    - Stop: 1 bit
    - Flow control: None
    • Run the reference application (Flashing the bin).
    CC32xx Hibernate Application 2
    • If running from IDE then it'll disconnect from device while device goes to hibernate.
    • Observe the status messages on the host over serial port to understand the sequence of operations performed by
    the application.
    • The application tries to connect to AP by name DemoAP by default. In case this fails, the user is prompted to
    enter the AP name (Security type OPEN) to connect to on HyperTerminal/TeraTerm.
    • An external application listening on UDP broadcasts will be able to receive the messages broadcast. The
    broadcast happens on port number 5001.
    Terminal snapshot when application runs on device:
    Limitations/Known Issues
    The HIBernation has a known issue. The chip resets after waking up from Hibernation when the Top die Flash is
    powered by internal DC-DC. A soultion to this problem is to power the Top Die Flash from an external 3.3V supply.