3 Entendiendo Los AVR Atmel

Click here to load reader

  • date post

    24-Jun-2015
  • Category

    Documents

  • view

    1.587
  • download

    6

Embed Size (px)

Transcript of 3 Entendiendo Los AVR Atmel

ARTCULO

DE

PORTADA

Qu son, para qu sirven, cmo se usan

Microcontroladores AVR de AtmelArquitectura, Programadores, Tarjetas de Desarrollo

Debido a la gran cantidad de consultas recibidas durante los primeros das de publicacin de la edicin anterior de Saber Electrnica, en referencia al Artculo de Portada: Interfase Grfica de Video, que sirve para la construccin de distintos tipos de instrumentos y que se basa en el uso de un microcontrolador de la empresa Atmel, programamos la edicin del presente artculo. En el mismo pretendemos dar a conocer a nuestros lectores las principales caractersticas de estos chips; brindando, adems, algunos circuitos que pueden ser de inters tanto para la programacin de estos dispositivos como para comenzar a realizar sus primeras prcticas. Los AVR son una familia de microcontroladores RISC (que manejan un set reducido de instrucciones) de la empresa Atmel. El diseo estructural de estos circuitos integrados fue realizado por dos estudiantes en el Norwegian Institute of Technology, y posteriormente refinada y desarrollada en Atmel. Estos microcontroladores poseen una unidad central de proceso (CPU) con arquitectura Harvard y tiene 32 registros de 8 bits. Los 32 registros, los registros de entrada/salida y la memoria de datos se encuentran en un espacio de memoria unificado, en el cual tambin se encuentra el stack (a diferencia de lo que ocurre en los PICS, viejos conocidos de los lectores de Saber Electrnica). Este es el primero de una serie de artculos destinados a familiarizar a nuestros lectores con los AVR cuyo objeto es la realizacin de varios proyectos que sern publicados en prximas ediciones. Artculo preparado por Horacio D. Vallejo, en base a informacin de los Manuales de Datos de los AVR traducidos por el Ing. Mario Lisofsky y el aporte de autores varios que se mencionan en la nota.Saber Electrnica

1

Artculo de PortadaLuego de preguntar a diferentes fuentes sobre el origen del nombre AVR, propuesto por Atmel para estos microcontroladores, desconozco la verdadera etimologa de estas siglas, sin embargo podran deberse a lo siguiente: 1) Audio, Video, Radio: Microcontroladores pensados para aplicaciones en audio, video y radio. 2) Advanced Virtual Risc. 3) Corresponde a las iniciales de sus inventores: Alf Egil Bogen and Vegard Wollan (AlfVegardRisc). El AVR fue diseado para la ejecucin de programas escritos en cdigo C compilado. Por lo tanto, algunas instrucciones no estn; por ejemplo, no existe la instruccin 'suma inmediata' ('add immediate'), ya que la instruccin 'resta inmediata' ('substract immediate') con el complemento a dos puede ser usada como alternativa. La familia de microcontroladores AVR es bastante extensa y todas comparten el mismo ncleo AVR, pero tienen distintos perifricos y cantidades de RAM y ROM: desde el microcontrolador de la familia Tiny AVR ATtiny11 con 1kB de memoria flash y sin RAM (slo los 32 registros), con un encapsulado de 8 pines, hasta el microcontrolador de la famila Mega AVRATmega2560 con 256kB de memoria flash, 8kB de memoria RAM, 4kB de memoria EEPROM, conversor anlogo digital de 10 bits y 16 canales, temporizadores, comparador analgico, etc. Cada componente de la familia se ha diseado para que guarde cierta compatibilidad con el resto. Los microcontroladores AVR permiten la ejecucin de instrucciones mediante la metodologa 'pipeline' con dos etapas (cargar y ejecutar), que les permite ejecutar la mayora de las instrucciones en un ciclo de reloj, lo que los hace relativamente rpidos entre los microcontroladores de 8 bits. Como una primera sntesis, podemos decir que el set de instrucciones de los AVR es bastante regular, teniendo en cuenta las siguientes consideraciones: Los registros punteros X, Y y Z tienen capacidades de direccionamiento diferentes entre s. Los registros 0 al 15 tienen diferentes capacidades de direccionamiento que los registros 16 al 31. Las registros de I/O 0 al 31 tienen distintas caractersticas que las posiciones 32 al 63. La instruccin CLR afecta los 'flag', mientras que la instruccin SER no lo hace, a pesar de que parecen ser instrucciones complementarias (dejar todos los bits en 1, y dejar todos los bits en 0 respectivamente). Los cdigos de operacin 0x95C8 y 0x9004 hacen exactamente lo mismo (LPM). As como los PICs poseen un entorno de desarrollo (MPLAB), los AVR tambin poseen herramientas de desarrollo gratuitas o de bajo costo capaces de descargar el cdigo al microcontrolador utilizando una versin de las herramientas de licencia libre GNU. Ahora bien, como es probable que este artculo est siendo ledo por estudiantes y/o principiantes, vamos a dar una breve introduccin que explique qu es un microcontrolador y para qu se lo emplea. Para este propsito emplearemos definiciones realizadas por Emilio Toboso en su pgina www.perso.wanadoo.es/emiliotoboso. Cabe aclarar que en el libro PIC para Estudiantes, de Editorial Quark, Ud, puede encontrar bibliografa extensa sobre el tema y que en la pgina del Sr. Toboso tambin podr encontrar abundante informacin orientada a los microcontroladores PICs,

