El AVR32 es una arquitectura de microcontrolador RISC de 32 bits producida por Atmel . La arquitectura del microcontrolador fue diseñada por un puñado de personas formadas en la Universidad Noruega de Ciencia y Tecnología , incluido el diseñador principal Øyvind Strøm y el arquitecto de CPU Erik Renno en el centro de diseño noruego de Atmel.
Diseñador | Atmel |
---|---|
Bits | 32 bits |
Versión | Rev 2 |
Diseño | RISC |
Codificación | Variable |
Endianidad | Grande |
Extensiones | máquina virtual de Java |
Registros | |
15 |
La mayoría de las instrucciones se ejecutan en un solo ciclo. La unidad de acumulación y multiplicación puede realizar una operación aritmética de 32 bits × 16 bits + 48 bits en dos ciclos (latencia de resultado), emitida una vez por ciclo.
No se parece a la familia de microcontroladores AVR de 8 bits , a pesar de que ambos fueron diseñados en Atmel Norway, en Trondheim . Algunas de las herramientas de depuración son similares.
El soporte para AVR32 se ha eliminado de Linux a partir del kernel 4.12; [1] Atmel ha cambiado principalmente a variantes M de la arquitectura ARM .
Arquitectura
El AVR32 tiene al menos dos microarquitecturas, AVR32A y AVR32B. Estos difieren en la arquitectura del conjunto de instrucciones, las configuraciones de registro y el uso de cachés para instrucciones y datos. [2]
Los núcleos de CPU AVR32A son para aplicaciones económicas. No proporcionan registros de hardware dedicados para sombrear el archivo de registro, el estado y la dirección de retorno en las interrupciones. Esto ahorra área de chip a expensas de un manejo de interrupciones más lento.
Los núcleos de la CPU AVR32B están diseñados para interrupciones rápidas. Tienen registros dedicados para mantener estos valores para interrupciones, excepciones y llamadas de supervisor. Los núcleos AVR32B también admiten una máquina virtual Java en hardware. [3]
El conjunto de instrucciones AVR32 tiene instrucciones de 16 bits (compactas) y de 32 bits (extendidas), similares a, por ejemplo, algunos ARM, con varias instrucciones especializadas que no se encuentran en ARMv5 o ARMv6 o MIPS32 anteriores . Se han registrado varias patentes estadounidenses para la plataforma de diseño y AVR32 ISA.
Al igual que la arquitectura del microcontrolador AVR de 8 bits , el AVR32 fue diseñado para una alta densidad de código (empaquetando muchas funciones en pocas instrucciones) e instrucciones rápidas con pocos ciclos de reloj. Atmel usó el consorcio de evaluación comparativa independiente EEMBC para comparar la arquitectura con varios compiladores y superó constantemente el código ARMv5 de 16 bits ( Thumb ) y el código ARMv5 de 32 bits ( ARM ) hasta en un 50% en tamaño de código y 3 veces en rendimiento. . [ cita requerida ]
Atmel dice que el AVR32 AT32UC3L "picoPower" consume menos de 0,48 mW / MHz en modo activo, que afirmó, en ese momento, usaba menos energía que cualquier otra CPU de 32 bits . [4] Luego, en marzo de 2015, afirman que sus nuevos microcontroladores basados en Cortex-M0 + , que utilizan la arquitectura ARM de ARM Holdings , no su propio conjunto de instrucciones , "han roto todas las barreras de rendimiento de energía ultrabaja hasta la fecha". [5]
Implementaciones
La arquitectura AVR32 se utilizó solo en los propios productos de Atmel. En 2006, Atmel lanzó AVR32A: el núcleo AVR32 AP7, una plataforma de diseño basada en caché y canalizada de 7 etapas . [3] Este "AP7000" implementa la arquitectura AVR32B y admite instrucciones DSP ( procesamiento de señales digitales ) SIMD (instrucción única de datos múltiples ) para el conjunto de instrucciones RISC , además de la aceleración de hardware Java. Incluye una unidad de gestión de memoria (MMU) y es compatible con sistemas operativos como Linux . A principios de 2009, el rumoreado procesador de seguimiento AP7200 se retuvo y los recursos se destinaron a otros chips.
En 2007, Atmel lanzó el segundo AVR32: el núcleo AVR32 UC3. Está diseñado para microcontroladores, que utilizan memoria flash en chip para el almacenamiento de programas y se ejecutan sin una MMU (unidad de gestión de memoria). El núcleo AVR32 UC3 utiliza una arquitectura Harvard de canalización de tres etapas especialmente diseñada para optimizar la obtención de instrucciones desde la memoria flash en el chip . [6] El núcleo AVR32 UC3 implementa la arquitectura AVR32A. Comparte la misma arquitectura de conjunto de instrucciones (ISA) que su hermano AP7, pero se diferencia por no incluir las instrucciones SIMD opcionales o el soporte de Java. Comparte más de 220 instrucciones con el AVR32B. El ISA presenta manipulación de bits atómicos para controlar periféricos en chip y E / S de propósito general y aritmética DSP de punto fijo.
Ambas implementaciones se pueden combinar con un conjunto compatible de controladores periféricos y buses que se vieron por primera vez en las plataformas basadas en ARM de AT91SAM . Algunos periféricos que se vieron por primera vez en el AP7000, como el controlador periférico USB de alta velocidad y el controlador DMA independiente, aparecieron más tarde en las plataformas ARM9 actualizadas y luego en los productos basados en ARM Cortex-M3.
Ambos núcleos AVR32 incluyen un marco de depuración en chip basado en Nexus clase 2+ construido con JTAG .
El núcleo UC3, anunciado en Electronica 2010 en Munich Alemania el 10 de noviembre de 2010, es el primer microcontrolador AVR de 32 bits con una unidad de punto flotante opcional . [7]
Dispositivos
Núcleo AP7
El 10 de abril de 2012, Atmel anunció el fin de la vida útil de los dispositivos AP7 Core a partir del 4 de abril de 2013. [8]
- AT32AP7000
- AT32AP7001
- AT32AP7002
Núcleo UC3
Si el nombre del dispositivo termina en * AU, esta es una versión de audio, esto permite la ejecución de IP de firmware de audio con licencia de Atmel.
Si el nombre del dispositivo termina en * S, incluye un módulo criptográfico AES.
- Serie A0 / A1: los dispositivos entregan 91 Dhrystone MIPS (DMIPS) a 66 MHz (1 estado de espera de flash) y consumen 40 mA a 66 MHz a 3,3 V.
- AT32UC3A0128
- AT32UC3A0128AU
- AT32UC3A0256
- AT32UC3A0256AU
- AT32UC3A0512
- AT32UC3A0512AU
- AT32UC3A1128
- AT32UC3A1256AU
- AT32UC3A1512
- AT32UC3A1512AU
- Serie A3 / A4: los dispositivos entregan 91 Dhrystone MIPS (DMIPS) a 66 MHz y consumen 40 mA a 66 MHz a 3,3 V.
- AT32UC3A364
- AT32UC3A364S
- AT32UC3A3128
- AT32UC3A3128S
- AT32UC3A3256
- AT32UC3A3256AU
- AT32UC3A3256S
- AT32UC3A464
- AT32UC3A464S
- AT32UC3A4128
- AT32UC3A4128S
- AT32UCA4256
- AT32UC3A4256S
- Serie B: entrega 72 Dhrystone MIPS (DMIPS) a 60 MHz y consume 23 mA a 66 MHz a 3.3V.
- AT32UC3B064
- AT32UC3B0128
- AT32UC3B0128AU
- AT32UC3B0256
- AT32UC3B0512
- AT32UC3B0512AU
- AT32UC3B164
- AT32UC3B1128
- AT32UC3B1256
- AT32UC3B1512
- Serie C: los dispositivos entregan 91 Dhrystone MIPS (DMIPS) a 66 MHz y consumen 40 mA a 66 MHz a 3,3 V.
- AT32UC3C064C
- AT32UC3C0128C
- AT32UC3C0256C
- AT32UC3C0512C
- AT32UC3C0512CAU
- AT32UC3C164C
- AT32UC3C1128C
- AT32UC3C1256C
- AT32UC3C1512C
- AT32UC3C264C
- AT32UC3C2128C
- AT32UC3C2256C
- AT32UC3C2512C
Serie D: el UC3D de bajo consumo incorpora la tecnología SleepWalking que permite que un periférico despierte el dispositivo desde el modo de suspensión.
- ATUC64D3
- ATUC128D3
- ATUC64D4
- ATUC128D4
- Serie L: entrega 64 Dhrystone MIPS (DMIPS) a 50 MHz y consume 15 mA a 50 MHz a 1,8 V.
- AT32UC3L016
- AT32UC3L032
- AT32UC3L064
- AT32UC3L0128
- AT32UC3L0256
- ATUC64L3U
- ATUC128L3U
- ATUC256L3U
- ATUC64L4U
- ATUC128L4U
- ATUC256L4U
Tableros
- Entorno de desarrollo AT32AP7000 (STK1000)
- Kit de puerta de enlace de red AT32AP7000 (NGW100)
- Placa AT32AP7000 con FPGA, decodificador de video y Power over Ethernet (Hammerhead)
- Placa Linux integrada AT32AP7000 Indefia con soporte ZigBee
- Toda la plataforma de evaluación genérica de la serie AT32UC3 (STK600)
- Kit de evaluación de la serie AT32UC3A0 / 1 (EVK1100)
- Kit de evaluación de audio de la serie AT32UC3A0 / 1 (EVK1105)
- Kit de evaluación de la serie AT32UC3A3 (EVK1104)
- Kit de evaluación de la serie AT32UC3B (EVK1101)
- Módulo de placa de pruebas AT32UC3B (cobre)
- Placa de desarrollo pequeño / ruptura AT32UC3A1 (Aery32)
Ver también
- Atmel
- Atmel AVR
- Arduino
Referencias
- ^ "avr32: elimine el soporte para la arquitectura AVR32" . Consultado el 21 de septiembre de 2017 .
- ^ "Documento de arquitectura AVR32" (PDF) . Atmel . Consultado el 15 de junio de 2008 .
- ^ a b "Manual de referencia técnica del AVR32 AP" (PDF) . Atmel . Archivado (PDF) desde el original el 3 de diciembre de 2008 . Consultado el 12 de diciembre de 2008 .
- ^ "Tecnologías probadas e innovadoras de microcontroladores con bajo consumo y alto rendimiento" (Comunicado de prensa).
Atmel presenta el microcontrolador AVR32 que reduce el mejor consumo de energía de la industria en un 63%; El microcontrolador picoPower AVR32 AT32UC3L ofrece menos de 0,48 mW / MHz en modo activo y menos de 100 nA en modo de suspensión
- ^ "La familia SAM L ahora es la solución basada en ARM Cortex-M de menor potencia del mundo" . 30 de marzo de 2015. Archivado desde el original el 27 de abril de 2015 . Consultado el 27 de abril de 2015 .
Estos MCU basados en Cortex-M0 + pueden mantener la funcionalidad del sistema, todo mientras consumen solo un tercio de la potencia de productos comparables en el mercado actual. Este dispositivo ofrece ultra bajo de energía que va a dar 35μA / MHz en modo activo, consumiendo menos de 900nA con plena 32 kB retención de memoria RAM. [..]
"El anuncio de En Atmel el año pasado por la familia SAM L21 de la compañía, que había señalado la clasificaciones de consumo de corriente sorprendentemente bajas para el funcionamiento en modo activo y en reposo de esta familia de productos; ahora puedo confirmar esta opinión con datos concretos derivados del EEMBC ULPBench ”, explicó Markus Levy, presidente y fundador de EEMBC. "Atmel logró la potencia más baja de cualquier procesador basado en Cortex-M y MCU en el mundo debido a su tecnología picoPower de potencia ultrabaja patentada. Estos resultados de ULPBench son notables, lo que demuestra la experiencia de la compañía en baja potencia utilizando conversión CC-CC para monitoreo de voltaje , así como otras técnicas innovadoras ".
Mientras ejecuta EEMBC ULPBench, el SAM L21 logra una puntuación asombrosa de 185, la puntuación más alta registrada públicamente para cualquier procesador o MCU basado en Cortex-M en el mundo, y significativamente más alta que las puntuaciones 167 y 123 anunciadas por otros proveedores. La familia SAM L21 consume menos de 940 nA con retención SRAM completa de 40 kB , reloj y calendario en tiempo real y 200 nA en el modo de suspensión más profundo. - ^ "Manual de referencia técnica de AVR32UC" (PDF) . Atmel . Archivado desde el original (PDF) el 2009-02-05 . Consultado el 15 de junio de 2008 .
- ^ "Atmel presenta el primer microcontrolador AVR de 32 bits con unidad de punto flotante" . Atmel . Consultado el 26 de marzo de 2011 .
- ^ http://www.atmel.com/About/Quality/obsolescence/obsolete_items.aspx?searchText=ap7
enlaces externos
- Atmel AVR32 * "Proyecto AVR32 Linux" . Archivado desde el original el 2 de septiembre de 2011 . Consultado el 9 de mayo de 2013 .(ahora muerto) contenía parches recientes del kernel de Linux y GCC / binutils, etc.