AVR

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 25 de diciembre de 2015; la verificación requiere 41 ediciones .

AVR es una familia de microcontroladores  de ocho bits , anteriormente fabricados por Atmel , luego por Microchip . Año de desarrollo - 1996 .

Historia de la arquitectura AVR

La idea de desarrollar un nuevo RISC - core pertenece a dos estudiantes de la Universidad Noruega de Ciencia y Tecnología (NTNU) de la ciudad noruega de Trondheim - Alf-Egil Bogen y Vegard Wollen. En 1995, Bogen y Wollen decidieron proponer a la corporación estadounidense Atmel , conocida por sus chips de memoria Flash , lanzar un nuevo microcontrolador RISC de 8 bits y dotarlo de memoria Flash para programas en un solo chip con un núcleo de cómputo.

La idea fue aprobada por Atmel Corp. y se decidió invertir de inmediato en este desarrollo. A fines de 1996, se lanzó un microcontrolador AT90S1200 experimental y, en la segunda mitad de 1997, Atmel Corporation comenzó la producción en masa de una nueva familia de microcontroladores, su publicidad y soporte técnico.

El nuevo núcleo fue patentado y denominado AVR . Hay varias interpretaciones de esta abreviatura. Alguien afirma que se trata de R ISC Virtual Avanzado , otros creen que A lf Egil Bogen V egard Wollan R ISC no pudo haber estado aquí.

Descripción de la arquitectura

Los microcontroladores AVR tienen una arquitectura Harvard (el programa y los datos están en diferentes espacios de direcciones) y un sistema de comando cercano a la ideología RISC . El procesador AVR tiene 32 registros de propósito general de 8 bits combinados en un archivo de registro. A diferencia del RISC "ideal", los registros no son absolutamente ortogonales:

Sistema de mando

El sistema de comando de los microcontroladores AVR está muy desarrollado e incluye de 90 a 135 [1] instrucciones diferentes en varios modelos.

La mayoría de las instrucciones solo ocupan 1 ubicación de memoria (16 bits).

La mayoría de los comandos se ejecutan en 1 ciclo .

El conjunto completo de comandos del microcontrolador AVR se puede dividir en varios grupos:

Los dispositivos periféricos se controlan a través del espacio de direcciones de datos. Para mayor comodidad, existen "comandos abreviados" IN / OUT.

Familias de microcontroladores

Familias estándar:

Como regla general, los números después del prefijo indican la cantidad de memoria flash incorporada (en KB) y la modificación del controlador. Es decir, la potencia máxima de dos después del prefijo indica la cantidad de memoria, y los números restantes determinan la modificación (por ejemplo, ATmega128 - 128 KB de memoria; ATmega168 - 16 KB de memoria, modificación 8; ATtiny44 y ATtiny45 - 4 KB de memoria, modificaciones 4 y 5, respectivamente).

Sobre la base de familias estándar, se producen microcontroladores, adaptados para tareas específicas:

Además de las familias anteriores, ATMEL produce microcontroladores de 32 bits de la familia AVR32 , que incluye las subfamilias AT32UC3 (frecuencia de reloj de hasta 66 MHz) y AT32AP7000 (frecuencia de reloj de hasta 150 MHz).

Versiones del controlador

AT (mega/tiny)xxx es la versión básica.
ATxxx L  : versiones de controladores que funcionan con un voltaje de suministro reducido (bajo) (2,7 V).
ATxxx V  : versiones de controladores que funcionan con voltaje de suministro bajo (1,8 V).
ATxxx P  : versiones de bajo consumo (hasta 100 nA en modo Power-down), se utiliza la tecnología picoPower (anunciada en julio de 2007), pin-out y funcionalmente compatible con versiones anteriores.
ATxxx A  : se reduce el consumo de corriente, se cubre toda la gama de frecuencias de reloj y voltajes de alimentación de las dos versiones anteriores (también, en algunos modelos, se agregan nuevas funciones y nuevos registros, pero se conserva la compatibilidad total con las versiones anteriores). Los microcontroladores "A" y "no-A" suelen tener la misma firma, lo que provoca algunas dificultades, ya que los bits de fusible son diferentes.

El número de modelo va seguido de un índice que indica la versión. Los números (8, 10, 16, 20) antes del índice indican la frecuencia máxima a la que el microcontrolador puede funcionar de forma estable con su tensión de alimentación normal).

La primera letra del índice indica la variante del casco:

