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 ]
- Sistema de eventos ( EVSYS ) en microcontroladores Atmel AVR XMEGA de 8 bits desde 2008 [ 7 ] [ 8 ]
- Sistema de eventos periféricos ( PES ) con sonambulismo [ 9 ] en microcontroladores de 32 bits AVR32 AT32UC3L de Atmel (ahora Microchip Technology ) desde 2009 [ 10 ] [ 11 ] [ 12 ]
- Sistema de reflejo periférico ( PRS ) en microcontroladores basados en ARM de 32 bits Gecko EFM32 de Energy Micro (ahora Silicon Labs ) desde 2009 [ 13 ] [ 14 ] [ 12 ]
- Microcontroladores de 16 bits IXYS / Zilog ZNEO Z16FMC desde 2011 [ 15 ] [ 16 ]
- Controlador de enlace de eventos ( ELC ) en microcontroladores Renesas desde 2011
- Interconexión periférica programable ( PPI ) en microcontroladores Nordic nRF de 32 bits basados en ARM desde aproximadamente 2011 [ 17 ]
- Periféricos autónomos en microcontroladores Infineon XMC de 32 bits desde 2012 [ 18 ]
- Administrador de transferencia de datos ( DTM ) en microcontroladores ARM Cortex-M3 de 32 bits Precision32 SiM3L1 de Silicon Labs desde 2012 [ 19 ] [ 12 ] [ 20 ]
- Sistema de eventos periféricos ( PES ) con sonambulismo en microcontroladores SAM4L ARM Cortex-M4 de 32 bits de Atmel (ahora Microchip Technology) desde 2012 [ 21 ]
- Periféricos de bajo consumo en los microcontroladores Kinetis L de 32 bits ARM Cortex-M0+ de Freescale (ahora NXP ) desde 2012 [ 22 ]
- Sistema de eventos ( EVSYS ) con sonambulismo [ 9 ] en microcontroladores SAMD , SAML y SAMC de 32 bits ARM Cortex-M0+ de Atmel (ahora Microchip Technology) desde 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=ignorado ( ayuda ) (Nota: Se analiza un controlador CAN integrado de funcionamiento autónomo y un "Controlador de Eventos Periféricos" (PEC).) - ↑ Conexión CAN de los microcontroladores C166 y C500 a CAN (PDF) . 1.0. Infineon Technologies AG . Febrero de 2004. Nota de aplicación AP29000. Archivado (PDF) del original el 22 de octubre de 2020. Consultado el 2 de diciembre de 2021 .
{{cite book}}:|work=ignorado ( ayuda ) - ^ Irber, Alfred (verano de 2018) [25 de febrero de 2016, 25 de septiembre de 2009]. Sistemas integrados SS2018 (PDF) . 2.0 (en alemán). Múnich, Alemania: FH München - Hochschule für angewandte Wissenschaften, Fakultät für Elektrotechnik und Informationstechnik. págs. 1, 17, 28, 37– 40. ES. Archivado (PDF) desde el original el 2 de diciembre de 2021 . Consultado el 2 de diciembre de 2021 .
- ↑ "Presentación del producto XC800 - Unidad de captura y comparación CC6" (PDF) . Infineon . Mayo de 2006. XC886 CC6 V1. Archivado (PDF) del original el 10 de mayo de 2018. Recuperado el 10 de mayo de 2018.
[…] Los variadores necesitan rendimiento en tiempo real: el bucle de control debe ejecutarse más rápido que 2-4 períodos PWM (por ejemplo, 100-200 µs). El rendimiento de la CPU es valioso y debe reservarse para tareas clave. Pregunta: ¿Cómo descargar la CPU? Respuesta: ¡Construya periféricos inteligentes y autónomos! […] CC6 en una aplicación de variador: genera patrones PWM para todo tipo de motores, opera siempre en un estado seguro, incluso en caso de error, interactúa con el ADC para el control sin sensores de los motores. […] El CC6 se utiliza intensivamente: cuanto más autónomo funcione, más carga de CPU se podrá ahorrar para los algoritmos de control. […]
- ↑ Faure, Philippe (26 de febrero de 2008). "El AVR XMEGA de Atmel redefine el rendimiento del sistema para microcontroladores de 8/16 bits" (Comunicado de prensa). Atmel . Archivado del original el 1 de mayo de 2018. Consultado el 1 de mayo de 2018 .
- ^ Bjørnerud, Rune André (2009). Implementaciones de sistemas de eventos para circuitos de microcontroladores . NTNU Abierto (tesis). Instituto de electrónica y telecomunicación. hdl : 11250/2370969 . Archivado desde el original el 30 de abril de 2018 . Consultado el 29 de abril de 2018 .
- 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