Like several other Atmel core microprocessor devices, the new SAM4L ARM Cortex-M4 based MCU supports SleepWalking. This is a state where you can service interrupts and measure or test outside events while keeping the CPU core in a low-power sleep state.
- Unnecessary wake-ups are one of the main events that cause excessive power consumption. An interrupt wakes the entire system up to check a trivial condition. In most cases the system goes directly back to sleep again. Having the CPU wake to check these repetitive events uses a lot of power. A monitoring example shows how you can use SleepWalking to reduce the power consumption of your system.
Say you are monitoring a temperature sensor. If the value exceeds a threshold, your program should take an action such as turning on the air conditioning. Using a traditional approach, an interrupt would wake the system and the core at regular intervals to check the temperature. Very often the temperature is below the threshold and the program takes no action other than servicing the interrupt. The wake-up was unnecessary. In our case, the system would wake up over and over during winter and the threshold will rarely be exceeded. That means a lot of wasted MCU power. With SleepWalking you set the measurement and testing at the peripheral level. Only when the event is qualified will the rest of the system wake-up.
That is what Atmel calls intelligent peripherals. There is a nice video that shows the SleepWalking concept.