Improve Cortex M4 MCU interrupt responses with an intelligent Peripheral Event System
In this Product How-To design article, Atmel’s Andreas Eieland and Espen Krangnes describe how they improved interrupt response times and reduced device driver development time for developers of applications using the company’s Cortex M4 MCU based implementation with the use of an intelligent Peripheral Event System previously used on its 8- and 16-bit MCUs.
CPU cycles, energy, and days-to-launch are scarce resources in any embedded development project, but they become even more precious in applications where the microcontroller (MCU) must attend to one or more real-time events.
If the events are too frequent, or too complex, the CPU itself can quickly become a single-point bottleneck that consumes unexpectedly-large quantities of energy, instruction cycles, and programming resources.
These issues are most apparent in battery-powered applications where external interrupts that pull the MCU from its low-power sleep state can shorten operational life.
To solve this perennial dilemma, we’ve developed an advanced MCU architecture (Figure 1) which combines a traditional 8- or 32-bit RISC processor and a Peripheral Event System (PES). The PES is a distributed network of intelligent analog and digital I/O peripheral elements which operates independently of the CPU, traditional busses and the DMA system.
It can be configured to have its peripherals selectively react to external inputs and interact with each other without using any CPU resources, enabling them to autonomously perform complex functions such as data collection, timing, and communication, as well as respond to real-time events.
The PES operates in parallel with the CPU to ensure precisely-timed execution of critical real-time tasks or enter a so-called “SleepWalking” state which extends the PES’s capabilities into the MCU’s sleep domain. During SleepWalking, the PES’s configuration logic selects the peripherals which will continue to function when the MCU enters its low-power sleep state, and the conditions which will cause the peripherals to wake up the system.
The Peripheral Event System’s basic architecture has already been used and tested the Atmel AVR XMEGA series of 8-bit processors and in the 32-bit AVR UC3, allowing the MCU to be used in many applications in which the sensing, control, and communication tasks would normally require a more expensive and power-hungry CPU.
The addition of a PES system and picoPower energy conservation circuitry to Atmel’s SAM4L Cortex M4-based 32-bit MCU family brings powerful real-time capabilities, ultra-low-power operation, and simplified programming to applications such as intelligent sensor nodes, industrial transmitters, sensors and detectors, sport watches and portable healthcare devices, or any other design which requires the processing capabilities of the Cortex M4 and ultra low power consumption.