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);
Parents
  • 1mA on 12V sounds like around 3.5mA on 3.3V which is close to the CPU run current. It is hard for me to know what may be the cause for this since I don't have the code, but I would guess you are waking up from sleep immidiately when you try to go to system OFF. Another possible soultion is that you run into an error condition and the system does a soft reset. Do you know why the reset reason had soft reset? Do you do any soft reset (NVIC_SystemReset()) in your code?

Reply
  • 1mA on 12V sounds like around 3.5mA on 3.3V which is close to the CPU run current. It is hard for me to know what may be the cause for this since I don't have the code, but I would guess you are waking up from sleep immidiately when you try to go to system OFF. Another possible soultion is that you run into an error condition and the system does a soft reset. Do you know why the reset reason had soft reset? Do you do any soft reset (NVIC_SystemReset()) in your code?

Children
No Data
Related