¿Microcontrolador?

¿Qué es un Microcontrolador?

Un Microcontrolador es Circuito integrado o chip que incluye en su interior las tres unidades funcionales de un ordenador: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado. Aunque sus prestaciones son limitadas, además de dicha integración, su característica principal es su alto nivel de especialización. Aunque los hay del tamaño de una moneda, lo normal es que sean incluso más pequeños, ya que, lógicamente, forman parte del dispositivo que controlan.

Un microcontrolador típico posee en su interior un generador de reloj integrado, una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM. Para hacerlos funcionar todo lo que se necesita son unos pocos programas de control, alimentación (típicamente 3.3V o 5V) y un cristal de sincronización.

Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidores de analógico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN.

CPU (Unidad Central de Proceso): es la parte encargada de ejecutar cada instrucción y de controlar que dicha ejecución se realice correctamente. Normalmente, estas instrucciones hacen uso de datos disponibles previamente (los “datos de entrada”), y generan como resultado otros datos diferentes (los “datos de salida”), que podrán ser utilizados (o no) por la siguiente instrucción.

Los microcontroladores mas utilizados son los:

  • AVR
  • ARM
  • MSP430
  • PIC
  • Arduino

A continuación se detallan las principales diferencias entre ellos:

ARM

Los microcontroladores ARM son dispositivos de altas prestaciones, con un core RISC de 16/32bits. El mercado de los ARM es uno de los que ha crecido mas rapido en cuanto a microcontroladores se refiere. Los precios de los ARM son similares a los dispositivos de 8 bit, sin embargo proveen mucho mas poder y perifericos que cualquier dispositivo de 8 bit. Se encuentran disponibles de distintos proveedores como: Texas Instruments, Atmel, Phillips, OKI, ST, Cirrus Logic, Analog Devices y otros.

Muchos expertos en el tema dicen que dentro de 5 años los ARM reemplazaran la industria del ocupada por la arquitectura 8051 en la mayoria de las aplicaciones.

Olimex intenta proveer herramientas de desarrollo de bajo costo utilizando ARM de la mayor cantidad de proveedores posible. Este año cubriremos 7 proveedores y tenemos mas de 40 diferentes prototipos que incorporan dispositivos ARM7 y ARM9.

Lo positivo

  • Muy rápidos: la mayoria de los ARM7 corren a 60 Mhz y los ARM9 a 150Mhz+ siendo mas poderosos que los antiguos procesadores Intel 386
  • Bajo Consumo: Los ARM7 necesitan aproximadamente 0.5-1mA por Mhz
  • Gran rango de Perifericos: ADC,DAC,USB,SPI, UART,I2C,CAN,Ethernet,SDRAM
  • Memoria Flash Interna: 32-512KB
  • Memoria Ram Interna: 4-64KB

Lo Negativo

  • Complejo de utilizar para principiantes, definitivamente no es un microcontrolador con el que se puedan dar los primeros pasos para aprender sobre microcontroladores.

MSP430

El microcontrolador MSP430 es de ultra bajo consumo, con un core de 16-Bit RISC. Pueden correr hasta 8 Mhz y tiene un consumo de tan solo 250uA por MIPS, lo cual lo hace perfecto para dispositivos portatiles.

Lo Positivo

  • Muy bajo consumo: 250uA por MIPS
  • Un producto muy desarrollado con una arquitectura limpia, permite portar codigo a otro miembro de la familia MSP430 casi sin necesidad de retoque.
  • Disponible en bajas cantidades atraves de los distribuidores de Texas Instruments
  • Muchas aplicaciones desarrolladas y codigos de ejemplo.
  • Muy buen rango de perifericos: ADC y DAC de presicion, Comparadores, OAMPs, LCD Drivers, SPI, UART, DMA.

Lo negativo

  • Posee una arquitectura Von Neuman, las instrucciones se toman de 1 a 4 bytes y utilizan de 1 a 6 ciclos de reloj.

PIC

Los microcontroladores PIC son unos de los mas populares de 8-bit. Microchip tiene cientos de diferentes microcontroladores desde los pequeños en encapsulados SOT23 hasta los 84-PLCC. Ellos pueden correr hasta 40Mhz y ejecutar instrucciones cada 4 ciclos de reloj.

Lo Positivo

  • Son muy baratos, los dispositivos como el PIC10Fxx llegan a costar $0.40 cuando se compran en volumenes.
  • Software de desarrollo en assembler gratuito (MPLAB)
  • Se encuentra una gran gama de dispositivos con diferentes tamaños de memorias y cantidad de perifericos.
  • Los puertos GPIO pueden entregar hasta 20mA lo que permite manejar LED`s y otros dispositivos directamente.
  • Hay diponibles para rangos de temperaturas extendidos de -40 a +125ºC

Lo Negativo

  • Escribir un programa en assembler es un arte que no muchos dominan y puede extender el código a cientos de lineas.
  • Algunos de los nuevos dispositivos tienen bugs de hardware y no son tan estables como los viejos OTP
  • No hay compatibilidad entre los diferentes PIC’s y hay que reescribir el código cada vez que se quiera cambiar de un PIC a otro.

Arduino

Arduino es libre y extensible: esto quiere decir que cualquiera que desee ampliar y mejorar tanto el diseño hardware de las placas como el entorno de desarrollo software y el propio lenguaje de programación, puede hacerlo sin problemas. Esto permite que exista un rico “ecosistema” de extensiones, tanto de variantes de placas no oficiales como de librerías software de terceros, que pueden adaptarse mejor a nuestras necesidades concretas.

Arduino tiene una gran comunidad: muchas personas lo utilizan, enriquecen la documentación y comparten continuamente sus ideas. Su entorno de programación es multiplataforma: se puede instalar y ejecutar en sistemas Windows, Mac OS X y Linux. Esto no ocurre con el software de muchas otras placas. Su entorno y el lenguaje de programación son simples y claros: son muy fáciles de aprender y de utilizar, a la vez que flexibles y completos para que los usuarios avanzados puedan aprovechar y exprimir todas las posibilidades del hardware. Además, están bien documentados, con ejemplos detallados y gran cantidad de proyectos publicados en diferentes formatos. Las placas Arduino son baratas: la placa Arduino estándar (llamada Arduino UNO) ya preensamblada y lista para funcionar cuesta alrededor de 20 euros. Incluso, uno mismo se la podría construir (Arduino es hardware libre, recordemos) adquiriendo los componentes por separado, con lo que el precio total de la placa resultante sería incluso menor. Las placas Arduino son reutilizables y versátiles: reutilizables porque se puede aprovechar la misma placa para varios proyectos (ya que es muy fácil de desconectarla, reconectarla y reprogramarla), y versátiles porque las placas Arduino proveen varios tipos diferentes de entradas y salidas de datos, los cuales permiten capturar información de sensores y enviar señales a actuadores de múltiples formas.

Información de Arduino tomada desde el Libro “Arduino-Curso Practico” del Autor Oscar Torrente Artero. Editorial AlfaOmega.

Anuncios

Blog de WordPress.com.

Subir ↑

A %d blogueros les gusta esto: