Microcontroladores

por | 12 mayo, 2016

Un microcontrolador (abreviado µC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una ordenador: unidad central de procesamiento, memoria y periféricos de entrada/salida.

Características de un Microcontrolador:

  • Velocidad del reloj u oscilador
  • Tamaño de palabra
  • Memoria: SRAM, Flash, EEPROM, ROM, etc..
  • I/O Digitales
  • Entradas Analógicas
  • PWM
  • DAC (Digital to Analog Converter)
  • Buses
  • UART
  • Otras comunicaciones.

Microcontrolador: http://es.wikipedia.org/wiki/Microcontrolador

Estructura genérica de un microcontrolador:

Existen MCUs genéricas y otros de propósito especial como los DSP, para aplicaciones de voz y vídeo por ejemplo.

Microcontroladores AVR

Los microcontroladores  AVR son una familia de microcontroladores RISC del fabricante estadounidense Atmel. La arquitectura de los AVR fue concebida por dos estudiantes en el Norwegian Institute of Los AVR son una familia de microcontroladores RISC del fabricante estadounidense Atmel. http://es.wikipedia.org/wiki/AVR

RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse. El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes de su ejecución.

Lo importante es saber que arduino no es el único microcontrolador ni la única plataforma. Lo mismo que hacemos con arduino se puede hacer con otros microcontroladores.

Un sistema embebido es un sistema diseñado para realizar una o algunas pocas funciones dedicadas, frecuentemente en un sistema de computación en tiempo real. Al contrario de lo que ocurre con los ordenadores de propósito general que están diseñados para cubrir un amplio rango de necesidades, los sistemas embebidos se diseñan para cubrir necesidades específicas. En un sistema embebido la mayoría de los componentes se encuentran incluidos en la placa base (la tarjeta de vídeo, audio, módem, etc.) Algunos ejemplos de sistemas embebidos podrían ser dispositivos como un termostato, un sistema de control de acceso, la electrónica que controla una máquina expendedora o el sistema de control de una fotocopiadora entre otras múltiples aplicaciones. El firmware es la programación que lleva dentro y es lo que vamos a aprender a programar.

Microntroladores AVR: http://www.atmel.com/products/microcontrollers/avr/

Microcontroladores Mega AVR, algunos usados en las plataformas Arduino: http://www.atmel.com/products/microcontrollers/avr/megaavr.aspx

El programa de muestras de Atmel permite obtener muestras gratuitas de productos de Atmel. Más información en: https://aprendiendoarduino.wordpress.com/2015/02/25/como-conseguir-un-arduino-gratis/

Atmel Studio, el IDE proporcionado por Atmel para programar sus MCUs: http://www.atmel.com/tools/ATMELSTUDIO.aspx

Un buen artículo de Atmel sobre Microcontroladores vs Microprocesadores: http://www.atmel.com/Images/MCU_vs_MPU_Article.pdf

Reference Guide para AVR MCUs, un poco antiguo pero muy interesante para saber la gama de MCUs de Atmel y donde situarlos: http://www.atmel.com/Images/doc4064.pdf

Los nuevos Arduinos ya no son microcontroladores Atmel AVR de 8-bit como hasta ahora eran casi todos, sino que ha apostado por la nueva gama de Atmel con arquitectura ARM http://www.atmel.com/products/microcontrollers/arm/default.aspx y especialmente por la serie SMART SAM D ARM® Cortex®-M0+: http://www.atmel.com/products/microcontrollers/arm/sam-d.aspx

Arduino con el lanzamiento del Arduino 101 también ha dado el salto a las MCUs de Intel, en concreto con las MCU Intel Curie: http://www.intel.com/content/www/us/en/wearables/wearable-soc.html

Y Arduino no solo se queda en los microcontroladores sino que con el Arduino Yun y Arduino Yun Shield entra dentro de los sistemas con linux embebido en un microprocesador al estilo de una Raspberry Pi pero con una filosofía diferente.

Otras utilidades y placas en lugar de Arduino para programar MCUs de Atmel:

Otros Microcontroladores

Existen muchos fabricantes de microcontroladores pero los principales son:

Ejemplo de microcontrolador de TI: http://es.wikipedia.org/wiki/MSP430 y su software de desarrollo: http://www.ti.com/tool/msp430ware?DCMP=msp430ware&HQS=msp430ware

Otros microcontroladores muy conocidos son los PIC de microchip:

MPLAB: entorno de desarrollo para los PIC: http://www.microchip.com/mplab/mplab-x-ide  

Ejecutar código de Arduino en un PIC mediante MPLAB: http://circuitcellar.com/cc-blog/execute-open-source-arduino-code-in-a-pic-microcontroller-using-the-mplab-ide/

Pero microchip ha sacado MPIDE http://chipkit.net/started/learn-basics/mpide-quick-start-guide/ para programar como Arduino las MCUs PIC en sus plataformas de prototipado chipkit http://www.microchip.com/devtoolthirdparty/ThirdpartyListing.aspx?catId=904c0424-a68f-44ac-aca4-eb13a629a9f8 y http://store.digilentinc.com/brands/chipKIT.html

Recientemente Microchip y ATmel se han fusionado: http://www.nasdaq.com/article/microchip-atmel-merger-closing-today-on-shareholders-vote-cm601083

Un enlace muy interesante con mucha información sobre microcontroladores para ampliar conocimientos: http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-microcontroladores/

Y mucha más información sobre cómo programar microcontroladores PIC: http://www.mikroe.com/products/view/285/book-pic-microcontrollers-programming-in-c/

Deja un comentario