lunes, 12 de septiembre de 2016

RANKING DE VENTAS DE MICROCONTRLADORES

MICROCONTROLADOR PIC 16F887

APLICACIÓN DEL MICROCONTROLADOR


Aplicaciones de los microcontroladores

Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de microcontroladores oferta un elevado número de modelos diferentes, desde los más sencillos hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el número de líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la selección del microcontrolador a utilizar.
    Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su fiabilidad y disminuir el consumo.
    Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de estos componentes.
    Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, ordenadores, impresoras, módems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan familiarizados como instrumentación electrónica, control de sistemas en una nave espacial, etc. Una aplicación típica podría emplear varios microcontroladores para controlar pequeñas partes del sistema. Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central, probablemente más potente, para compartir la información y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.
    Los microcontroladores se encuentran por todas partes:
  • Sistemas de comunicación: en grandes automatismos como centrales y en télefonos fijos, móviles, fax, etc.
  • Electrodomésticos: lavadoras, hornos, frigoríficos, lavavajillas, batidoras, televisores, vídeos, reproductores DVD, equipos de música, mandos a distancia, consolas, etc.
  • Industria informática: Se encuentran en casi todos los periféricos; ratones, teclados, impresoras, escáner, etc.
  • Automoción: climatización, seguridad, ABS, etc.
  • Industria: Autómatas, control de procesos, etc
  • Sistemas de supervisión, vigilancia y alarma: ascensores, calefacción, aire acondicionado, alarmas de incendio, robo, etc.
  • Otros: Instrumentación, electromedicina, tarjetas (smartcard), sistemas de navegación, etc.
    La distribución de las ventas según su aplicación es la siguiente:
  • Una tercera parte se absorbe en las aplicaciones relacionadas con los ordenadores y sus periféricos.
  • La cuarta parte se utiliza en las aplicaciones de consumo (electrodomésticos, juegos, TV, vídeo, etc.)
  • El 16% de las ventas mundiales se destinó al área de las comunicaciones.
  • Otro 16% fue empleado en aplicaciones industriales.
  • El resto de los microcontroladores vendidos en el mundo, aproximadamente un 10% fueron adquiridos por las industrias de automoción.

ARQUITECTURA DEL MICROCONTROLADOR

Arquitectura Von Neumann La arquitectura tradicional:

La arquitectura tradicional de computadoras y microcontroladores se basa en el esquema propuesto por John Von Neumann, en el cual la unidad central de proceso, o CPU, esta conectada a una memoria única que contiene las instrucciones del programa y los datos. El tamaño de la unidad de datos o instrucciones esta fijado por el ancho del bus de la memoria. Las dos principales limitaciones de esta arquitectura tradicional son :
a) Que la longitud de las instrucciones esta limitada por la unidad de longitud de los datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para buscar instrucciones complejas.
b) La velocidad de operación (o ancho de banda de operación) esta limitada por el efecto de cuello de botella que significa un bus único para datos e instrucciones que impide superponer ambos tiempos de acceso.
La arquitectura von Neumann permite el diseño de programas con código automodificable, práctica bastante usada en las antiguas computadoras que solo tenían acumulador y pocos modos de direccionamiento, pero innecesaria, en las computadoras modernas.

La arquitectura Harvard y sus ventajas:


La arquitectura conocida como Harvard, consiste simplemente en un esquema en el que el CPU esta conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria de Datos. Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set de instrucciones y el bus de la memoria de programa pueden diseñarse de manera tal que todas las instrucciones tengan una sola posición de memoria de programa de longitud. Además, como los buses son independientes, el CPU puede estar accediendo a los datos para completar la ejecución de una instrucción, y al mismo tiempo estar leyendo la próxima instrucción a ejecutar. Podemos observar claramente que las principales ventajas de esta arquitectura son:
a) El tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.
b) El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operación.
Una pequeña desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran físicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador).

Arquitectura interna de un microcontrolador.



CPU (unidad central de proceso):

Podemos decir que la CPU, siglas en inglés de unidad central de proceso, es el núcleo del microcontrolador. Se encarga de ejecutar las instrucciones almacenadas en la memoria, de la que hablaremos más adelante. Es lo que habitualmente llamamos procesador o microprocesador, término que a menudo se confunde con el de microcontrolador. En esta línea cabe aclarar que, tal y como estamos viendo, ambos términos no son lo mismo: el microprocesador es una parte de un microcontrolador y sin él no sería útil; un microcontrolador, en cambio, es un sistema completo que puede llevar a cabo de forma autónoma una labor.

