Storing data while sleeping

Thread Starter

puzzle

Joined Oct 30, 2016
53
Hi all,

I'm wondering weather there is a way to keep storing data anywhere (on ram or onto other memory hw) while the mcu is sleeping ? Im asking that because Its really important for me to keep loging data but I can't keep the mcu alive all time because of battery issuing... My idie is to store data somehow anywhere (where?) all the time and waking up every X min/sec/hours in order to check the data...

Thanks
 

AlbertHall

Joined Jun 4, 2014
12,346
Where is the data coming from? If the mcu is asleep then it isn't going to be organising any data collection. What is possible may depend on which mcu you are using.

You could have an interrupt triggered when data is ready to wake the mcu, collect and store the data, then go back to sleep so the wake time is a minimum.
 

spinnaker

Joined Oct 29, 2009
7,830
Hi all,

I'm wondering weather there is a way to keep storing data anywhere (on ram or onto other memory hw) while the mcu is sleeping ? Im asking that because Its really important for me to keep loging data but I can't keep the mcu alive all time because of battery issuing... My idie is to store data somehow anywhere (where?) all the time and waking up every X min/sec/hours in order to check the data...

Thanks

Any modern MCU is going to keep its data while sleeping just as long as there is not a power failure during sleep.


Why do you need to check the data? It isn't going to get updated with the mcu sleeping. Unless of course it is external memory shared with another mcu.
 

WBahn

Joined Mar 31, 2012
30,060
You would probably need to design a very stripped down system that worked as part of the data generating subsystem to put data into a suitable memory and then have the MCU take control of the buses when it needs to access the data.
 

RichardO

Joined May 4, 2013
2,270
This series of controllers has peripherals that can remain operating even if the CPU is asleep:
"Silicon Labs' EFM32™ ARM® Cortex®-M 32-bit microcontrollers (MCUs) are packed with peripherals built for low energy operation. Without sacrificing performance, the low power peripherals deliver high throughput and performance, all made possible with the use of innovative control techniques and a Peripheral Reflex System (PRS). Peripherals can react and respond to input from external or internal triggers without any CPU intervention. In combination with the direct memory access (DMA) controller, the PRS-enabled EFM32 systems benefit from an autonomous behavior resulting in reduced latency and energy consumption."

More here:
http://www.silabs.com/products/mcu/32-bit/efm32-peripherals
 

Thread Starter

puzzle

Joined Oct 30, 2016
53
Where is the data coming from? If the mcu is asleep then it isn't going to be organizing any data collection. What is possible may depend on which mcu you are using.

You could have an interrupt triggered when data is ready to wake the mcu, collect and store the data, then go back to sleep so the wake time is a minimum.
This data is coming from a sensor which is transmitting the data by a transceiver to a far away board. I don't want the mcu will wake up from every data received cause I must save the battery board. The purpose is let the mcu stay asleep while collecting data somehow and waking up every X time in order to check the data received (if received) and to handle it...
 

Thread Starter

puzzle

Joined Oct 30, 2016
53
Any modern MCU is going to keep its data while sleeping just as long as there is not a power failure during sleep.


Why do you need to check the data? It isn't going to get updated with the mcu sleeping. Unless of course it is external memory shared with another mcu.
If I wasn't clear enough, I want to collect a data somehow while the mcu is sleeping ...
I want to check the data received in order to manipulate it if necessary...
 

Thread Starter

puzzle

Joined Oct 30, 2016
53
You would probably need to design a very stripped down system that worked as part of the data generating subsystem to put data into a suitable memory and then have the MCU take control of the buses when it needs to access the data.
OK, and How do I design such a very stripped down system ? I am a newbie and I'm looking for your experience to help me design such a system. Note that saving the battery is very important for me so I need that the mcu will stay sleeping while I'm somehow collecting data into a memory
 

spinnaker

Joined Oct 29, 2009
7,830
This data is coming from a sensor which is transmitting the data by a transceiver to a far away board. I don't want the mcu will wake up from every data received cause I must save the battery board. The purpose is let the mcu stay asleep while collecting data somehow and waking up every X time in order to check the data received (if received) and to handle it...
If I wasn't clear enough, I want to collect a data somehow while the mcu is sleeping ...
I want to check the data received in order to manipulate it if necessary...
How do you plan on getting the data from the sensor into the memory? This is going to require some kind of outside circuitry that will need to be powered anyway.

The project will be far, far easier to do with a single CPU. If you pick the right ship and operate at a low enough frequency, I think you will be surprised how little your mcu will consume. Unless you are highly skilled at low power applications, it is doubtful you are going to be able to surpass the design engineers at a place like Microchip.
 

Thread Starter

puzzle

Joined Oct 30, 2016
53
This series of controllers has peripherals that can remain operating even if the CPU is asleep:
"Silicon Labs' EFM32™ ARM® Cortex®-M 32-bit microcontrollers (MCUs) are packed with peripherals built for low energy operation. Without sacrificing performance, the low power peripherals deliver high throughput and performance, all made possible with the use of innovative control techniques and a Peripheral Reflex System (PRS). Peripherals can react and respond to input from external or internal triggers without any CPU intervention. In combination with the direct memory access (DMA) controller, the PRS-enabled EFM32 systems benefit from an autonomous behavior resulting in reduced latency and energy consumption."

More here:
http://www.silabs.com/products/mcu/32-bit/efm32-peripherals
This series of controllers has peripherals that can remain operating even if the CPU is asleep:
"Silicon Labs' EFM32™ ARM® Cortex®-M 32-bit microcontrollers (MCUs) are packed with peripherals built for low energy operation. Without sacrificing performance, the low power peripherals deliver high throughput and performance, all made possible with the use of innovative control techniques and a Peripheral Reflex System (PRS). Peripherals can react and respond to input from external or internal triggers without any CPU intervention. In combination with the direct memory access (DMA) controller, the PRS-enabled EFM32 systems benefit from an autonomous behavior resulting in reduced latency and energy consumption."

More here:
http://www.silabs.com/products/mcu/32-bit/efm32-peripherals
thanks ! I will check this out
 

Thread Starter

puzzle

Joined Oct 30, 2016
53
How do you plan on getting the data from the sensor into the memory? This is going to require some kind of outside circuitry that will need to be powered anyway.

The project will be far, far easier to do with a single CPU. If you pick the right ship and operate at a low enough frequency, I think you will be surprised how little your mcu will consume. Unless you are highly skilled at low power applications, it is doubtful you are going to be able to surpass the design engineers at a place like Microchip.

I want to use a single CPU ! The question is : if there is a mcu which can operate a peripheral (I don't know which one, you tell me, maybe a DMA) , while still sleeping (in order to save energy), which will store the data in the a memory in order that the mcu will wake up at a constant time and transmit this data to a far unit base.
 

crutschow

Joined Mar 14, 2008
34,450
What is the battery capacity and how long do you need it to operate from that battery?
How much data and how fast is it being generated that you need to store?
We need that information in order to make proper recommendations.

You are not likely to find something that will perform any memory operations while sleeping.

Edit: Perhaps a low power microprocessor such as one of these would keep the power within desired limits.
Such models have the ability to change the clock speed under software control so it can be operated at a low frequency, to use only microwatts of power when storing the data if the data rate is not high, and then increase the clock speed, if necessary, only when the data is transmitted or otherwise processed.
 
Last edited:
Top