1 Reply Latest reply on Jan 9, 2020 7:55 AM by BragadeeshV_41

    Improving power consumption on CY8CMBR3116


      EDIT: I am now noticing that, if I turn the shield off, disable all my buttons, and leave my proximity sensor enabled, the Cp of my Proximity sensor jumps up to 65 pF.  I found that my buttons also shift to mid 30s pF when the shield is disabled as well.  If I wanted to remove the shield, would I have to cut the trace?


      EDIT #2: Removing the shield by opening the trace did not help.  That being said, I don't think allowing the user to enable/disable shield is an option--instead it would have to be two different designs, therefore two different products (I think?).


      I have a CY8CMBR3116 on my custom board, and I have it configured with 12 button sensors and 1 proximity sensor.  Below are screenshots of my configuration:





      With this configuration, after the State timeout period expires, I can see every 120ms that I'm consuming approximately 2.4 mA for about 6.6 ms.  That is not what I was expecting.



      If I disable the shield and disable all of my buttons, and only leave the proximity sensor enabled, I see something more along the lines of what I'm expecting.  ~2.4 mA over 400 us:


      If I enable the shield, and keep all of my buttons disabled, and only leave the proximity sensor enabled, I see ~2.4 mA over 6.3 ms:


      Lastly, if I disable the shield, and start enabling buttons, the time consuming power increases as the number of buttons enabled increases.  This is a screenshot if I enable 6 buttons, enable proximity sensor, and disable shield (~2.4 mA across 5.5 ms):



      So what I'm understanding is, there is no way around reducing the amount of time it takes the CY8CMBR3116 to scan for events if the Shield is enabled.  Is this correct?


      My second question is, let's assume I can make it a user setting to turn on/off the shield to extend battery life, what can I do to reduce the amount of time the CY8CMBR3116 need to scan for an event (I don't mean the scan period)? My proximity sensor is designed in a way that a proximity event would always occur before a button touch occurred.  I would think that if we are in the "Look-for-Proximity" state, that only the Proximity sensor would be scanned, and I would see the 400 us scan period, however, the scan period changes for every button that is enabled/disabled and I'm not sure why this is.  Why would each individual button be getting scanned for a touch if I don't care about button touches/look-for-touch until a proximity event occurred?


      Are there settings I can adjust to achieve said power consumption?


      Thank you in advance!

        • 1. Re: Improving power consumption on CY8CMBR3116

          Hi KeLu_4513161,


          The shield is enabled to help reduce the Cp of the sensors. That is why you are observing high Cp when the shield is disabled. Basically, the shield will be driven by the same potential as that of the sensor being scanned to make sure that the electric field lines do not find a near ground path (which leads to reduced Cp). Shield will also help is reducing the effect of grounded conductive object under the sensor by the same reason mentioned above.


          When the wake on approach is used only the prox sensor will be scanned. All the other sensors would be disabled. The state will move to look for touch mode from the proximity mode if a valid proximity event occurs. When the shield is disabled, the proximity sensor Cp jumps to around 65 pF. When this happens, the proximity sensor will be disabled. This is because , smartSense algo in MBR3 supports only upto 45 pF. If Cp goes beyond that sensor scanning will be disabled. I believe this is what you are observing at your end. To confirm this, disable shield , enable only proximity and probe the sensor pin and check if you are observing charging and discharging waveform. If you do not observing anything, then most probably your sensor is disabled.


          65pF for a prox sensor looks like a very huge number. Could you please let us know the dimensions of the proximity loop? If possible you can try to reduce this number by having short traces and using shield.  Are you using a flex PCB or FR4 standard PCB?


          Scan time of each sensor depends on the sensitivity settings and Cp in case of buttons and will depend on resolution and Cp in case of proximity sensor. You can reduce the power consumption by reducing these values. Power consumption can also be reduced by increasing the ScanPeriod (refresh rate) but this will affect the responsiveness.


          You can also decrease power consumption by decreasing the state timeout value.