6 posts / 0 new
Last post
hrieth
Offline
Last seen:2 years 10 months ago
Joined:2015-12-17 00:27
Power Consumption in Sleep Mode using WFI

Hello,
I'm using DA15480 and found the power consumption for Extended Sleep (1.6uA) and Deep Sleep (550nA). I am looking to keep Timer0 active in Sleep Mode (not Extended or Deep Sleep) and all other peripherals inactive. I am planning on using WFI command and a 1 second timeout on Timer0 as wakeup event. What is the anticipated current consumption of the DA15480 in WFI state (ARM clock stopped) and assuming only Timer0 active (32KHz ext XTAL as input to Timer0)? Using a DMM I am measuring 0.574ma which tells me that the unit is not in WFI Sleep Mode. I'm using Basic Kit connected to Keil. Application is data logging so need to take a quick measurement every 1 second and write to EEPROM then go to Sleep keeping Timer0 active. After logging is complete will do BLE transfer.

This is mode I'm looking for by using WFI;
• Sleep mode: No power gating has been programmed,
the ARM CPU is idle, waiting for an interrupt.
PD_SYS is on. PD_PER and PED_RAD
depending on the programmed enabled value.

Thanks,
HR

Device:
Max44
Offline
Last seen:9 months 2 weeks ago
Joined:2016-02-08 15:58
MT:

MT:

I'm working with HR on this. Would appreciate your input. We're seeing higher than expected current draw going into sleep mode (WFI) on the ARM CPU .... even when switching to a 32kHz clock and turning the 16 MHz crystal off.

Thanks, Max

MT_dialog
Offline
Last seen:2 months 2 weeks ago
Staff
Joined:2015-06-08 11:34
Hi hrieth,

Hi hrieth,

Why you want to use the timer0 in order to track time, and keep the system awake. You can use the kernel timer instead and set your system in extended sleep mode. The kernel timer will awake the system and let you use the sleeping features and since you want to send data every 1 second i think that the kernel timer is best option (granularity about 10ms). Being in just sleep mode means that all system is active and the ARM is idle state thats aint going to save you a serious amount of power. When the 580 is in idle mode with no sleep (extended or deep sleep) the current consumption is about 0.6mA, without the peripheral should be a bit less.

Thanks MT_dialog

hrieth
Offline
Last seen:2 years 10 months ago
Joined:2015-12-17 00:27
OK, that makes sense. I have

OK, that makes sense. I have 32.768KHZ crystal as input for timer0 as I need 1 second accurate ticks (emulating an RTC). Will see if 10ms granularity will be good enough. I am driving an external voltage reference, opamp and a sensor with 3 GPIO pins to help manage system power consumption when not in measurement state. I do need these to be active during the extended sleep mode as measurements are being taken and need to be stable (i.e. can't be switched on/off every 1 second). When I go into extended sleep mode, I understand that the GPIO's will retain their state. Does that mean it can also source the current needed for these devices. In this case only about 30uA is being used between the 3 GPIO's? I couldn't find the output buffer schematic to see how these are sourced. Can you send so I can see what supply is used for sourcing the output?

MT_dialog
Offline
Last seen:2 months 2 weeks ago
Staff
Joined:2015-06-08 11:34
Hi hrieth,

Hi hrieth,

当580年在延长睡眠lat别针ced to the state that the 580 had before going to sleep, but you have to keep the state of your pins since when it will wake up the periph_init() function will run and will configure and reset the pins. The pins when the 580 is at sleep mode are supplied directly from the battery (when in buck and boost mode).

Thanks MT_dialog

hrieth
Offline
Last seen:2 years 10 months ago
Joined:2015-12-17 00:27
Thank you, that's the input I

Thank you, that's the input I was looking for.

Topic locked