En informática , el funcionamiento autónomo de periféricos es una característica de hardware presente en algunas arquitecturas de microcontroladores para delegar ciertas tareas en periféricos autónomos integrados con el fin de minimizar las latencias y mejorar el rendimiento en aplicaciones de tiempo real estricto , así como para ahorrar energía en diseños de ultrabajo consumo .
Descripción general
Las primeras formas de periféricos autónomos en microcontroladores se introdujeron en la década de 1990. Permitir que los periféricos integrados funcionen independientemente de la CPU e incluso interactúen entre sí de ciertas maneras preconfigurables descarga la comunicación basada en eventos a los periféricos para ayudar a mejorar el rendimiento en tiempo real debido a una menor latencia y permite un rendimiento de datos potencialmente mayor debido al paralelismo añadido. Desde 2009, el esquema se ha mejorado en implementaciones más recientes para continuar funcionando también en modos de suspensión , lo que permite que la CPU (y otros bloques periféricos no afectados) permanezcan inactivos durante períodos de tiempo más largos para ahorrar energía. Esto se debe en parte al mercado emergente del IoT . [ 1 ]
Conceptualmente, el funcionamiento autónomo de los periféricos puede considerarse una generalización y una combinación entre el acceso directo a memoria (DMA) y las interrupciones de hardware . Los periféricos que emiten señales de eventos se denominan generadores o productores de eventos , mientras que los periféricos de destino se denominan usuarios o consumidores de eventos . En algunas implementaciones, los periféricos pueden configurarse para preprocesar los datos entrantes y realizar diversas funciones específicas del periférico, como comparar, aplicar ventanas, filtrar o calcular promedios, directamente en el hardware, sin necesidad de que los datos pasen por la CPU para su procesamiento.
Implementaciones
Entre las implementaciones conocidas se incluyen:
- Controlador de eventos periféricos ( PEC ) en microcontroladores Siemens / Infineon C166 y C167 de 16 bits desde 1990 [ 2 ] [ 3 ] [ 4 ] [ 5 ]
- Periféricos autónomos inteligentes ( unidad de captura y comparación CCU6 ) en la serie Infineon XC800 de microcontroladores de 8 bits compatibles con 8051 desde 2005 [ 6 ]
- Event System (EVSYS) in AtmelAVRXMEGA 8-bit microcontrollers since 2008[7][8]
- Peripheral Event System (PES) with SleepWalking[9] in Atmel (now Microchip Technology) AVR32AT32UC3L 32-bit microcontrollers since 2009[10][11][12]
- Peripheral Reflex System (PRS) in Energy Micro (now Silicon Labs) Gecko EFM32 32-bit ARM-based microcontrollers since 2009[13][14][12]
- IXYS/Zilog ZNEO Z16FMC 16-bit microcontrollers since 2011[15][16]
- Event Link Controller (ELC) in Renesas microcontrollers since 2011
- Programmable Peripheral Interconnect (PPI) in Nordic nRF 32-bit ARM-based microcontrollers since about 2011[17]
- Autonomous peripherals in Infineon XMC 32-bit microcontrollers since 2012[18]
- Data Transfer Manager (DTM) in Silicon LabsPrecision32SiM3L1 32-bit ARM Cortex-M3 microcontrollers since 2012[19][12][20]
- Peripheral Event System (PES) with SleepWalking in Atmel (now Microchip Technology) SAM4L 32-bit ARM Cortex-M4 microcontrollers since 2012[21]
- Power-Smart Peripherals in Freescale (now NXP) Kinetis L 32-bit ARM Cortex-M0+ microcontrollers since 2012[22]
- Event System (EVSYS) with SleepWalking[9] in Atmel (now Microchip Technology) SAMD, SAML and SAMC 32-bit ARM Cortex-M0+ microcontrollers since 2013[23][24]
- Periféricos independientes del núcleo ( CIP ) en Microchip PIC16F [ 25 ] y PIC18F [ 26 ] , así como en microcontroladores Microchip AVR ATtiny de 8 bits desde 2015 [ 27 ] [ 28 ] [ 29 ]
- Matriz de interconexión de periféricos en los microcontroladores basados en ARM STM32 de 32 bits de STMicroelectronics desde 2015 [ 30 ]
- Modo autónomo de bajo consumo en segundo plano ( LPBAM ) en los microcontroladores basados en ARM STM32U5 de 32 bits de STMicroelectronics desde 2021 [ 31 ]
Véase también
- Entrada/salida de canal
- Controlador DMA periférico (PDC)
- Control de reloj , control de reloj periférico autónomo
- Desconexión de energía
- disipación de potencia de la CPU
- Electrónica de bajo consumo
- Arquitectura basada en eventos
- Programación basada en eventos
- Siempre encendido, siempre conectado (AOAC)
- Ethernet de bajo consumo energético (EEE)
- Motor de descarga TCP (TOE)
- Coprocesador
Referencias
- ↑ Pitcher, Graham (28 de enero de 2014). "Cosas dignas de consideración: el Internet de las cosas está impulsando a los desarrolladores de microcontroladores a avanzar en direcciones inesperadas" . New Electronics . págs. 22-23 . Archivado del original el 10 de mayo de 2018. Consultado el 10 de mayo de 2018 .
- ↑ Wolf, Axel (marzo de 1994). "Conectando la arquitectura C166 a CAN (I)" (PDF) . Componentes . Aplicaciones Microcontroladores. Vol. XXIX, n.º 4. Siemens Aktiengesellschaft . págs. 42–44 . Archivado (PDF) del original el 2 de diciembre de 2021. Consultado el 2 de diciembre de 2021 . (3 páginas) (Nota: Ya en 1994 se menciona el término "periféricos autónomos" en relación con el Siemens/Infineon SAB 80C166 . Parte II del artículo:)
- ↑ Manual del usuario - Derivados del C167CR - Microcontrolador de un solo chip de 16 bits (PDF) . 3.1 ( ed. 2000-03). Múnich, Alemania: Infineon Technologies AG . Marzo de 2000 [2000-02, 1999-03, 1996-03, 1994-08, 1992-07]. Archivado (PDF) del original el 27-10-2020 . Consultado el 02-12-2021 .
{{cite book}}:|work=ignored (help) (NB. Discusses an autonomously operating built-in CAN controller and a "Peripheral Event Controller" (PEC).) - ↑CAN Connecting C166 and C500 Microcontroller to CAN(PDF). 1.0. Infineon Technologies AG. February 2004. Application Note AP29000. Archived(PDF) from the original on 2020-10-22. Retrieved 2021-12-02.
{{cite book}}:|work=ignored (help) - ↑Irber, Alfred (Summer 2018) [2016-02-25, 2009-09-25]. Embedded Systems SS2018(PDF). 2.0 (in German). Munich, Germany: FH München - Hochschule für angewandte Wissenschaften, Fakultät für Elektrotechnik und Informationstechnik. pp. 1, 17, 28, 37–40. ES. Archived(PDF) from the original on 2021-12-02. Retrieved 2021-12-02.
- ↑"XC800 Product Presentation - Capture Compare Unit CC6"(PDF). Infineon. May 2006. XC886 CC6 V1. Archived(PDF) from the original on 2018-05-10. Retrieved 2018-05-10.
[…] Drives need realtime performance – control loop must run faster than 2-4 PWM periods (e.g. 100-200us) – CPU performance is valuable and must be saved for key tasks – Question: How to offload the CPU? –Answer: Build intelligent and autonomous peripherals! […] CC6 in a Drive application: – generate PWM patterns for all kind of motors – operate always in a safe state – even in an error condition – interact with ADC for sensorless control of motors […] CC6 is used intensively – the more it works autonomous the more CPU load can be saved for control algorithms […]
- ↑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.
- ↑Bjørnerud, Rune André (2009). Event System Implementations for Microcontroller Circuits. NTNU Open (thesis). Institutt for elektronikk og telekommunikasjon. hdl:11250/2370969. Archived from the original on 2018-04-30. Retrieved 2018-04-29.
- 1 2 Andersen, Michael P.; Culler, David Ethan (25 de agosto de 2014). "Compromisos de diseño de sistemas en una plataforma inalámbrica integrada de próxima generación" (PDF) (Informe técnico). Ingeniería eléctrica y ciencias de la computación, Universidad de California en Berkeley . N.° UCB/EECS-2014-162. Archivado (PDF) del original el 30 de abril de 2018. Recuperado el 30 de abril de 2018 .
- ↑ Perlegos, Helen (22 de junio de 2009). "Atmel presenta el microcontrolador AVR32 que reduce el mejor consumo de energía de la industria en un 63 %" (Comunicado de prensa). Atmel . Archivado del original el 30 de abril de 2018. Consultado el 30 de abril de 2018 .
- ↑ Eieland, Andreas; Krangnes, Espen (28-10-2012). "Mejora de las respuestas de interrupción del MCU Cortex M4 con un sistema inteligente de eventos periféricos" . Atmel Corp. Archivado del original el 30-04-2018 . Recuperado el 30-04-2018 .
- 1 2 3 "Aumentar el rendimiento sin exceder el presupuesto de energía" . Digi-Key . 10 de julio de 2013. Archivado del original el 2 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ Bush, Steve (8 de julio de 2009). "Energy Micro revela más detalles sobre el microcontrolador ARM de bajo consumo" . Electronics Weekly . Archivado del original el 30 de abril de 2018. Consultado el 30 de abril de 2018 .
- ↑ Bush, Steve (21 de octubre de 2009). "Energy Micro detalla su gama EFM32G basada en ARM Cortex M3" . Electronics Weekly . Archivado del original el 30 de abril de 2018. Recuperado el 29 de abril de 2018 .
- ↑ "ZILOG lanza un nuevo sistema en chip MCU de 16 bits para aplicaciones de control de motores" . BusinessWire . 6 de enero de 2011. Archivado del original el 2 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ Coulson, Dave (12 de octubre de 2011). "La necesidad de interoperabilidad periférica autónoma en aplicaciones BLDC sin sensores" . Convergence Promotions LLC. WP002003-0111. Archivado del original el 1 de mayo de 2018. Recuperado el 1 de mayo de 2018 .
- ↑ Elahi, Junaid; Rusten, Joar Olai; Olsen, Lasse; Sundell, Lars (12 de diciembre de 2011). "Interconexión periférica programable" . Nordic Semiconductor ASA . Patente estadounidense US9087051B2 . Consultado el 29 de abril de 2018 .
- ↑ Bauer, Peter; Schäfer, Peter; Zizala, Stephan (23 de enero de 2012). "Una plataforma de microcontroladores. Innumerables soluciones. XMC4000" (PDF) (Presentación). Conferencia de prensa internacional, Am Campeon, Múnich, Alemania: Infineon . Archivado (PDF) del original el 10 de mayo de 2018. Recuperado el 10 de mayo de 2018 .
- ↑ Manners, David (3 de octubre de 2012). "MCU de 32 bits de menor consumo de Si Labs" . Electronics Weekly . Archivado del original el 2 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ Silicon Laboratories . "Tecnología de bajo consumo: los periféricos de microcontroladores amplían los límites del consumo ultrabajo" . Archivado del original el 1 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ Kragnes, Espen; Eieland, Andreas (2012). "Redefining the Power Benchmark" (PDF) (Libro Blanco). Atmel . Archivado (PDF) del original el 1 de mayo de 2018. Recuperado el 1 de mayo de 2018 .
- ↑ "Soluciones de Freescale para el ahorro de energía: MCU de la serie Kinetis L" (PDF) (Documento técnico). Freescale . 2012. Archivado (PDF) del original el 3 de mayo de 2018. Consultado el 3 de mayo de 2018 .
- ^ Riemenschneider, Frank [en alemán] (18 de junio de 2013). "Mikrocontrolador: Neue Cortex-M0+ -Familie von Atmel" (en alemán). elektroniknet.de. Archivado desde el original el 30 de abril de 2018 . Consultado el 29 de abril de 2018 .
- ↑ "Una mirada más cercana al sistema de eventos periféricos de Atmel" . 5 de julio de 2013. Archivado del original el 1 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ Quinnell, Rich (28 de julio de 2015). "8-bit Fights Back with Autonomous Peripherals" . Santa Clara, EE. UU.: EETimes . Archivado del original el 30 de abril de 2018. Consultado el 30 de abril de 2018 .
- ↑ Bush, Steve (31 de octubre de 2016). "Periféricos autónomos para microcontroladores PIC18F" . Electronics Weekly . Archivado del original el 30 de abril de 2018. Consultado el 29 de abril de 2018 .
- ↑ Stroh, Iris (10 de noviembre de 2016). "Tecnología de microchips: ofensiva de 8 bits: AVR" (en alemán). elektroniknet.de. Archivado del original el 30 de abril de 2018. Consultado el 29 de abril de 2018 .
- ↑ Di Jasio, Lucio (5 de mayo de 2015). "Ya no queda nada por inventar en el control embebido, Parte 1" . Archivado del original el 1 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ Di Jasio, Lucio (12 de mayo de 2015). "Ya no queda nada por inventar en el control embebido, Parte 2" . Archivado del original el 1 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ↑ "Interconexiones de periféricos en ST M32F405/7xx, STM32F415/7xx, STM32F42xxx, STM32F43xxx, STM32F446xx y STM32F469/479xx" (PDF) (Nota de aplicación). STMicroelectronics . AN4640. Archivado (PDF) del original el 1 de mayo de 2018. Recuperado el 1 de mayo de 2018 .
- ↑ "Presentamos el STM32U5, el buque insignia de los microcontroladores de ultrabajo consumo" (PDF) . STMicroelectronics International NV . 2021. Archivado (PDF) del original el 17 de diciembre de 2022. Consultado el 29 de enero de 2024 .
- unidad central de procesamiento
- Energía eléctrica
- La electrónica y el medio ambiente
- Optimización electrónica