En informática, la operación de periféricos autónomos es una característica de hardware que se encuentra en algunas arquitecturas modernas de microcontroladores para descargar ciertas tareas en periféricos autónomos integrados con el fin de minimizar las latencias y mejorar el rendimiento en aplicaciones duras en tiempo real, así como para ahorrar energía en condiciones ultra bajas. -Diseños de potencia .
Descripción general
Las formas de periféricos autónomos en microcontroladores se introdujeron por primera vez alrededor de 2005. Permitir que los periféricos integrados funcionen independientemente de la CPU e incluso interactúen entre sí de ciertas formas preconfigurables descarga la comunicación basada en eventos en los periféricos para ayudar a mejorar el tiempo real rendimiento debido a una latencia más baja y permite un rendimiento de datos potencialmente mayor debido al paralelismo agregado. Desde 2009, el esquema se ha mejorado en implementaciones más nuevas para continuar funcionando también en modos de suspensión , lo que permite que la CPU permanezca inactiva durante períodos de tiempo más largos para ahorrar energía. Esto está parcialmente impulsado por el mercado de IoT . [1]
Conceptualmente, la operación periférica autónoma puede verse como una generalización y una mezcla entre el acceso directo a la 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 se pueden configurar para preprocesar los datos entrantes y realizar varias funciones específicas de los periféricos como comparar, crear ventanas, filtrar o promediar en hardware sin tener que pasar los datos a través de la CPU para su procesamiento.
Implementaciones
Las implementaciones conocidas incluyen:
- Periféricos autónomos inteligentes (unidad de captura / comparación CCU6 ) en la serie Infineon XC800 de microcontroladores de 8 bits compatibles con 8051 desde 2005 [2]
- Sistema de eventos ( EVSYS ) en microcontroladores Atmel AVR XMEGA de 8 bits desde 2008 [3] [4]
- Sistema de eventos periféricos ( PES ) con SleepWalking [5] en Atmel (ahora tecnología Microchip ) AVR32 AT32UC3L Microcontroladores de 32 bits desde 2009 [6] [7] [8]
- Peripheral Reflex System ( PRS ) en Energy Micro (ahora Silicon Labs ) Microcontroladores basados en ARM Gecko EFM32 de 32 bits desde 2009 [9] [10] [8]
- Microcontroladores IXYS / Zilog ZNEO Z16FMC de 16 bits desde 2011 [11] [12]
- Event Link Controller ( 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 [13]
- Periféricos autónomos en microcontroladores Infineon XMC de 32 bits desde 2012 [14]
- Administrador de transferencia de datos ( DTM ) en microcontroladores ARM Cortex-M3 de Silicon Labs Precision32 SiM3L1 de 32 bits desde 2012 [15] [8] [16]
- Sistema de eventos periféricos ( PES ) con SleepWalking en Atmel (ahora tecnología Microchip) Microcontroladores ARM Cortex-M4 de 32 bits SAM4L desde 2012 [17]
- Periféricos Power-Smart en los microcontroladores Kinetis L de 32 bits ARM Cortex-M0 + de Freescale (ahora NXP ) desde 2012 [18]
- Event System ( EVSYS ) con SleepWalking [5] en Atmel (ahora Microchip Technology) Microcontroladores SAMD , SAML y SAMC de 32 bits ARM Cortex-M0 + desde 2013 [19] [20]
- Periféricos Core Independent ( CIP ) en Microchip PIC16F [21] y PIC18F [22] , así como microcontroladores Microchip AVR ATtiny de 8 bits desde 2015 [23] [24] [25]
- Periféricos Interconnect Matrix en STMicroelectronics ' STM32 microcontroladores basados en ARM de 32 bits desde 2015 [26]
Ver también
- E / S de canal
- Controlador DMA periférico (PDC)
- Clock gating , autónoma clock gating periférica
- Puerta de poder
- Disipación de potencia de la CPU
- Electrónica de baja potencia
- Arquitectura impulsada por eventos
- Programación impulsada por eventos
Referencias
- ↑ Lanzador, Graham (28 de enero de 2014). "Cosas dignas de consideración: Internet de las cosas está empujando a los desarrolladores de microcontroladores a moverse en direcciones inesperadas" . Electrónica nueva . págs. 22-23. Archivado desde el original el 10 de mayo de 2018 . Consultado el 10 de mayo de 2018 . [1]
- ^ "Presentación del producto XC800 - Unidad de comparación de captura CC6" (PDF) . Infineon . Mayo de 2006. XC886 CC6 V1. Archivado (PDF) desde el original el 10 de mayo de 2018 . Consultado el 10 de mayo de 2018 .
[…] Las unidades necesitan rendimiento en tiempo real - el bucle de control debe ejecutarse más rápido que 2-4 períodos PWM (por ejemplo, 100-200us) - El rendimiento de la CPU es valioso y debe guardarse para tareas clave - Pregunta: ¿Cómo descargar la CPU? –Respuesta: ¡Construya periféricos inteligentes y autónomos! […] CC6 en una aplicación de accionamiento: - generar patrones PWM para todo tipo de motores - operar siempre en un estado seguro - incluso en una condición de error - interactuar con ADC para el control sin sensores de motores […] CC6 se usa intensamente - cuanto más funciona de forma autónoma cuanto más carga de CPU se puede 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" (anuncio de prensa). Atmel . Archivado desde el 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" . hdl : 11250/2370969 . Consultado el 29 de abril de 2018 .
- ^ a b Andersen, Michael P .; Culler, David Ethan (25 de agosto de 2014). "Compensaciones en el diseño del sistema en una plataforma inalámbrica incorporada de próxima generación" (PDF) (Informe técnico). Ingeniería Eléctrica y Ciencias de la Computación, Universidad de California en Berkeley . No. UCB / EECS-2014-162. Archivado (PDF) desde el original el 30 de abril de 2018 . Consultado 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%" (anuncio de prensa). Atmel . Archivado desde el original el 30 de abril de 2018 . Consultado el 30 de abril de 2018 .
- ^ Eieland, Andreas; Krangnes, Espen (28 de octubre de 2012). "Mejorar las respuestas de interrupción Cortex M4 MCU con un sistema de eventos periféricos inteligente" . Atmel Corp. Archivado desde el original el 30 de abril de 2018 . Consultado el 30 de abril de 2018 .
- ^ a b c "Aumentar el rendimiento sin romper el presupuesto de energía" . Digikey . 2013-07-10. Archivado desde el 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 la energía eficiente ARM MCU" . Electrónica semanal . Archivado desde el 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" . Electrónica semanal . Archivado desde el original el 30 de abril de 2018 . Consultado el 29 de abril de 2018 .
- ^ "ZILOG lanza nuevo sistema MCU de 16 bits en un chip para aplicaciones de control de motores" . BusinessWire . 2011-01-06. Archivado desde el original el 2 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
- ^ Coulson, Dave (12 de octubre de 2011). "La necesidad de interoperación periférica autónoma en aplicaciones BLDC sin sensores" . Convergence Promotions LLC. Archivado desde el original el 1 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
- ^ Elahi, Junaid; Rusten, Joar Olai; Olsen, Lasse; Sundell, Lars (12 de diciembre de 2011). "Interconexión de periféricos programables" . Nordic Semiconductor ASA . Patente de EE . UU . 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, Munich, Alemania: Infineon . Archivado (PDF) desde el original el 10 de mayo de 2018 . Consultado el 10 de mayo de 2018 .
- ^ Modales, David (3 de octubre de 2012). "MCU de 32 bits de menor potencia de Si Labs" . Electrónica semanal . Archivado desde el original el 2 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
- ^ Laboratorios de silicio . "Tecnología de baja potencia: los periféricos del microcontrolador empujan los límites de la potencia ultrabaja" . Consultado el 1 de mayo de 2018 .
- ^ Kragnes, Espen; Eieland, Andreas (2012). "Redefiniendo el Power Benchmark" (PDF) (Informe técnico). Atmel . Archivado (PDF) desde el original el 1 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
- ^ "Soluciones de eficiencia energética de Freescale: MCU de la serie Kinetis L" (PDF) (Informe técnico). Freescale . 2012. Archivado (PDF) desde el original el 3 de mayo de 2018 . Consultado el 3 de mayo de 2018 .
- ^ Riemenschneider, Frank (18 de junio de 2013). "Mikrocontroller: 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" . Archivado desde el original el 1 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
- ^ Quinnell, Rich (28 de julio de 2015). "8 bits contraataca con periféricos autónomos" . Santa Clara, Estados Unidos: EETimes . Archivado desde el 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 MCU PIC18F" . Electrónica semanal . Archivado desde el original el 30 de abril de 2018 . Consultado el 29 de abril de 2018 .
- ^ Stroh, Iris (10 de noviembre de 2016). "Tecnología de microchip: ofensiva de 8 bits: AVR" (en alemán). elektroniknet.de. Archivado desde el original el 30 de abril de 2018 . Consultado el 29 de abril de 2018 .
- ^ Di Jasio, Lucio (5 de mayo de 2015). "No queda nada por inventar en el control integrado, parte 1" . Archivado desde el original el 1 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
- ^ Di Jasio, Lucio (12 de mayo de 2015). "No queda nada por inventar en el control integrado, parte 2" . Archivado desde el 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) desde el original el 1 de mayo de 2018 . Consultado el 1 de mayo de 2018 .