PSoC® 4 and PRoC™ BLE Low Power Consideration – KBA224070

Version 1

    Version: **

     

    Question:

    What are the key steps to achieve Deep Sleep mode for PSoC 4 BLE?

     

    Answer:

    Follow these steps to configure the PSoC 4 BLE device to Deep Sleep mode:

    1. Set the “Debug Select” in “System” from “SWD” to “GPIO”.
      Image-1.jpg
    2. During BLE connection or advertising interval, the system can go to Deep Sleep mode. In this situation, you must enable the Low Power mode in the BLE component.
      Image-2.jpg
    3. Select the WCO for the low frequency clocks (LFCLK).
      Image-3.jpg
    4. Call the API CyBle_EnterLPM(CYBLE_BLESS_DEEPSLEEP) in the main function’s while(1) loop. This API puts the BLE subsystem (BLESS) into Deep Sleep mode. The BLE stack will check if BLESS can be put into Deep Sleep mode. If yes, the BLESS state will be set to CYBLE_BLESS_STATE_DEEPSLEEP or CYBLE_BLESS_STATE_ECO_ON.
    5. Check if the BLESS state is in Deep Sleep mode in the main function’s while(1). If yes, check if the application can be set to Deep Sleep mode. If yes, then put the chip into Deep Sleep mode by calling the following API: CyBle_EnterLPM(CYBLE_BLESS_DEEPSLEEP).
    6. Before the chip goes to Deep Sleep mode, set the I/O to Analog High-Z mode to avoid leakage current and put the components such as SPI / I 2C into sleep by calling the Component_Sleep() API.
    7. After wake-up, set the I/O to the desired mode and call the Component_Wakeup() API.
      Refer to AN92584 for low power details and demo project.

    BLE connection or advertising interval, the system can go to Deep Sleep mode. In this situation, you must enable the Low Power mode in the BLE component.