Está en la página 1de 5

CARACTERISITICAS DE MICROCONTROLADOR

Un microcontrolador es un circuito integrado (figura1), que incorpora en su interior los bloques bsicos para formar un sistema embebido o una PC en menor escala, es decir el microcontrolador es un chip en cuyo interior encontramos una CPU, Memoria, Reloj, Puertos de Comunicacin y Mdulos Perifricos de E/S. Cada uno de estos bloques internos, cumple una funcin especifica y permite al diseador un mejor control de los procesos del sistema, el CPU se dice que es un microprocesador en pequeo y de menor potencia, la Memoria que sirve para almacenar el Firmware o programa a ejecutar, el Reloj provee una seal de sincronizacin para todos las tareas del sistema, los Puertos de comunicacin le permiten al microcontrolador tener comunicacin bi-direccional con otros microcontroladores o un PC, por ejemplo puerto RS232,USB, ISP, I2C, y los Mdulos Perifricos de E/S que permiten el intercambio de informacin de tipo digital o anloga con el exterior del sistema, es dentro de estos Perifricos que se pueden encontrar: Puertos Digitales E/S, Conversores Anlogo digital, Contadores, Temporizadores, Mdulos PWM, entre otros. Adems de su estructura un microcontrolador posee ciertas caractersticas de desarrollo, como son: su lenguaje de programacin, el IDE para la escritura de programas, la forma en que es programa la memoria interna, el hardware externo necesario para realizar esta grabacin. Son estas caractersticas las que hacen la diferencia al momento de la eleccin correcta de un tipo de microcontrolador.

Figura 1: Diferentes tipos de microcontroladores

DIFERENCIA ENTRE AVR Y PIC Existen decenas de empresas fabricantes de microcontroladores, entre las que podemos nombrar: Intel, Motorola, Texas Instrument, Microchip, Cypress, Atmel, entre otras. Pero dentro de toda esta gama de microcontroladores se destacan dos familias de microcontroladores: la familia AVR y la

familia PIC, cuya popularidad es alta entre diseadores de sistemas embebidos que requieren un rendimiento alto y bajo costo, y eligen uno u otro ya sea por su nivel de integracin, por su arquitectura, la disponibilidad de recursos o su lenguaje de programacin. Los PIC son una familia de microcontroladores de 8 bits fabricados por la empresa estadounidense MICROCHIP, cuentan con un CPU RISC y memoria FLASH para el almacenamiento del Firmware. Por otro lado los AVR son una familia de microcontroladores fabricada por la compaa noruega ATMEL, estos microcontroladores de 8 bits cuentan con una CPU RISC y su memoria de programa viene implementada en FLASH. Ambas familias cuentan con perifricos como Puertos Digitales, ADC, PWM, entre otros. Basado en esta descripcin, se podra pensar que los PIC y AVR son iguales, en cierto modo si, desde un punto de vista de estructura general, pero es el mbito que rodea esta estructura para el desarrollo de sistemas embebidos, es donde encontramos diferencia entre ambos microcontroladores, en indicadores como: Lenguaje de programacin, IDE, interfaces para la programacin, reloj interno, voltaje de alimentacin, potencia, costo, etc. LENGUAJE DE PROGRAMACIN El lenguaje de programacin de un microcontrolador, es el lenguaje Ensamblador (.asm), que es un lenguaje de bajo nivel, este posee algunas diferencias entre fabricante y fabricante, no es lo mismo el lenguaje ensamblador para INTEl que para PIC o un AVR. Pero afortunadamente dentro del mundo de microcontroladores podemos encontrar lenguajes de Alto nivel como lo es el C, C++, Basic, cada uno nos brinda distintas ventajas, una de ellas es el hecho de no tener que aprender Ensamblador y trabajar en un lenguaje que el usuario domine. adems cada uno cuenta con IDE (Ambiente Integrado de Desarrollo) para un mejor diseo de los programas. Dentro de estos podemos citar el AVRstudio que incluye compiladores de C, C++ y Ensamblador, y el BASCOM que incluye un compilador de Basic para microcontroladores AVR. Como ventaja principal se debe citar que todos estos IDE se pueden descargar gratis o en versiones Demo desde la web de sus respectivos fabricantes. Existen algunas plataformas educacionales de desarrollo basadas en micros AVR, como el ARDUINO, que bsicamente es un chip AVR con un bootloader, lo cual hace que sea aun mas sencilla la programacin. En cuanto a los microcontroladores PIC, adems de el lenguaje Ensamblador, podemos encontrar diferentes IDE y compiladores para C , C++ y Basic, sin embargo cabe destacar que estas herramientas de desarrollo no son completamente gratis y tienen su costo, entre IDE mas usados estn: MPLAB, PICSIMULATOR, PICBASIC , y mas. As como en la familia AVR, existe una plataforma basada en un PIC, llamada PICAXE, que es un chip PIC previamente grabado con un programa bootloader que permite programarlo en lenguaje Basic y va el puerto serial del PC. Para no dejar preguntas al aire, se tiene que la definicin de bootloader, es traducido generalmente como gestor de inicio o de arranque, o cargador de inicio, es un programa que se encarga de dejar