Introduccin a los Microcontroladores Desde la invencin de los semiconductores, el desarrollo de la tecnologa digital ha dado lugar a dispositivos cada vez ms complejos y rpidos. Entre ellos los microprocesadores y los microcontroladores. Los microcontroladores se encuentran en nuestro trabajo, en nuestra casa y en nuestra vida. Controlan el funcionamiento de los teclados de las computadoras, estn en los telfonos celulares, en los hornos de microondas y, en general, en todo aparato electrnico que posea un grado de automatismo. Se dice que un controlador es un dispositivo que se emplea para manejar uno o varios procesos. Por ejemplo, para ver televisin, un controlador evala la seal que ingresa por la antena y la procesa para que a la pantalla y el parlante llegue con el mismo nivel promedio, sin importar el nivel de la seal ingresante, siempre que est dentro de determinados parmetros. Hasta hace unos 35 aos, los controladores se construan con componentes electrnicos de lgica discreta; posteriormente se emplearon los microprocesadores, apoyados con chips de memoria y dispositivos de E/S sobre una tarjeta de circuito impreso. Desde comienzos de los 90 todos los elementos del controlador se han podido incluir en un solo circuito integrado, el cual recibe el nombre de microcontrolador. Es decir, un microcontrolador es un chip que posee en su interior a un microprocesador, memoria de programa, memoria de datos y puertos para comunicarse con el exterior. Un microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que configuran un controlador y que contiene todos los componentes fundamentales de un ordenador, aunque de limitadas prestaciones y que se suele destinar a gobernar una sola tarea. En la memoria de programa debe residir un conjunto

2

Saber Electrnica

Microcontroladores AVR de Atmelde sentencias (programa) que controlan el funcionamiento de una tarea determinada, sus lneas de entrada/salida se conectan a los sensores y actuadores del dispositivo a controlar y, debido a su pequeo tamao, suele ir integrado en el propio dispositivo al que automatiza. Segn lo dicho, un microcontrolador dispone normalmente de los siguientes componentes: Procesador o CPU (Unidad Central de Proceso). Memoria RAM para contener los datos. Memoria para el programa tipo ROM/EPROM/EEPROM/Flash. Lneas de E/S para comunicarse con el exterior. Tambin puede poseer otros bloques de apoyo que flexibilizan an ms su uso, tales como: Mdulos para el control de perifricos: temporizadores, puertos serie y paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores Digital/Analgico, etc. Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. Sistemas de proteccin de sobrecorriente o cortocircuito. Cada fabricante de microcontroladores oferta un elevado nmero de modelos diferentes, desde los ms sencillos hasta los ms poderosos. Se puede seleccionar la capacidad de las memorias, el nmero de lneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy importante del diseo de un sistema microcontrolado es la seleccin del microcontrolador a utilizar. Una aplicacin tpica podra emplear varios microcontroladores para controlar pequeas partes del sistema. Estos pequeos controladores podran comunicarse entre ellos y con un procesador central, probablemente ms potente, para compartir la informacin y coordinar sus acciones como, de hecho, ocurre ya habitualmente en cualquier PC. Algunas aplicaciones de los microcontroladores son: En sistemas de comunicacin: centrales telefnicas, transmisores, receptores, tlefonos fijos, celulares, fax, etc. En electrodomsticos: lavarropas, hornos de microondas, heladeras, lavavajillas, televisores, reproductores de DVD, minicomponentes, controles remotos, etc. Industria informtica: Se encuentran en casi todos los perifricos; ratones, teclados, impresoras, escner, etc. Figura 1

Domtica: sistemas de alarma y seguridad, control de procesos hogareos a distancia, etc. Automacin: climatizacin, seguridad, ABS, etc. Industria: Autmatas, control de procesos, etc. Otros: Instrumentacin, electromedicina, ascensores, calefaccin, aire acondicionado, sistemas de navegacin, etc. En la figura 1 se puede apreciar la distribucin de los microcontroladores en las reas de ms uso.

Arquitecturas de Proceso En general, los microcontroladores poseen dos formas de trabajo en cuanto a los datos y direcciones. La arquitectura de Von Neumann (figura 2) se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control) mientras que la arquitectura Harvard (