cy8cmbr3110 deep sleep current

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
AdSe_2809606
Level 1
Level 1

Hello

I made a average current measurement while the mcu is sleeping and the result was:

Peak to peak: 2.57mA / Average: 783µA / Standard Dev: 873µA / Max: 2.79mA / Min 216µA

I got a lot of spikes in the current graph.

To my set up:

MCU: cy8cmbr3110

Source voltage: 3.3V

All 10 sensor are enabled. The second as guard

I set him to sleep in the register CTRL_CMD(0x86) whit the CMD_OP_CODE 7.

How can I reduce the average current dramatically and why get I such high spikes?

0 Likes
1 Solution

Hi AdSe_2809606​,

Once a deep sleep command is issued, the device will be put to deep sleep mode. ie sensor scanning is stopped and only the I2C block is enabled to look for waking up due to I2C address match. There won't be any transition to any other modes.

Can you please ensure the following:

1. There aren't any I2C address match events occurring from the host side that is causing the device to wake up from deep sleep.

2. Please check if the power supply is stable and if the decoupling capacitors are in place as per recommendations.

3. It looks like your device is waking up from deep sleep during specific intervals. Can you please let us know the period?

4. When the device is in deep sleep mode, none of the buttons are supposed to work. Can you please touch the buttons and check if they are not responsive?

5. Also check for the Host interrupt line and see if there is any interrupt occurring in those lines during deep sleep. Ideally there shouldn't be any such interrupts occurring in deep sleep.

6. Finally, ensure that you have entered the correct opcode 0x07 in the CTRL_CMD (0x86) register.

7. Please check if this issue is occurring with most of the boards or only few boards.

Regards,

Bragadeesh

Regards,
Bragadeesh

View solution in original post

0 Likes
5 Replies
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi AdSe_2809606​,

Whenever the device comes to active mode, the buttons are scanned and the current consumption increases. (This maybe the spikes that you are observing).

When the device goes to sleep mode / look for touch mode/ look for proximity mode, the current consumption decreases.

If possible please share your current waveform so that we can provide our comment on it.

Please refer to the section 7. Low-Power Design Considerations in MBR 3 design guide for information on how to reduce power consumption:

https://www.cypress.com/file/46366/download

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes

Hi
Thanks for your response.

IMG_20190807_094856.jpg

the rectangle is a measurement. Otherwise he should be in sleep mode.

I use the default config and only change this:

REG_SCRATCHPAD0        = MAGIC_WORD;

REG_SENSOR_EN            = 0xFB;

                                            = 0x03;

REG_SPO_CFG                 = 0x11; // enabled as capacitive sensors

REG_CTRL_CMD              = 0x07; //go to sleep

REG_CTRL_CMD              = 0x02; // save config

REG_CTRL_CMD              = 0xFF; //reset device

REG_SENSITIVITY0          = 0x00;

                                            = 0x00;

                                            = 0x00;

REG_DEVICE_CFG2          = 0x0A; // enable guard

0 Likes

Hi AdSe_2809606​,

This is as expected and it is the transition between different modes that appear as spikes in current consumption.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes

Hi BragadeeshV_41,

I set it to sleep with the REG_CTRL_CMD so he should only wait for a I2c address match.

So why should there be a transition between different modes and which modes?

And how can I prevent it from doing so? 

My goal is to get a deep sleep current of 2.5µA, which is advertised in the data sheet.

Redards,

Adrian

0 Likes

Hi AdSe_2809606​,

Once a deep sleep command is issued, the device will be put to deep sleep mode. ie sensor scanning is stopped and only the I2C block is enabled to look for waking up due to I2C address match. There won't be any transition to any other modes.

Can you please ensure the following:

1. There aren't any I2C address match events occurring from the host side that is causing the device to wake up from deep sleep.

2. Please check if the power supply is stable and if the decoupling capacitors are in place as per recommendations.

3. It looks like your device is waking up from deep sleep during specific intervals. Can you please let us know the period?

4. When the device is in deep sleep mode, none of the buttons are supposed to work. Can you please touch the buttons and check if they are not responsive?

5. Also check for the Host interrupt line and see if there is any interrupt occurring in those lines during deep sleep. Ideally there shouldn't be any such interrupts occurring in deep sleep.

6. Finally, ensure that you have entered the correct opcode 0x07 in the CTRL_CMD (0x86) register.

7. Please check if this issue is occurring with most of the boards or only few boards.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes