Autonomous peripheral operation
In computing autonomous peripheral operation is a hardware feature found in some modern microcontroller architectures since 2008, especially those tailored for low power consumption. Allowing embedded peripherals to work independently of the CPU and even interact with each other in certain pre-configurable ways off-loads event-driven communication into the peripherals to help improve the real-time performance due to lower latency and allows for potentially higher data throughput due to the added parallelism. Since 2009, the scheme has been improved in newer implementations to continue functioning in sleep modes as well, thereby allowing the CPU to remain dormant for longer periods of time in order to save energy. Conceptually, it can be seen as a generalization of and mixture between direct memory access (DMA) and hardware interrupts. Peripherals that issue event signals are called event generators or producers whereas target peripherals are called event users or consumers. In some implementations, peripherals can be configured to pre-process the incoming data and perform various peripheral-specific functions like comparing, windowing, filtering or averaging in hardware without having to pass the data through the CPU for processing.
Known implementations include:
- Event System (EVSYS) in Atmel AVR XMEGA 8-bit microcontrollers since 2008[1][2]
- Peripheral Event System (PES) with SleepWalking[3] in Atmel AVR32 AT32UC3L 32-bit microcontrollers since 2009[4][5][6]
- Peripheral Reflex System (PRS) in Energy Micro (now Silicon Labs) Gecko EFM32 32-bit ARM-based microcontrollers since 2009[7][8][6]
- IXYS/Zilog ZNEO Z16FMC 16-bit microcontrollers since 2011[9][10]
- Event Link Controller (ELC) in Renesas microcontrollers since 2011
- Programmable Peripheral Interconnect (PPI) in Nordic nRF 32-bit ARM-based microcontrollers since about 2011[11]
- Data Transfer Manager (DTM) in Silicon Labs Precision32 SiM3L1 32-bit ARM Cortex-M3 microcontrollers since 2012[12][6][13]
- Peripheral Event System (PES) with SleepWalking in Atmel (now Microchip) SAM4L 32-bit ARM Cortex-M4 microcontrollers since 2012[14]
- Event System (EVSYS) with SleepWalking[3] in Atmel (now Microchip) SAMD, SAML and SAMC 32-bit ARM Cortex-M0+ microcontrollers since 2013[15][16]
- Core Independent Peripherals (CIP) in Microchip PIC16F[17] and PIC18F[18] as well as Microchip AVR ATtiny 8-bit microcontrollers since 2015[19][20][21]
- Peripherals Interconnect Matrix in STMicroelectronics' STM32 32-bit ARM-based microcontrollers since 2015[22]
See also
- Channel I/O
- Peripheral DMA controller (PDC)
- Clock gating, autonomous peripheral clock gating
- Power gating
- CPU power dissipation
- Low-power electronics
- Event-driven architecture
- Event-driven programming
References
- ^ Faure, Philippe (2008-02-26). "Atmel's AVR XMEGA Redefines System Performance for 8/16-bit Microcontrollers" (Press announcement). Atmel. Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Bjørnerud, Rune André (2009). "Event System Implementations for Microcontroller Circuits". hdl:11250/2370969. Retrieved 2018-04-29.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ a b Andersen, Michael P.; Culler, David Ethan (2014-08-25). "System Design Trade-Offs in a Next-Generation Embedded Wireless Platform" (PDF) (Technical Report). Electrical Engineering and Computer Sciences, University of California at Berkeley. No. UCB/EECS-2014-162. Archived from the original (PDF) on 2018-04-30. Retrieved 2018-04-30.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Perlegos, Helen (2009-06-22). "Atmel Introduces AVR32 Microcontroller Which Lowers Industry's Best Power Consumption by 63%" (Press announcement). Atmel. Archived from the original on 2018-04-30. Retrieved 2018-04-30.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Eieland, Andreas; Krangnes, Espen (2012-10-28). "Improve Cortex M4 MCU interrupt responses with an intelligent Peripheral Event System". Atmel Corp. Archived from the original on 2018-04-30. Retrieved 2018-04-30.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b c "Raising Performance Without Breaking the Power Budget". Digikey. 2013-07-10. Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
:|archive-date=
/|archive-url=
timestamp mismatch; 2018-05-02 suggested (help); Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Bush, Steve (2009-07-08). "Energy Micro reveals more details on power efficient ARM MCU". Electronics Weekly. Archived from the original on 2018-04-30. Retrieved 2018-04-30.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Bush, Steve (2009-10-21). "Energy Micro details its ARM Cortex M3-based EFM32G range". Electronics Weekly. Archived from the original on 2018-04-30. Retrieved 2018-04-29.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "ZILOG Releases New 16-Bit MCU System On A Chip For Motor Control Applications". BusinessWire. 2011-01-06. Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
:|archive-date=
/|archive-url=
timestamp mismatch; 2018-05-02 suggested (help); Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Coulson, Dave (2011-10-12). "The Need for Autonomous Peripheral Interoperation in Sensorless BLDC Applications". Convergence Promotions LLC. Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Elahi, Junaid; Rusten, Joar Olai; Olsen, Lasse; Sundell, Lars (2011-12-12). "Programmable peripheral interconnect". Nordic Semiconductor ASA. US patent US9087051B2. Retrieved 2018-04-29.
- ^ Manners, David (2012-10-03). "Lowest power 32-bit MCUs from Si Labs". Electronics Weekly. Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
:|archive-date=
/|archive-url=
timestamp mismatch; 2018-05-02 suggested (help); Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Silicon Laboratories. "Low Power Technology: Microcontroller Peripherals Push the Boundaries of Ultra-Low-Power". Retrieved 2018-05-01.
{{cite web}}
:|archive-date=
requires|archive-url=
(help); Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Kragnes, Espen; Eieland, Andreas (2012). "Redefining the Power Benchmark" (PDF) (White Paper). Atmel. Archived from the original (PDF) on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Riemenschneider, Frank [in German] (2013-06-18). "Mikrocontroller: Neue Cortex-M0+-Familie von Atmel" (in German). elektroniknet.de. Archived from the original on 2018-04-30. Retrieved 2018-04-29.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "A closer look at Atmel's Peripheral Event System". Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Quinnell, Rich (2015-07-28). "8-bit Fights Back with Autonomous Peripherals". Santa Clara, USA: EETimes. Archived from the original on 2018-04-30. Retrieved 2018-04-30.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Bush, Steve (2016-10-31). "Autonomous peripherals for PIC18F MCUs". Electronics Weekly. Archived from the original on 2018-04-30. Retrieved 2018-04-29.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Stroh, Iris (2016-11-10). "Microchip Technology: 8-Bit-Offensive: AVR" (in German). elektroniknet.de. Archived from the original on 2018-04-30. Retrieved 2018-04-29.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Di Jasio, Lucio (2015-05-05). "There is nothing left to be invented in embedded control, Part 1". Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Di Jasio, Lucio (2015-05-12). "There is nothing left to be invented in embedded control, Part 2". Archived from the original on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "Peripherals interconnections on ST M32F405/7xx, STM32F415/7xx, STM32F42xxx, STM32F43xxx, STM32F446xx and STM32F469/479xx" (PDF) (Application note). STMicroelectronics. AN4640. Archived from the original (PDF) on 2018-05-01. Retrieved 2018-05-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help)