Memoria:

Entendemos por memoria los diferentes componentes del microcontrolador que se emplean para almacenar información durante un periodo determinado de tiempo. La información que necesitaremos durante la ejecución del programa será, por un lado, el propio código, y por otro, los diferentes datos que usemos durante la ejecución del mismo. Hablaremos por tanto de memoria de programa y de memoria de datos, respectivamente.
La diferente naturaleza de la información que hay que almacenar hace necesario el uso de diferentes tipos memorias. Sin hacer especial énfasis en este apartado, sí habrá que tener en cuenta una clasificación básica, que distingue entre memoria volátil y no volátil. La primera es aquella que pierde la información que almacena al desconectarla de la alimentación; la segunda, como resulta obvio, no. Por lo tanto, se hace evidente que al menos la memoria de programa deberá ser no volátil: no sería práctico que el programa grabado en el microcontrolador se borrara cada vez que apagáramos el dispositivo. Con respecto a la memoria de datos, diremos por el momento según la situación puede interesarnos una u otra.

Unidades de entrada/salida:

Las unidades de entrada/salida son los sistemas que emplea el microcontrolador para comunicarse con el exterior. Imaginemos una televisión: por un lado tiene un dispositivo de salida, como es la pantalla, y por otro lado, de entrada, como son los botones de subir o bajar volumen y de cambio de canal. Así, los dispositivos de entrada nos permitirán introducir información en el microcontrolador y los de salida nos servirán para que éste la saque al exterior.

Arquitectura RISC y CISC

RISC (Reduced Instruction Set Computer) – Computadora con Juego de Instrucciones Reducidas.

En este caso la idea es que el microcontrolador reconoce y ejecuta sólo operaciones básicas (sumar, restar, copiar etc…) Las operaciones más complicadas se realizan al combinar éstas (por ejemplo, multiplicación se lleva a cabo al realizar adición sucesiva). Es como intentar explicarle a alguien con pocas palabras cómo llegar al aeropuerto en una nueva ciudad. Sin embargo, no todo es tan oscuro. Además, el microcontrolador es muy rápido así que no es posible ver todas las “acrobacias” aritméticas que realiza. El usuario sólo puede ver el resultado final de todas las operaciones. Por último, no es tan difícil explicar dónde está el aeropuerto si se utilizan las palabras adecuadas tales como: a la derecha, a la izquierda, el kilómetro etc.

CISC (Complex Instruction Set Computer) – Computadoras con un juego de instrucciones complejo.

¡CISC es opuesto a RISC! Los microcontroladores diseñados para reconocer más de 200 instrucciones diferentes realmente pueden realizar muchas cosas a alta velocidad. No obstante, uno debe saber cómo utilizar todas las posibilidades que ofrece un lenguaje tan rico, lo que no es siempre tan fácil.

PRINCIPALES FABRICANTES DE MICRONTROLADORES

Empresas fabricantes de microcontroladores

En este apartado les daremos a conocer algunas empresas dedicadas al rubro de la fabricación de los microprocesadores y lo que a nosotros nos importa los microcontroladores, junto con conocer su rubro se dará a conocer su mayor aporte en los comienzos de la carrera de los microcontroladores.


Microchip:

 Microchip Technology Inc. es una empresa fabricante de microcontroladores, memorias y semiconductores analógicos, situada en Chandler, Arizona, EE. UU. Su Producto más pupular son los microcontroladores PIC de 8 bits.

Atmel Corporation:

Atmel es una compañía de semiconductores, fundada en 1984. Su línea de productos incluye microcontroladores (incluyendo derivados del 8051, el AT91SAM basados en ARM, y sus arquitecturas propias AVR y AVR32), dispositivos de radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y muchas otras. También tiene capacidad de ofrecer soluciones del tipo system on chip (SoC).

freescale semiconductor:

Freescale Semiconductor es una compañía global líder en la industria de semiconductores enfocada proveer procesamiento embebido y productos de conectividad.
Actualmente, se enfoca al suministro de productos para la industria automotriz, de redes, comunicaciones inalámbricas, control industrial e industrias de consumo electrónico. Con se oferta de procesadores embebidos y de productos complementarios, proporciona una solución completa de semiconductores y software.