ATxxx- P  - Paquete DIP
ATxxx- A  - Paquete TQFP
ATxxx - J  - Paquete PLCC
ATxxx- M  - Paquete MLF
ATxxx- MA  - Paquete UDFN/USON
ATxxx- C  - Paquete CBGA ATxxx- CK - Paquete  LGA ATxxx- S  - Paquete EIAJ SOIC ATxxx- SS  - JEDEC SOIC paquete estrecho ATxxx- T  - Paquete TSOP ATxxx- TS  - Paquete SOT-23 (ATtiny4/5/9/10) ATxxx- X  - Paquete TSSOP





La siguiente letra significa el rango de temperatura y las características de fabricación:

ATxxx-x C  - rango de temperatura comercial (0 °C - 70 °C)
ATxxx-x A  - rango de temperatura -20 °C - +85 °C, con soldadura sin plomo
ATxxx-x I  - rango de temperatura industrial (-40 °C C - +85 °C)
ATxxx-x U  - Rango de temperatura industrial (-40 °C - +85 °C), con soldadura sin plomo
ATxxx-x H  - Rango de temperatura industrial (-40 °C - +85 °C), usando NiPdAu
ATxxx-x N  - rango de temperatura extendido (-40 °C - +105 °C), usando soldadura sin plomo
ATxxx-x F  - rango de temperatura extendido (-40 °C - +125 °C)
ATxxx-x Z  - rango de temperatura automotriz (-40 °C - +125 °C)
ATxxx-x D  - rango de temperatura automotriz ampliado (-40 °C - +150 °C)

la última letra R significa embalaje Tape & Reel para sistemas de montaje automatizados.

Dispositivos de E/S MK

MK AVR tiene una periferia desarrollada:

Nota: No todos los periféricos se pueden habilitar mediante software. Algunos de ellos primero deben ser activados por bits en los registros de Fusibles, que solo pueden ser cambiados por el programador.

Herramientas de desarrollo

Hardware de desarrollo

Herramientas de desarrollo AVR oficiales de Atmel:

También hay muchas herramientas de terceros, especialmente de aficionados.

Software de desarrollo

Gratis
  • Algorithm Builder  es un entorno de desarrollo de software algorítmico para microcontroladores con arquitectura AVR (última actualización en 2010).
  • AVR-Eclipse es un complemento para el entorno de desarrollo de Eclipse que le permite desarrollar programas en C / C ++ y ensamblar, programar y depurar controladores utilizando una cadena de herramientas externa (Atmel AVR Toolchain, WinAVR)
  • avra es un ensamblador de macros de consola para Linux/MacOS.
  • Avrdude es una herramienta para flashear microcontroladores.
  • AVRDUDE_PROG 3.1 - editor visual.
  • Code::Blocks  es un entorno de desarrollo multiplataforma.
  • DDD  es una interfaz gráfica para avr-gdb.
  • eXtreme Burner - AVR es una interfaz gráfica para programadores de AVR USB basados ​​en USBasp.
  • Khazama AVR Programmer es una GUI de Windows para USBasp y avrdude.
  • PonyProg  es un programador universal a través del puerto LPT, puerto COM (también se admite el emulador USB del puerto COM).
  • V-USB es una implementación de software del protocolo USB para microcontroladores AVR.
  • WinAVR es un paquete de software para Windows que incluye un compilador, ensamblador, enlazador y otras herramientas.
  • Zadig 2.3
Propietario
  • Atmel Studio  es un IDE gratuito del propio Atmel
  • IAR AVR  : entorno de desarrollo comercial para microcontroladores AVR
  • Bascom-avr  es un entorno de desarrollo basado en un lenguaje de programación similar a Basic .
  • CodeVisionAVR -  Compilador y programador de C - CVAVR, generador de código inicial.
  • Proteus  es un simulador de circuitos eléctricos, componentes, incluidos varios MK y otros equipos periféricos.

La arquitectura AVR también permite el uso de sistemas operativos en el desarrollo de aplicaciones, por ejemplo, FreeRTOS , uOS , ChibiOS/RT , scmRTOS ( C++ ), TinyOS , Femto OS y otros, así como Linux en AVR32 . [2]

Véase también

Enlaces

Notas

  1. Copia archivada . Consultado el 28 de enero de 2021. Archivado desde el original el 6 de mayo de 2021.
  2. AVR32737: Introducción a AVR32 AP7 Linux (febrero de 2008). Consultado el 24 de abril de 2017. Archivado desde el original el 29 de marzo de 2017.