1 2 3 Previous Next 32 Replies Latest reply on Nov 27, 2019 4:27 PM by ZhengbaoZ_96

    CYW4343W - Power save

    BeOl_4470266

      Hi,

       

      I'm trying to use ping_powersave and measure the current consumption of the CYW4343W. The WiFi connection and ping part works as expected, however I don't see the module going low power, with a minimum current of 20 mA (measurement taken from the CYW4343W only, the STM32 driving it is not taken in account).

       

      I'm using the Sterling-EWB module and evaluation kit.

       

      The following functions are called:

      wiced_init();

      wiced_network_up( WICED_STA_INTERFACE, WICED_USE_EXTERNAL_DHCP_SERVER, NULL );

      wiced_platform_mcu_enable_powersave();

      wiced_wifi_enable_powersave();

      wiced_network_suspend();

       

      Is 20mA expected in this mode? How could I achieve lower power consumption?

       

      Thanks for your help,

      Best regards

      Ben

        • 1. Re: CYW4343W - Power save
          BeOl_4470266

          I have enabled various logs output and can see the following:

           

          Starting WICED Wiced_006.004.000.0061

          Platform LAIRD_EWB initialised

          Started ThreadX v5.8

          WICED_core Initialized

          Initialising NetX v5.10_sp3

          Creating Packet pools

          WWD SDIO interface initializing with US/0

          WLAN MAC Address : C0:EE:40:70:0E:85

          WLAN Firmware    : wl0: May  2 2019 02:39:20 version 7.45.98.83 (r714225 CY) FWID 01-476cc09d

          WLAN CLM         : API: 12.2 Data: 9.10.158 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-05-07 05:05:14

          Init took ~6958 ms

          Joining : my_wifi_ssid

          9682: Event (interface, type, status, reason): WWD_STA_INTERFACE WLC_E_AUTH WLC_E_STATUS_SUCCESS WLC_E_REASON_INITIAL_ASSOC

          9694: Event (interface, type, status, reason): WWD_STA_INTERFACE WLC_E_LINK WLC_E_STATUS_SUCCESS WLC_E_REASON_INITIAL_ASSOC

          9733: Event (interface, type, status, reason): WWD_STA_INTERFACE WLC_E_SET_SSID WLC_E_STATUS_SUCCESS WLC_E_REASON_INITIAL_ASSOC

          10511: Event (interface, type, status, reason): WWD_STA_INTERFACE WLC_E_PSK_SUP WLC_SUP_KEYED WLC_E_SUP_OTHER

          Successfully joined : my_wifi_ssid

          Obtaining IPv4 address via DHCP

          L1321 : dhcp_client_init() : DHCP CLIENT hostname = [WICED IP]

          IPv4 network ready IP: 192.168.3.121

          wiced_network_save_dhcp_state_for_deep_sleep

          Not saving DHCP state; deep sleep disabled

          wiced_network_suspend: 0

          WICED_SUCCESS: 0

          wiced_network_suspend: 0

          The two logs I've put in bold seem suspicious. I tried defining WICED_DEEP_SLEEP_IS_ENABLED( ) to 1 (which is the reason for this log to be printed) but it fails to compile as some functions are not defined, such as wiced_deep_sleep_disable_packet_buffering(). Following this function's prototype (in 43xxx_Wi-Fi/include/wiced_management.h:435) I can read the following in the brief: Currently this is implemented for 4390x platforms only.

           

          Can the CYW4343W go low power while maintaining Wi-Fi connection to an access point? If not, is it in the roadmap to bring support for this module, and when would it be available?

           

          Thanks for your support,

          Best regards,

          Ben

          • 2. Re: CYW4343W - Power save
            ZhengbaoZ_96

            Would you please use the api Wiced_wifi_enable_pwersave_with_throughput () for a test?

            It is PM2 which is different with your setting PM1 .

            By the way did you test the current with a power meter ?   from what i know the current should be in a stable low current base with pulse periodically  .

            • 3. Re: CYW4343W - Power save
              BeOl_4470266

              Hi,

               

              I tried wiced_wifi_enable_powersave_with_throughput(10), but unfortunately the module has the same behavior.

               

              Thanks for confirming it is supported.

               

              I have observed a new behavior yesterday: the low power stage will sometimes be reached, but it will also go away. Please find below several captures, using the same code. Note that I removed the pings from the demo as I just wanted to see the WiFi connection being maintained (behavior was the same with the original demo).

               

              Capture 1

              This is what I see most of the time, the WiFi connection is properly maintained but the lower power is around ~20 mA. This is less than when no low power mode is enabled but too high for our application.

               

              Capture 2

              This is a behavior that happens sometimes, we can see that it would go into low power (A), which is exactly what I need. However it would also go into the stage seen in Capture 1, in a way that seems random at the moment. I don't understand what is the mechanism that makes it go between (A) and (B). I've tried with 3 different Access Points just in case. Also tried with different DTIM configurations as well as different listen interval configurations but it doesn't seem related to this issue.

               

              It feels that the chip might be maintaining some receiving mode after receiving the beacon from the AP, could it make sense? Do you know how I could interact with that if it was the reason?

               

              Thanks for your help,

              Ben

              • 4. Re: CYW4343W - Power save
                BeOl_4470266

                Hi,

                 

                Something else I noticed, as you can see in the logs I've pasted yesterday: wiced_init() is reporting that the init takes around ~7000ms. This function has comments explaining the following:

                Note: init time under 500ms is expected, generally (measured on 43364 SDIO system).

                Init times that are excessively elongated will result in unexpected failures that will generally appear during Wi-FI bus enablement or access.

                That's me having an init 14x longer than expected. Do you know if that could be related to the issue I'm having?

                 

                Thanks,

                Ben

                • 5. Re: CYW4343W - Power save
                  BeOl_4470266

                  I've been looking into the Release Notes for Wiced 6.4. It states the following:

                  CYW943907AEVAL1F:APPS: snip/ ping_powersave app is not entering to low power mode

                   

                  What is the current recommended version of the SDK for the CYW4343W?

                   

                  Thanks,

                  Ben

                  • 6. Re: CYW4343W - Power save
                    ZhengbaoZ_96

                    I just have a check on the ping_powersave app.

                    Would you please have a check on the released pdf WICED-Powersave-App-Note.pdf  in the installed wiced environment ?

                    in chapter: 4.1.1 Custom Low-Power Application 1: ping_powersave

                    some special setting need to be noted:

                    1.  because our default setting is to use the 32-kHZ from mcu , so mcu should not be enable power-save mode, otherwise 32k will stop when mcu is going to powesave mode.

                    In power save mode, the Wi-Fi chip requires a 32-kHz clock input to stay in sync with beacons from the AP. The MCO oscillator is used to provide the necessary 32-kHz clock when the STM32 is in low-power Stop mode.

                    in current 6.4 release it is located at platform_config.h with define:  WICED_USE_WIFI_32K_CLOCK_MCO.

                    so we need to comment the call :    wiced_platform_mcu_enable_powersave();

                     

                    attach my test modification , I can see a obvious difference between ping working and in sleep mode.

                    1 of 1 people found this helpful
                    • 7. Re: CYW4343W - Power save
                      AxLi_1746341

                      ZhengbaoZ_96 wrote:

                       

                      In power save mode, the Wi-Fi chip requires a 32-kHz clock input to stay in sync with beacons from the AP. The MCO oscillator is used to provide the necessary 32-kHz clock when the STM32 is in low-power Stop mode.

                      in current 6.4 release it is located at platform_config.h with define:  WICED_USE_WIFI_32K_CLOCK_MCO.

                      so we need to comment the call :    wiced_platform_mcu_enable_powersave();

                       

                      Do you mean to enable wifi power save on 4343W, need to

                      #define WICED_USE_WIFI_32K_CLOCK_MCO

                      //wiced_platform_mcu_enable_powersave();

                       

                      i.e. MCU powersave and wifi powersave cannot be enabled at the same time on 4343W.

                       

                      But look at wiced_enable_powersave(), it actually calls both wiced_platform_mcu_enable_powersave() and

                      wiced_wifi_enable_powersave().

                      • 8. Re: CYW4343W - Power save
                        ZhengbaoZ_96

                        Hello:

                         

                        Sorry for the confusion,  the explain is here:

                        An STM32 timer may alternately be used to provide a 32-kHz signal using a pulse-width modulated (PWM) output. However, the STM32 cannot use MCU power save mode if a timer is used, since the timer powers down and the 32-kHz clock stops

                        1 of 1 people found this helpful
                        • 9. Re: CYW4343W - Power save
                          BeOl_4470266

                          ZhengbaoZ_96 wrote:

                           

                          Hello:

                           

                          Sorry for the confusion,  the explain is here:

                          An STM32 timer may alternately be used to provide a 32-kHz signal using a pulse-width modulated (PWM) output. However, the STM32 cannot use MCU power save mode if a timer is used, since the timer powers down and the 32-kHz clock stops

                          Hello,

                           

                          I'm not sure I really understand, is it possible to maintain both the CYW4343W and STM32 in low power?

                          attach my test modification , I can see a obvious difference between ping working and in sleep mode.

                          Please find below my result using your test code:

                          Capture 3 (CYW4343W consumption only)

                          DS1Z_QuickPrint11.png

                          I'm still having this 20mA base current consumption which is too high for our application.

                          1. I should see 5.8 µA current consumption between the beacons, is it the results you have using your test example?
                          2. Would you have some details on the mechanism that would lead to having a variable power consumption (please refer to the Capture 2 sent earlier this week)?
                          3. Finally should I be worried by the wiced_init() starting time?

                           

                          Please note that we are still on the evaluation stage of the product to see if it can fit our application, and that the low power results are critical for our product, both on the STM32 and CYW4343W.

                           

                          Thanks for your help,

                          Ben

                          • 10. Re: CYW4343W - Power save
                            ZhengbaoZ_96

                            Hello:

                             

                                  My init time is ~2820ms on my evb board,   seems your board has a longer init time.  And I am testing the whole board consumption , when in sleep the total current is 156mv/10 =16mA with MCU powersave disabled and two leds are working also .   I didn't broke my board to test Vbat only , but I can see a obvious drop of the base current between ping and sleep .  Can you find more evb for the test ?

                            1 of 1 people found this helpful
                            • 11. Re: CYW4343W - Power save
                              BeOl_4470266

                              Hello,

                               

                              Thanks for checking. We've ordered a new evaluation kit in case the first one is faulty. What is the board you are using? I am currently using the Sterling-EWB evaluation kit, which allows to measure the CYW4343W consumption only.

                               

                              Is it possible to maintain both the CYW4343W and STM32 in low power? If yes can you advise?

                               

                              Best regards,

                              Ben

                              • 12. Re: CYW4343W - Power save
                                BeOl_4470266

                                Hello,

                                 

                                Any news regarding this issue? Have you been able to isolate the Cypress CYW4343W current consumption?

                                 

                                Thanks for your help,

                                Best regards,

                                Ben

                                • 13. Re: CYW4343W - Power save
                                  AxLi_1746341

                                  ZhengbaoZ_96 wrote:

                                   

                                  Would you please use the api Wiced_wifi_enable_pwersave_with_throughput () for a test?

                                  It is PM2 which is different with your setting PM1 .

                                  By the way did you test the current with a power meter ?   from what i know the current should be in a stable low current base with pulse periodically  .

                                  Why you suggest using Wiced_wifi_enable_pwersave_with_throughput instead?

                                  What's the criteria to decide using which one?

                                  My understanding is both PM1 and PM2 will go low power while maintaining Wi-Fi connection to an access point.

                                  Is my understanding correct?

                                   

                                  I'm also curious what's the difference between PM1 and PM2.

                                  Which one is more power saving?

                                  1 of 1 people found this helpful
                                  • 14. Re: CYW4343W - Power save
                                    ZhengbaoZ_96

                                    hello:

                                     

                                    I will find one board to check if the Vbat can be isolated for the test.

                                    1 2 3 Previous Next