Texas Instruments:

Texas Instruments o TI, es una empresa norteamericana que desarrolla y comercializa semiconductores y tecnología para sistemas de cómputo.
Igualmente, es el mayor productor de procesadores digitales de señal y semiconductores analógicos.TI es el tercer mayor fabricante de semiconductores del mundo tras Intel y Samsung y es el mayor suministrador de circuitos integrados para teléfonos móviles.
Otras áreas de actividad incluyen circuitos integrados para módem de banda ancha, periféricos para ordenadores, dispositivos digitales de consumo y RFID.

ZiLOG Inc:

ZiLOG Inc, es un fabricante de microprocesadores y microcontroladores. Su producto más conocido es el Zilog Z80 de 8 bits.

Motorola:

Motorola Empresa dedicada a fabricar microprocesadores y microcontroladores entre otros productos, su mayor logro en la industria fue poner al Mercado un microprocesador de 8 bits, llamado 6800. Motorola fue la primera compañía en construir otros periféricos como el 6820 y el 6850.

Intel:

Intel empresa dedicada a la fabricación de microcontroladores y microprocesadores, aunque no trabajaba sola obtuvo un logro en abril de 1974 pone en el Mercado el microprocesador bajo el nombre 8080 con capacidad de direccionar 64kb de memoria, con 75 instrucciones y un precio de inicio de $360 dólares.

DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADOR

Ciertamente la gran mayoría de nosotros hemos escuchado hablar acerca de microprocesadores y microcontroladores y tal vez no sepamos cual es la diferencia entre uno y otro, o peor aún, nos podemos confundir al emplear cualquiera de las dos palabras.
Existe mucha información en internet acerca de microprocesadores y microcontroladores. Pero a veces la información es muy extensa y no muy fácil de comprender. 

El Procesador
Pues bien definamos a un microprocesador o procesador como un elemento de hardware que se encarga como su nombre mismo lo dice procesar datos a partir de ciertas instrucciones de entrada arrojando cierto resultado, todo esto en base a su set de instrucciones que incorpora.
Un microprocesador por si solo sería prácticamente inservible,  para que funcione necesita estar conectado mediante diferentes buses a otros elementos como la memoria RAM, y dispositivos de entrada y salida (E/S) y otro tipo de memoria especial llamada EEPROM que almacena los datos de forma permanente aun sin energía eléctrica.
La mayora de los procesadores de las PCs personales  suelen utilizar la arquitectura Von Neuman. En esta arquitectura el procesador comparte la memoria RAM para almacenar las instrucciones del programa y los datos.

Debemos comprender que en una PC, cuando se carga un programa en memoria, a éste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales típicamente tenderemos los siguientes: código (programa), datos y pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos físicos en el sistema (HDD, RAM, CD, FLASH).

Utilizar la arquitectura tiene ventajas y desventajas, una de ellas es que al utilizar la misma memoria para almacenar los datos de programa y las instrucciones, solo se utilizan tres buses (de control, de datos y de direcciones) de estar separadas utilizaríamos otros tres buses mas, que con respecto al diseño seria más costosa.

Como desventaja principal de esta arquitectura encontramos que el procesador no puede acceder a los datos de programa y a las instrucciones al mismo tiempo, sino que debe almacenar una de ellos en los registros del procesador y volver a consultar las instrucciones para ejecutar, esto se traduce en pérdida de tiempo ya que el procesador tendrá que acceder dos veces a la memoria para poder ejecutar una sola instrucción.

También existe otro tipo de arquitectura llamada Harvard que es utilizada comúnmente por supercomputadoras o Mainframes. Esta define que la memoria de datos de programa y las instrucciones deben estar separadas. Con esto se tienen que crear otros tres buses a la otra memoria que incorporamos. Pero vale la pena ya que podemos procesar la información más rápido, pues se puede acceder a la memoria de datos y a las instrucciones al mismo tiempo.

Set de instrucciones del procesador
Define las operaciones básicas que puede realizar el procesador, que conjugadas y organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento básico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra. 
Existen dos tipos de set de instrucciones: CISC y RISC
Las instrucciones CISC (Complex Instruction Set Computer, Computadora de Conjunto de Instrucciones Complejo) se caracterizan por tener un repertorio amplio de instrucciones, que pueden hacer cálculos muy complejos. Pero también se complica su uso.
El tipo RISC (Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones Reducido) se distingue por sus pocas instrucciones, y tamaño un tamaño fijo por instrucción además permite el paralelismo en la ejecución.

El Microcontrolador

Un Microcontrolador en realidad no es otra cosa más que una mini computadora  embebida dentro de un solo encapsulado del tamaño de un chip. Este cuenta con procesador, memoria RAM, Memoria ROM y periféricos de entrada y  salida.

Técnicamente un Microcontrolador lleva dentro un Microprocesador.  Este a su vez cuenta con buses de datos, control y dirección hacia la memoria y hacia los periféricos o puertos.


La arquitectura de estos dispositivos es la Harvard quiere decir que poseen 2 memorias una memoria RAM que almacena los datos y otra de tipo EPROM o EEPROM que almacena el programa. Al usar esta arquitectura tiene la ventaja de poder usar simultáneamente los dos tipos de memoria y en lugar de ser una desventaja como lo era con una PC normal puesto que todo se encuentra en un solo encapsulado puede implementarse fácilmente.
El set de instrucciones es del tipo RISC las cuales ya vimos anteriormente. El lenguaje nativo de estos dispositivos es el lenguaje ensamblador. Aunque en la actualidad hay muchas empresas que se dedican a desarrollar compiladores que funcionan con la sintaxis de C o Basic que después traducirán a lenguaje máquina para  programar el Microcontrolador.
Existen muchos fabricantes como Intel, Motorola, Texas Instruments, etc. Pero los más conocidos son los PICs de Microchip y los AVR de Atmel.
Actualmente a los microcontroladores se les puede hallar en muchísimos electrodomésticos como lavadoras, hornos de micro ondas, DVDs etc. Por su bajo precio, fácil programación y la extensa información que circula en internet estos se han vuelto muy utilizados en la electrónica y ramas afines.

jueves, 8 de septiembre de 2016

QUE ES UN MICROCONTROLADOR Y SU HISTORIA

¿Que son los microcontroladores?

Un microcontrolador es un circuito integrado digital que puede ser usado para muy diversos propósitos debido a que es programable. Está compuesto por una unidad central de proceso (CPU), memorias (ROM y RAM) y líneas de entrada y salida (periféricos).
Como podrás darte cuenta, un microcontrolador tiene los mismos bloques de funcionamiento básicos de una computadora lo que nos permite tratarlo como un pequeño dispositivo de cómputo.


Evolución del  Microcontrolador

A medida que fue transcurriendo el tiempo los microcontroladores fueron tomando mayor relevancia en el ámbito de la electrónica y la computación, esto debido a los grandes resultados que se obtienen al integrarlos a los distintos circuitos eléctricos  tomando muchas veces el control completo de un sistema y también a la gran evolución que tuvieron durante en transcurso del tiempo en cuanto a su arquitectura y funcionamiento, continuación les presentamos una pequeña lista de la evolución de los microcontroladores.

Empezamos nuestra lista con:

8048 (Intel):

 Tiene arquitectura de Harvard modificada con programa ROM en chip con una memoria RAM de 64 a 256 bytes adicionales en el chip. La entrada salida tiene su propio espacio de memoria.

8051 (Intel y otros):


Segunda generación de microcontroladores Intel, ha marcado muchas de las características actuales.Tiene un diseño un poco raro, pero es muy potente y sencillo de programar (una vez que se conoce). Su arquitectura es Hardvard Modificada con espacio de direcciones separadas para memoria de programa y memoria de datos.
El 8051 puede direccionar hasta 64k de memoria de datos externa, y solo puede acceder a ella mediante direccionamiento indirecto. 80c196 (MCS-96)
La tercera generación de microcontroladores Intel, el 80C196 es un procesador de 16 bits. Originalmente fabricado en tecnología NMOS (8096), ahora está disponible principalmente en CMOS. Intel Corp. Ha introducido recientemente una versión del doble de velocidad (50 MHz) del 80C196. Sus características son:

