Atmel AVR

AVR es el término utilizado por Atmel para referirse al núcleo del procesador y la familia de microcontroladores que lo implementan.

Descripción

El núcleo AVR tiene las siguientes características:

Conjunto de 90 a 135 instrucciones (según el componente).

La mayoría de las instrucciones (excepto las de salto o de acceso a la memoria) se ejecutan en un solo ciclo de procesador . La arquitectura AVR implementa una canalización , que hace posible ejecutar una instrucción por ciclo de reloj. Por tanto, el núcleo AVR alcanza alrededor de 1 Mips / MHz.

El núcleo de AVR se ha optimizado para ejecutar código producido por un compilador de C.

El núcleo del AVR tiene 3 punteros X, Y y Z de 16 bits asignados a los registros de 8 bits r26 a r31 (X = r26 + r27, Y = r28 + r29 y Z = r30 + r31). Los 3 punteros permiten diferentes tipos de indexación (indirecta, indirecta con desplazamiento) con o sin pre o post-incremento.

Los microcontroladores AVR incorporan en la misma caja un núcleo AVR (microprocesador), memoria flash (espacio de programa), SRAM (espacio de datos), EEPROM (espacio de datos de respaldo) y varios periféricos .

Cada periférico es manejado por el registro asociado (s) (accesible a través de la en y fuera instrucciones ).

Aquí hay una indicación de los periféricos existentes en la familia de microcontroladores AVR:

Diferentes familias

La familia de microcontroladores AVR consta de 5 grupos principales:

Desarrollo de software y hardware

En el entorno de Microsoft Windows , AVRstudio proporcionado por Atmel combinado con WinAVR (versión win32 de avr-gcc) permite el desarrollo en lenguaje C de forma gratuita y sin ninguna limitación.

También existe un compilador Pascal para AVR (E-LAB Pascal-scm), utiliza una sintaxis cercana a Turbo Pascal .

En entornos FreeBSD , GNU-Linux o MacOS X , avr-gcc (compilador C) y uisp, avrdude le permiten desarrollar para estos microcontroladores. También hay una adaptación de libc.

También hay productos gratuitos pero limitados a 4Ko para desarrollar en C, Pascal o Basic. Integran una serie de bibliotecas para simplificar la codificación de aplicaciones, así como entornos de hardware completos para la creación de prototipos.

Hay muchos programadores , herramientas de interfaz entre la PC y el microcontrolador que permiten flashear la memoria del programa, en el mercado (Atmel STK-200, 300, 400, 500, 600 u otros) y muchos diagramas en sitios de Internet que le permiten hacer usted mismo.

Hay tres tipos de interfaz disponibles, el ISP para flashear solo memorias, interfaces, JTAG y DebugWIRE  (in) (depurar en un cable) que se utilizan para flashear y depurar directamente desde AVRStudio, muy conveniente para llevar al punto de las aplicaciones. La interfaz ISP está presente en todos los microcontroladores ATMEL, las interfaces JTAG y DebugWire dependen de la familia de microcontroladores.

Para operar un microcontrolador AVR, es 'suficiente' conectar los pines de tierra y Vcc a los potenciales 0 y 5  V (por ejemplo) y poner una resistencia pull-up en el pin de reinicio (resistencia de 10  kΩ entre el pin de reinicio y vcc). Si el componente no tiene un oscilador interno o si se desea una frecuencia precisa, entonces se deberá agregar un oscilador externo ( principalmente cristal ).

Referencias

  1. http://www.nongnu.org/avr-libc/
  2. Mikroelektronika (http://www.mikroe.com/)

Ver también

Artículos relacionados

enlaces externos

Bibliografía