6 Replies Latest reply on Dec 22, 2019 10:23 PM by BragadeeshV_41

    CY8CMBR3116 start-up/initialization delay




      Currently I'm configuring my MBR3116 over I2C using the API provided by Cypress and using a configuration file generated by EZ-Click 2.0.  After the configuration is written successfully, no matter how long I wait, I have to tap the buttons a few times before button presses are being reported through host interrupt signal.  After they start to be detected, it seems to operate normally.  If I let the keypad sit for X seconds, I have to tap buttons again to get it to behave normally.


      I believe this is "normal," in that it is entering different operational modes (deep sleep to active, touch, or proximity). My question is, what parameters in EZ-Click are affecting how quickly it wakes up?  Some of my current configuration values that I think might be involved are below.


      My custom cap touch keypad is intended to be low-power as it is battery operated.  I would guess my keypad is used once per day, totaling approximately 10 touches in a matter of 2-5 seconds (comparable to how fast you might type in a phone number on your smartphone).  User's will likely tap my cap touch keypad once, and then expect to be able to press buttons ~0.5 second after that.  Right now, after initial touch it takes approx. 2 seconds for keypad to start detecting touches. 


      Current settings in EZ Click:

      Scan period (ms): 200

      Automatic Threshold: Enabled

      ALP, K = 1/16

      SNR for PROX (CS0) = 19:1

      Prox Sensor settings: Resolution: 15 bits; Prox Threshold: 80; +ve Threshold: 36; -ve Threshold: 12; Finger Threshold 150; Wakeup Sensor: Enabled; auto configured settings initial response time and subsequent response time are at 260 and 60 ms respectively.

      Button sensitivities are all set to 300.  SNRs for each are all well above 5:1

      All buttons have FSS enabled

      No sliders/GPO/buzzer

      Uses host interrupt pin

      Shield: Enabled

      Auto-reset: 20s

      Proximity Auto-Reset: 20s

      State Timeout: 5s

      Debounce: 3

      Buttons on CS1, CS3-CS13


      Any help is appreciated.

        • 1. Re: CY8CMBR3116 start-up/initialization delay

          Hi KeLu_4513161,


          The default state of the device is active mode where the device scan every 20 ms (refresh rate). In active mode, the response time is faster. When there is no touch for a specified duration of time, called state transition time (State Timeout Value), it enters look for touch mode. The difference between the look for touch mode and active mode is that the refresh rate is now changed to a configurable value called scan period. Decreasing the scan period will decrease the refresh rate.


          In Ez-Click


          In register TRM,

          Note: Decreasing the scan period will decrease the response time but will increase average power consumption.




          • 2. Re: CY8CMBR3116 start-up/initialization delay

            Thank you.


            That makes sense for the most part. My question is, I can press three buttons as I normally would before it seems to actually switch back into active mode.  My scan time is 200ms and the reported initial wake up time is 260ms, but it seems to take much longer than 260ms to start responding to touches.  Is the reason for this that prox detection isn't as sensitive as it should be?

            • 3. Re: CY8CMBR3116 start-up/initialization delay

              Also, since I have prox sensor with the "wakeup sensor" option enabled, does that mean it'll go into look for prox state instead of look for touch, and that would cause an even longer response time?

              • 4. Re: CY8CMBR3116 start-up/initialization delay

                Hi KeLu_4513161,


                If wake on approach mode is enabled, the following will  be


                The device will be in look for touch mode initially. If it detect a valid touch, it moves to active mode. If it doesn't detect a touch/ proximity event until state time out value, it enters look for proximity mode. In the proximity mode, only the proximity sensor is scanned. In case the hand reaches the proximity distance, a proximity event is triggered and the device state moves to look for touch mode. A valid touch in look for touch mode moves the device to the active mode.


                Check the response of the proximity sensor at the required distance. Enabling filters will also decrease the response time. If your raw counts is not noisy, you can disable the filters as required. To increase the sensitivity of the proximity sensor, you can increase the resolutions to 16 bits (Enable proximity auto reset for robust proximity operation).


                Also you need to note the time taken to scan each button and processing button status into consideration.




                • 5. Re: CY8CMBR3116 start-up/initialization delay

                  Hi BragadeeshV_41,


                  Thanks for your responses so far, I'll keep tuning.  One thing that might be problematic is, the parasitic capacitance of my proximity sensor is 41 pF.  Documentation says its usually between 10-20 pF.  What can I assume from this (disclaimer, I'm software guy, not electrical).  I have a number of buttons between 21-26 pF, and the remaining buttons between 15-20 pF.  Should these numbers worry me at all?

                  • 6. Re: CY8CMBR3116 start-up/initialization delay

                    Hi KeLu_4513161,


                    High Cp of the buttons will lead to high scan time and hence high power consumption. It also leads to lesser sensitivity. The Cp of 21 - 26 pF is not a problem. But you may have to reduce the Cp of the proximity sensor for better sensitivity.


                    1. You can drive the hatch pattern with shield to reduce the Cp of the sensors.

                    2. Please refer to the Layout guidelines in the mbr3 capsense design guide for information on how to reduce the cp of the sensors.