This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

GPIO Sense Power Consumption?

I have searched here for an answer to this, but cannot find exactly what I am looking for. I am trying to put my Rev3 51822 to sleep and wakeup via GPIO. When I enable GPIO sense, power consumption is increased at least five times. Is this expected? I have tried various drive settings on this line and cannot get the power any lower.

I have seen some mention of higher current consumption, but it is not clear to me if the GPIO sense has a higher current draw. What alternative is there?

This line causes the custom board to consume about 10.5 mW.

	NRF_GPIO->PIN_CNF[27] = (GPIO_PIN_CNF_SENSE_High << GPIO_PIN_CNF_SENSE_Pos)
									| (GPIO_PIN_CNF_DRIVE_D0S1 << GPIO_PIN_CNF_DRIVE_Pos)
									| (GPIO_PIN_CNF_PULL_Pulldown << GPIO_PIN_CNF_PULL_Pos)
									| (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos)
									| (GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos);

If I turn GPIO sense off, the board power consumption is down to 2.64 mW, which is acceptable. This is approximately 200 microamps from 12V.

	 NRF_GPIO->PIN_CNF[27] = (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos)
                                    | (GPIO_PIN_CNF_DRIVE_D0S1 << GPIO_PIN_CNF_DRIVE_Pos)
                                    | (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos)
                                    | (GPIO_PIN_CNF_INPUT_Disconnect << GPIO_PIN_CNF_INPUT_Pos)
                                    | (GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos);
  • If the problem is not in the PAN it is fixed. I have not heard about any problems when entering sleep on CEAA Ex0. Can you check that the reset reason is wake up from GPIO? You can do this by checking NRF_POWER->RESETREAS. Remember that this register is only cleared after a power on reset or a brown out reset, or if you clear it manually. Therefore you should clear it after reading it.

    You may also monitor the gpio sense pin (or the reset pin in case this wakes up the chip) to see if there are any noise triggering the wake up.

Related