todo listo para que comience la ejecucin del sistema operativo. Se hace la aclaracin para saber que es lo que hace atractivo utilizar plataformas electrnicas para nuevos proyectos. Como se puede ver cada familia, PIC y AVR, tiene sus propias herramientas de programacin, lenguajes e IDE, depender del conocimiento de el diseador la eleccin de uno u otro basado en el nivel dominio de que se tenga de cierto lenguaje de programacin, tomando en consideracin la disponibilidad, gratuidad o paga, de estas herramientas. Caractersticas Adicionales. Dentro de las caractersticas adicionales a consideran el momento de elegir un microcontrolador, adems de las ya mencionadas, destaca la Potencia o consumo de energa, una ventaja de los microcontroladores AVR frente a los PIC es su reducido consumo, tanto en voltaje como en corriente, lo que permite el desarrollo de aplicaciones que funcionen a bateras. Otra caracterstica de comparacin es la inclusin o no de circuitos internos de Reloj, bloques que proveen la seal de sincronizacin, frecuencia o velocidad, a la cual el microcontrolador ejecutara las instrucciones de programa. En la familia AVR, dentro del chip se incluye un bloque oscilador formado por un arreglo RC para proveer esta seal, por el contrario en los microcontroladores PIC se debe de conectar un cristal externe que har la funcin de oscilador de reloj, cabe destacar que en un AVR se puede optar tambin por esto, conectar un cristal externo y no usar el oscilador interno. En lo referente a costo, los microcontroladores son un poco mas baratos en comparacin con un PIC, por ejemplo el microcontrolador ATMEGA8 de ATMEL [5] cuesta alrededor de $80 PESOS mientras que el 16F876 de Microchip, de similares caractersticas al ATMEGA8, se [5] puede comprar en $110 PESOS. Existen muchas mas caractersticas a evaluar al momento de elegir un microcontrolador, sin embargo se puede decir que se han mencionado las ms importantes. ARDUINO Respecto con las comparaciones antes sealadas hemos elegido el microcontrolador de la marca ATMEL, el ATmega, y adems se usara con la plataforma electrnica arduino. Explicaremos brevemente en que consiste esta plataforma. Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en software y hardware flexibles y fciles de usar. Arduino puede tomar informacin del entorno a travs de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programacin Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash, Processing, MaxMSP).

Como podemos apreciar esta plataforma nos permite tener una muy buena comunicacin con el microcontrolador y la computadora, proporcionando el bootloader para facilitar la programacin, adems que tanto el sofware como el hadware son libres. Ahora bien, se debe decidir cual de las placas arduino se acoplan a nuestras necesidades. Haremos una comparacin con dos modelos de placas arduino diferentes: Duemilanove y Arduino Mega. Si entramos en la pagina de Arduino podemos ver que las diferencias son bastante obvias, tenemos que Arduino Mega tiene muchsimos mas puertos de E/S, PWM, ADC, y sobre todo mas memoria flash y espacio respecto a la Duemilanove. La diferencia la hace el microcontrolador en si la comparacin debe ser ATmega 328 y Atmega1280, en la siguiente tabla se pueden ver las diferencias y compararlas. Parametros Memoria Flash Nmero de Pines Maxima Frecuencia de operacin CPU Pines utilizados para E/S SRAM EEPROM ATMEGA 328 32 Kbytes 32 20 MHZ 8-bit AVR 16 (6 proporcionan PWM) 2Kb 512 bytes ATMEGA 1280 128 Kbytes 100 16 MHZ 8-bit AVR 54 (14 proporcionan PWM)

8Kb
4 Kb

Como podemos apreciar es el ATmega 1280 es un microcontrolador muy poderoso, y tal vez se piense que es la mejor opcin, pero realmente lo importante es que se ocupe el que mejor se acople a sus necesidades, porque gastar bsicamente el doble de dinero en algo que no se va aprovechar al mximo realmente seria una perdida.

BIBLIOGRAFIA [1] Fernando E. Valds Prez, Ramon Palls Areny, Microcontroladores: Fundamento y aplicaciones, Marcombo, S.A. 2007 [2] Datasheet Atmega 8, Atmel Corporation, 2001 [3] Datasheet PIC16F87X, MICROCHIP, 2001 [4] Catlogo Tienda Virtual AG, AG ELECTRNICA, Mxico, 2012 [5] Pagina web de Arduino: http://arduino.cc/es

[6] Datasheet Atmega 328, Atmel Corporation, Ao [7] Datasheet Atmega 1280, Atmel Corporation, Ao