Author Archives: ekrangnes

Let your Atmel SAM4L MCU do SleepWalking

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.
The SAM4L series integrates Atmel’s proprietary picoPower® technology

The SAM4L series integrates Atmel’s proprietary picoPower® technology

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.

The Peripheral Event System in Atmel’s SAM4L ARM Cortex-M4 based Microcontroller

Atmel’s SAM4L ARM Cortex-M4 based MCU has inherently low current consumption for such a powerful chip. But it also has a Peripheral Event System that allows you to service interrupts or external conditions without waking up the core processor.


Periphereal Event-System for Atmel’s SAM4L Cortex-M4

Keeping your microcontroller unit in sleep mode will reduce system power consumption. Increasing the throughput will reduce the time spent in active mode. Atmel’s Peripheral Event System allows peripherals to communicate directly with each other without involving the CPU (central processing unit). It is a routing network independent of traditional data paths such as system buses. Peripherals can trigger events such as data transfer to another peripheral or the copying of a message directly to the MCU internal memory. All this can happen while the processor is asleep. You spare the CPU from the time-consuming handling of interrupts since the Peripheral Event System is doing these repetitive tasks. This will free up more time for the MCU to handle other tasks in the application, or allow the MCU to remain in sleep mode for a longer time. The Peripheral Event System lowers power consumption and increases performance.

You can read more about conserving power in an Atmel white paper: Redefining the power benchmark.