Multiplicador y divisor hardware, 6 modos de direccionamiento. Alta velocidad de E/S.
Conversor A/D.
Canal de comunicaciones Serie.
Hasta 40 puertos de E/S.
8 Controladores de interrupción programables.

80186,80188 (Intel):

Estos chips son, fundamentalmente, la versión en microcontrolador del 8086 y del 8088 (del famoso IBM PC).
El chip tiene:
2 Canales de DMA (acceso directo a memoria)
2 Contadores/temporizadores.
Controlador de interrupción programable.
Refresco de RAM dinámica.
Una de las mayores ventajas de estos dispositivos es que se pueden utilizar herramientas de desarrollo estándar para PC (Compiladores, ensambladores, etc.). 80386 EX Intel

El 80386 EX:

es por supuesto un 386 vestido de microcontrolador, dentro del chip existen:
Entrada/Salida serie.
Manejo de la alimentación del chip.
DMA (Acceso directo a memoria)
Contadores/Temporizadores.
Circuito de refresco para memoria DRAM.
Una de las mayores ventajas de estos dispositivos es que se pueden utilizar herramientas de desarrollo estándar para PC (Compiladores, ensambladores, etc.).


65C02/W65C816S/W65C134S WDC (Western Design Center):

El Western Design Center Inc. es el dueño original y diseñador del microcontrolador 65C02 de 8-bit que se usó en el Apple original.
Para el ordenador Commodore y el Atari WDC desarrollo el microprocesador 65C816 de 16 bits.
El W65C816S es un microcontrolador con un 65C02 dentro.
El W65C134S es un microcontrolador hecho con un 65C816.

68HC05 (Motorola):

Está basado en el antiguo 6800, tiene arquitectura Von-Neuman donde las instrucciones, datos, entrada/salida y temporizadores ocupan un mismo espacio de memoria.
El puntero de pila tiene un ancho de palabra de 5 bits, lo que limita la pila a 32 posiciones, algunos modelos incluyen:
Conversor A/D.
Sintetizador PLL.
E/S serie.

68HC11 (Motorola y Toshiba):

El popular 68HC11 es un poderoso microcontrolador de Motorola de 8 bits con las siguientes características:
Direcciones de 16 bits.
Juego de instrucciones similar a la familia 68xx. (6801, 6805, 6809)
Tiene un único espacio de memoria principal donde están las instrucciones, datos, E/S, y temporizadores. 

PIC (MicroChip):

Aunque el éxito de los microcontroladores PIC es reciente, su introducción en el mercado se realizó hace 20 años.
Los microcontroladores PIC fueron los primeros microcontroladores RISC, RISC generalmente implica que la simplicidad de diseño permite añadir más características a bajo precio y la línea PIC no es una excepción.
Aunque tiene pocas instrucciones (33 instrucciones el 16C5X mientras que el Intel 8048 tiene más de 90), la línea PIC tiene las características siguientes:
Buses de instrucciones y datos separados (arquitectura Harvard) lo que permite el acceso simultáneo a las instrucciones y a los datos, y el solapamiento de algunas operaciones para incrementar las prestaciones de proceso.
Los microcontroladores PIC están ganando popularidad debido a su bajo costo, pequeño tamaño y a su bajo consumo pueden ser usados en áreas en las que antes se pensaba que eran inapropiados.

COP400 Familia:

La familia C0P400 es un microcontrolador de 4 bit P2CMOS que ofrece desde 512 hasta 2K de ROM y desde 32×4 hasta 160×4 de memoria RAM.
Lejos de la vieja tecnología, los microcontroladores de 4 bits tienen un importante mercado y tienen más aplicaciones que nunca.
Estos dispositivos son muy versátiles, hay más de 60 diferentes.

COP800 Familia (National Semiconductor):

La familia COP800 Basic es un microcontrolador de 8 bits totalmente estático, fabricado usando puertas “double metal silicon” de tecnología microCMOS.
Este microcontrolador de bajo costo contiene:
Temporizadores. Lógica de Interrupción.
Memoria ROM. Memoria RAM. Entrada/Salida
Memoria de E/S mapeada. Entrada/Salida serie Microwire.
UART Muchos temporizadores/Contadores de 16 bits.
Interrupciones vectorizadas.Comparador.
Temporizador WATCHDOG. Monitor de reloj.
Conversor A/D de 8 canales. Protección Brownout.