sábado, 6 de diciembre de 2008

MICROCONTROLADORES


Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado.

Características

Son diseñados para disminuir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o más Códec de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil.

Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (vd. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.

Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de entrada/salida (puertos) y la memoria para almacenamiento de información.

Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control 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. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el BASIC que se utiliza bastante con este propósito.

Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.

Familias de microcontroladores

Los microcontroladores más comunes en uso son:

Empresa

8 bits

12 bits

14 bits

16 bits

32 bits

64 bits

Observaciones

Atmel
AVR

ATmega8







Freescale
(antes
Motorola)

68HC05, 68HC08, 68HC11, HCS08

x

x

68HC12, 68HCS12, 68HCSX12, 68HC16

683xx, PowerPC Architecture

x

x

Hitachi, Ltd

H8

x

x

x

x

x

x

Holtek

HT8







Intel

MCS-48 (familia 8048)
MCS51 (familia 8051)
8xC251

x

x

MCS96, MXS296

x

x

x

Aplicaciones de los microcontroladores.

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, computadoras, 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.



EVOLUCION

En 1980 aproximadamente, los fabricantes de circuitos integrados iniciaron la difusión de un nuevo circuito para control, medición e instrumentación al que llamaron microcomputador en un sólo chip o de manera más exacta MICROCONTROLADOR.

Un microcontrolador es un circuito integrado que contiene toda la estructura (arquitectura) de un microcomputador, o sea CPU, RAM, ROM y circuitos de entrada y salida. Los resultados de tipo práctico, que pueden lograrse a partir de éstos elementos, son sorprendentes.

Algunos microcontroladores más especializados poseen además convertidores análogo digital, temporizadores, contadores y un sistema para permitir la comunicación en serie y en paralelo.

Se pueden crear muchas aplicaciones con los microcontroladores. Estas aplicaciones de los microcontroladores son ilimitadas (el límite es la imaginación) entre ellas podemos mensionar: sistemas de alarmas, juego de luces, paneles publicitarios, etc. Controles automáticos para la Industria en general. Entre ellos control de motores DC/AC y motores de paso a paso, control de máquinas, control de temperatura, control de tiempo, adquisición de datos mediante sensores, etc.

ALGUNOS TIPOS DE MICROCONTROLADORES...

ALTAIR

ALTAIR es el nombre genérico de una familia de microcontroladores de propósito general compatibles con la familia 51. Todos ellos son programables directamente desde un equipo PC mediante nuestro lenguaje macroensamblador, o bien mediante otros lenguajes disponibles para la familia 51 (BASIC, C, ...).

Los microcontroladores ALTAIR disponen de un microprocesador de 8 bits 100% compatible a nivel de código, 256 bytes de memoria interna, 128 registros especiales de función, puertos de entrada/salida de propósito general, 111 instrucciones y posibilidad de direccionar 128 Kbytes.

Unos microcontroladores ALTAIR se diferencian de otros por el número de entradas salidas, periféricos (DAC, ADC, WATCHDOG, PWM, velocidad de ejecución, etc.). Por lo que la elección de un modelo u otro dependerá de las necesidades. Como entrenador o sistema de iniciación recomendamos la utilización de un ALTAIR 32 BASICO o bien un ALTAIR 535A completo. En proyectos avanzados o desarrollos profesionales puede ser preferible un ALTAIR 537 A.

Tanto al 535 como al 537 se pueden complementar con nuestra EMULADOR EPROM PARA 535/537, que actuará como un emulador de EPROMs. Con ello facilitará notablemente la puesta a punto de las aplicaciones.

INTEL (La familia 8051)

El 8051 es el primer microcontrolador de la familia introducida por Intel Corporation. La familia 8051 de microcontroladores son controladores de 8 bits capaces de direccionar hasta 64 kbytes de memoria de programa y una separada memoria de datos de 64 kbytes. El 8031(la versión sin ROM interna del 8051, siendo esta la única diferencia) tiene 128 bytes de RAM interna (el 8032 tiene RAM interna de 256 bytes y un temporizador adicional). El 8031 tiene

dos temporizadores/contadores, un puerto serie, cuatro puertos de entrada/salida paralelas de propósito general (P0, P1, P2 y P3) y una lógica de control de interrupción con cinco fuentes de interrupciones. Al lado de la RAM interna, el 8031 tiene varios Registros de Funciones especiales(SFR)(Special Function Registers) que son para control y registros de datos. Los SFRs también incluyen el registro acumulador, el registro B, y el registro de estado de programa(Program Status Word)(PSW), que contienen los Flags del CPU.

Bloques separados de memoria de código y de datos se denomina como la Arquitectura Harvard. El 8051 tiene dos señales de lectura separadas, los pines RD(P3.7, pin 17) y PSEN(pin 29). El primero es activado cuando un byte va ser leído desde memoria de datos externo; el otro, cuando un byte va ser leído desde memoria de programa externo. Ambas de estas señales son señales activas en nivel bajo. Esto es, ellos son aclarados a nivel lógico 0 cuando están activados. Todo código externo es buscado desde memoria de programa externo. En adición, bytes de memoria de programa externo pueden ser leídos por instrucciones de lectura especiales, tal como la instrucción MOVC. Hay también instrucciones separadas para leer desde memoria de datos externo, tal como la instrucción MOVX. Esto significa que las instrucciones determinan que bloque de memoria es direccionado, y la señal de control correspondiente, o RD o PSEN, es activado durante el ciclo de lectura de memoria. Un único bloque de memoria puede ser mapeado para actuar como memoria de datos y de programa. Esto es lo que se llama la arquitectura Von Neuman. Para leer desde el mismo bloque usando o la señal RD o la señal PSEN, las dos señales son combinadas con una operación AND lógico. La arquitectura Harvard es algo extraño en sistemas de evaluación, donde código de programa necesita ser cargado en memoria de programa. Adoptando la arquitectura Von Neuman, el código puede ser escrito a la memoria como bytes de datos y luego ejecutado como instrucciones de programa.

La ROM interna del 8051 y el 8052 no pueden ser programados por el usuario. El usuario debe suministrar el programa al fabricante, y el fabricante programa los microcontroladores durante la producción. Debido a costos, la opción de la ROM programado por el fabricante no es económica para producción de pequeñas cantidades. El 8751 y el 8752

son las versiones Erasable Programmable Read Only Memory(EPROM) del 8051 y el 8052. Estos pueden ser programados por los usuarios.

Durante la decada pasada muchos fabricantes introducieron miembros mejorados del microcontrolador 8051. Las mejoras incluyen más memoria, más puertos, convertidores análogo-digital; más temporizadores, más fuentes de interrupción, watchdog timers, y subsistemas de comunicación en red. Todos los microcontroladores de la familia usan el mismo conjunto de instrucciones, el MCS-51. Las caracteristicas mejoradas son programadas y controladas por SFRs adicionales.

SIEMENS

El Siemens SAB80C515 es un miembro mejorado de la familia 8051 de microcontroladores. El 80C515 es de tecnología CMOS que tipicamente reduce los requerimientos de energía comparado a los dispositivos no-CMOS. Las características que tiene frente al 8051 son más puertos, un versátil convertidor análogo a digital, un optimizado Timer 2, un watchdog timer, y modos de ahorro de energía sofisticados. El 80C515 es completamente compatible con el 8051. Esto es, usa el mismo conjunto de instrucciones del lenguaje assembly MCS-51. Las nuevas facilidades del chip son controladas y monitoreadas atraves de SFRs adicionales. El 80C515 tiene todas las SFRs del 8051, y de este modo puede correr cualquier programa escrito para el 8051 con la excepción del uso del registro prioridad de interrupción IP. Por tanto si un programa 8051 usa prioridades de interrupción, debe ser modificado antes de que se ejecute sobre el 80C515. El agobio de modificar código 8051 existente es fácilmente justificado por la disponibilidad de más fuentes de interrupción y prioridades del 80C515.

MOTOROLA

El 68hc11 de la familia Motorola, es un potente microcontrolador de 8 bits en su bus de datos, 16 bits en su bus de direcciones, con un conjunto de instrucciones que es similar a los más antiguos miembros de la familia 68xx (6801, 6805, 6809). Dependiendo del modelo, el 68hc11 tiene internamente los siguientes dispositivos: EEPROM o OTPROM, RAM, digital I/O, timers, A/D converter, generador PWM, y canales de comunicación sincrónica y asincrónica (RS232 y SPI). La corriente típica que maneja es menor que 10ma.

El CPU tiene 2 acumuladores de 8 bits (A y B) que pueden ser concatenado para suministrar un acumulador doble de 16 bits(D). Dos registros índices de 16 bits son presentes (X, Y) para suministrar indexsamiento para cualquier lugar dentro del mapa de memoria. El tener dos registros índices significa que el 68hc11 es muy bueno para el procesamiento de datos. Aunque es un microcontrolador de 8 bits, el 68hc11 tiene algunas instrucciones de 16 bits (add, subtract, 16 * 16 divide, 8 * 8 multiply, shift, y rotates). Un puntero de pila de 16 bits está también presente, y las instrucciones son suministradas para manipulación de la pila. Típicamente el bus de datos y direcciones están multiplexados. El temporizador comprende de un único contador de 16 bits y hay un preescalador programable para bajarlo si es requerido. Viene con un convertidor A-D que es típicamente de 8 canales y 8 bits de resolución, aunque el G5 tiene un A/D de 10 bits. Viene con una Interface de comunicaciones serie (SCI) - comunicaciones serie asíncrona; formato de datos 1 bit start, 8 o 9 bits de datos, y un bit de parada. Velocidad en baudios desde 150 hasta 312500 (312500 es usando un reloj E de 4mhz). Tiene una Interface periférico serie (SPI) - comunicaciones serie sincrónica.

MICROCHIP

Los microcontroladores PIC de Microchip Technolohy Inc. combinan una alta calidad, bajo coste y excelente rendimiento. Un gran número de estos microcontroladores son usados en una gran cantidad de aplicaciones tan comunes como periféricos del ordenador, datos de entrada automoción de datos, sistemas de seguridad y aplicaciones en el sector de telecomunicaciones.

Tanto la familia del PIC16XX como la del PIC17XX están apoyadas por un rango de usuario de sistemas de desarrollo amistosos incluso programadores, emuladores y tablas del demostratrion. Así mismo ambas familias están apoyadas por una gran selección de software incluyendo ensambladores, linkadores, simuladores, etc...

AUTÓMATA O MICROCONTROLADOR

Microcontrolador

Autómata Programable

La mayoría de los microcontroladores pueden ejecutar entre 1 millón y 5 millones de instrucciones por segundo. Es ideal para procesamientos muy rápidos en tiempo real.

Un autómata programable ejecuta entre 300 y 30.000 instrucciones por segundo.

Se suele programar con un lenguaje de bajo nivel tipo ensamblador o C o bien alto nivel como el BASCOM LT, donde el usuario debe desarrollarse manejadores para los diferentes periféricos.

Se programa siempre mediante un lenguaje de alto nivel, el BASIC, en el que todos los manejadores de periféricos ya están preprogramados. Con él se pueden desarrollar aplicaciones en menor tiempo.

La utilización de un microcontrolador requiere de un periodo de aprendizaje relativamente largo, estando normalmente vedado a técnicos experimentados.

Una persona no experimentada o incluso un niño puede comenzar a realizar programas el primer día. Apenas requiere de tiempo de aprendizaje o conocimientos previos.

Es mucho más flexible en el sentido de que todas las entradas/salidas son de propósito general. Esta flexibilidad obliga a su usuario a desarrollar su propia electrónica.

Cada entrada/salida tiene una función preasignada, esto es, LCD, teclado, relés, triacs, optoacopladores, ... Toda la electrónica básica ya está desarrollada.

Su electrónica en mucho más simple, por lo que su consumo es inferior a 50 mA. Se pueden lograr aplicaciones concretas con consumos muy bajos del orden de los 5 mA.

Su consumo, y peso, es relativamente alto, no siendo adecuado para aplicaciones portátiles o de larga duración que deban alimentarse a pilas. Su consumo es superior a los 500 mA, pudiendo un sistema con 64 entradas/salidas llegar a los 3A.

Para dejar los programas residentes requiere de un programador de EPROMs externo.

No requiere de ningún dispositivo de grabación externo, todos los datos son almacenados permanentemente a través del puerto serie.

A mismo número de entradas/salidas tiene un precio notablemente inferior, pero debe tenerse en cuenta que trabaja con tensiones de 5 voltios y corrientes muy pequeñas del orden de miliamperios. Sus señales están disponibles en conectores de 1,27 milímetros.

Su precio es superior, pero las entradas/salidas pueden aceptar directamente tensiones de 5, 12, 24, 110 y 220 voltios. Las señales están disponibles en regletas de paso 5 milímetros.

Nuestro consejo es que si la aplicación que va a desarrollar no va a producirse en serie (más de 100 unidades/año) utilice un autómata, siempre y cuando no disponga de limitaciones de tamaño, consumo o peso. Normalmente el coste de desarrollo sobre microcontrolador es muy superior, no compensando la diferencia de precio.

Si tuviéramos que hacer una comparación, un día de trabajo sobre un autómata puede rendir lo mismo que una semana sobre un microcontrolador. Esta comparación depende de la aplicación y de los técnicos que la desarrollan.





http://www.monografias.com/trabajos27/microcontroladores/microcontroladores.shtml

MICROCONTROLADORES PIC

Características relevantes de los PIC

  • La arquitectura del procesador sigue el modelo Harvard.
  • Se aplica la técnica de segmentación ("pipe-line") en la ejecución de las instrucciones.
  • El formato de todas las instrucciones tiene la misma longitud.
  • Procesador RISC (Computador de Juego de Instrucciones Reducido).
  • Todas las instrucciones son ortogonales.
  • Arquitectura basada en un banco de registros.
  • Prácticamente todos los PIC se caracterizan por poseer unos mismos recursos mínimos.
  • Modelos de arquitectura cerrada y de arquitectura abierta.
  • Diversidad de modelos de microcontroladores.
  • Amplio margen de alimentación y corrientes de salida elevadas.
  • Herramientas de soporte potentes y económicas.

1ª. La arquitectura del procesador sigue el modelo Harvard.

La repercusión más importante del empleo de la arquitectura Harvard en los microcontroladores PIC se manifiesta en la organización de la memoria del sistema. La memoria de programa o instrucciones es independiente de la de los datos, teniendo tamaños y longitudes de palabra diferentes.

La arquitectura Harvard permite a la CPU acceder simultáneamente a las dos memorias. Además, propicia numerosas ventajas al funcionamiento del sistema.

En los PIC, el formato de las instrucciones es de 12 bits, 14 bits o 16 bits según el modelo y, en consecuencia, la longitud de las palabras de la memoria de instrucciones o programa corresponde con esa longitud. Este tamaño permite codificar en una palabra el código de operación de la instrucción junto al operando o su dirección.

Para adaptarse a las necesidades de las aplicaciones del usuario hay modelos con 512 posiciones para la memoria de instrucciones y otros que tienen 1 k, 2 k , y hasta 64 k posiciones de memoria.

Existen varias versiones de memoria de instrucciones para los PIC:

  • Versión Flash. Utiliza una memoria EEPROM tipo Flash, que puede grabarse y borrarse muchas veces.

DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.3
  • Versión OTP . ("One Time Programmable") "Programable una sola vez". Sólo se puede grabar una vez por el usuario sin la posibilidad de borrar lo que se graba. Resulta mucho más económica en la implementación de prototipos y pequeñas series.
  • Versión QTP. Es el propio fabricante el que se encarga de grabar el código en todos los chips que configuran pedidos medianos y grandes.
  • Versión SQTP. El fabricante solo graba unas pocas posiciones de código para labores de identificación, numero de serie, palabra clave, checksum, etc.

Los modelos con memoria OTP sólo pueden ser grabados una vez por el usuario.

Puesto que los datos y operandos que manejan las instrucciones son de 8 bits, la longitud de las palabras de la memoria de datos tiene ese tamaño.

La capacidad de la SRAM varía entre 16 y 3968 posiciones, según el modelo.

2ª. Se aplica la técnica de segmentación ("pipe-line") en la ejecución de las instrucciones.

La segmentación permite al procesador realizar al mismo tiempo la ejecución de una instrucción y la búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo (en los PIC cada ciclo de instrucción son cuatro ciclos de reloj).

Durante la fase de búsqueda, la dirección de la instrucción la proporciona el PC, el cual normalmente se autoincrementa en la mayoría de las instrucciones, excepto en las de salto.

Ejemplo: 2 Ciclos 1 Ciclo 2 Ciclos 1 Ciclo
1. MOVLW 55h Búsqueda 1ª Ejecuta 1ª



2 .MOVWF PB
Búsqueda 2ª Ejecuta 2ª


3. CALL SUB

Búsqueda 3ª Ejecuta 3ª

4. MOVLW 03h


Búsqueda 4ª NOP





Bús 1ª SUB Eje 1ª SUB

DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.4

Las instrucciones de salto ocupan dos ciclos al no conocer la dirección de la siguiente instrucción.

3ª. El formato de todas las instrucciones tiene la misma longitud.

Las instrucciones de los microcontroladores mas sencillos tienen una longitud de palabra de 12 bits. Los medianos tienen 14 bits y los de mayor complejidad tienen más longitud. Esta característica es muy ventajosa en la optimización de la memoria de instrucciones y facilita enormemente la construcción de ensambladores y compiladores.

4ª. Procesador RISC (Computador de Juego de Instrucciones Reducido).

Las CPU´s atendiendo al tipo de instrucciones que utilizan pueden clasificarse en:

  • CISC: (Complex Instruction Set Computer) Computadores de juego de instrucciones complejo, que disponen de un repertorio de instrucciones elevado (80, 100 o más), algunas de ellas muy sofisticadas y potentes, pero que como contrapartida requieren muchos ciclos de máquina para ejecutar las instrucciones complejas.

  • RISC: (Reduced Instruction Set Computer) Computadores de juego de instrucciones reducido, en los que el repertorio de instrucciones es muy reducido, las instrucciones son muy simples y suelen ejecutarse en un ciclo máquina. Además los RISC deben tener una estructura pipeline y ejecutar todas las instrucciones a la misma velocidad.

  • SISC: (Specific Instriction Set Computer) Computadores de juego de instrucciones específico. En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es "específico", es decir, las instrucciones se adaptan a las necesidades de la aplicación prevista.

El número de instrucciones de los PIC mas simples es 33, llegando a 60 en los mas complejos. La familia PIC16X84 dispone de un repertorio de 35 instrucciones.

5ª. Todas las instrucciones son ortogonales.

Cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o como destino.

En los PIC el manejo del banco de registros, que participan activamente en la ejecución de las instrucciones, es muy interesante al ser ortogonales.

6ª. Arquitectura basada en un banco de registros.

La arquitectura basada en banco de registros implica que todos los elementos del sistema, es decir, temporizadores, puertos de entrada/salida, posiciones de memoria, etc, están implementados físicamente como registros.

7ª. Prácticamente todos los PIC se caracterizan por poseer unos mismos recursos mínimos:

  • Sistema POR ( POWER ON RESET).
    • Todos los PIC tienen la facultad de generar una autoreinicialización o autoreset al conectarles la alimentación.
  • Perro guardián, (Watchdog)
    • Existe un temporizador que produce un reset automáticamente si no es recargado antes de que pase un tiempo prefijado. Así se evita que el sistema se quede "colgado" puesto que dada esa situación el programa no recargaría dicho temporizador y se generaría un reset.
  • Código de protección.
    • Cuando se procede a realizar la grabación del programa, puede protegerse para evitar su lectura. También disponen de posiciones reservadas para registrar números de serie, códigos de identificación, prueba, etc.
  • Modo de reposo (bajo consumo o SLEEP).
    • Ejecutando una instrucción (SLEEP), el CPU y el oscilador principal se detienen y se reduce notablemente el consumo.
  • Modo de reposo (bajo consumo o SLEEP).

8ª. Modelos de arquitectura cerrada y de arquitectura abierta.

Entre los fabricantes de microcontroladores hay dos tendencias para resolver las demandas de los usuarios:

1ª. Microcontroladores de arquitectura cerrada.
Cada modelo se construye con una determinada CPU, cierta capacidad de memoria de datos, cierto tipo y capacidad de memoria de instrucciones, un número de E/S y un conjunto de recursos auxiliares muy concreto. El modelo no admite variaciones ni ampliaciones.
La aplicación a la que se destina debe encontrar en su estructura todo lo que precisa y, en caso contrario, hay que desecharlo. Microchip ha elegido principalmente este modelo de arquitectura.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.6

2ª. Microcontroladores de arquitectura abierta.
Estos microcontroladores se caracterizan porque, además de disponer de una estructura interna determinada, pueden emplear sus líneas de E/S para sacar al exterior los buses de datos, direcciones y control, con lo que se posibilita la ampliación de la memoria y las E/S con circuitos .integrados externos. Microchip dispone de modelos PIC con arquitectura abierta, sin embargo, esta alternativa se escapa de la idea de un microcontrolador incrustado y se asemeja a la solución que emplean los clásicos microprocesadores.

Los verdaderos microcontroladores responden a la arquitectura cerrada y permiten resolver una aplicación con un solo circuito integrado y a precio muy reducido.

9ª. Diversidad de modelos de microcontroladores.

La gran variedad de modelos de microcontroladores PIC (254 dispositivos a noviembre de 2004) permite que el usuario pueda seleccionar el más conveniente para su proyecto:

  • El número de patillas de E/S varía de 4 a 70, según el modelo.
  • Casi todos disponen de una memoria EEPROM de 16 a 1024 bytes para almacenar datos y recuperarlos después de haber eliminado la alimentación.
  • Las frecuencias más habituales de funcionamiento máximas, según el modelo, son 4 MHz y 10 MHz, llegando algunos a los 48 MHz.
  • Ademas de las entradas/salidas digitales y temporizadores y contadores, según el modelo, podemos disponer de entradas/salidas analógicas (convertidores A/D, D/A), comparadores analógicos, amplificadores operacionales, puerto serie, I2C, USB.
  • Según la versión de PIC, la Pila o "Stack" dispone de un cierto numero de niveles lo que supone poder encadenar más o menos subrutinas.
  • Los microcontroladores PIC mas sencillos no admiten interrupciones, pero el resto si.
  • Hay PIC donde el temporizador TMR1 tiene un circuito oscilador que puede trabajar asíncronamente y que puede incrementarse aunque el microcontrolador se halle en el modo de reposo ("sleep"), posibilitando la implementación de un reloj en tiempo real.
  • En algunos modelos las líneas de E/S del uno o mas puertos presentan una carga "pull-up" activada por software.

La Pila en los PICs:

La Pila en los PIC es una zona de memoria que se encuentra separada tanto de la memoria de programa como de la de datos. Tiene una estructura LIFO (Last In First Out), por lo que el último valor que se guarda es el primero que sale. Dispone de varios niveles de profundidad, cada uno de ellos con una longitud de n bits. Su funcionamiento es como el de un buffer circular, de manera que el valor que se obtiene al realizar tantos desplazamientos como niveles mas uno, es igual al primer desplazamiento.

La única manera de cargar la Pila es a través de la instrucción CALL (llamada a subrutina) o por una interrupción que hacen que con cada una de ellas, se cargue el contenido del PC en el valor superior de la Pila. Para recuperar el contenido de la Pila en el PC hay que ejecutar una instrucción RETURN, RETLW o RETFIE (vuelta del programa de atención a una subrutina o interrupción).

No se dispone de ningún flag (identificador o bandera) que indique un desbordamiento de la Pila.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.7

Los dispositivos mas complejos responden a microcontroladores de arquitectura abierta que pueden expandirse en el exterior al poder sacar los buses de datos, direcciones y control. Así se pueden configurar sistemas similares a los que utilizan los microprocesadores convencionales, siendo capaces de ampliar la configuración interna del PIC añadiendo nuevos dispositivos de memoria y de E/S externas. Esta facultad obliga a estos componentes a tener un elevado numero de patillas.

Con los PIC se dispone de gran diversidad de modelos y encapsulados, pudiendo seleccionar el que mejor se acople a las necesidades de acuerdo con el tipo y capacidad de las memorias, el número de líneas de E/S y las funciones auxiliares precisas. Sin embargo, todas las versiones están construidas alrededor de una arquitectura común, un repertorio mínimo de instrucciones y un conjunto de opciones muy apreciadas, como el bajo consumo y el amplio margen del voltaje de alimentación.

10ª. Amplio margen de alimentación y corrientes de salida elevadas.

La tensión típica de los PIC es de 5 v, si bien según que modelos se pueden alimentar con tensiones de 2 a 6,25 voltios, lo cual posibilita el funcionamiento mediante pilas corrientes teniendo en cuenta su bajo consumo ( menos de 2 mA a 5 V y 4 MHz ).

Las líneas de E/S de los PIC pueden proporcionar o absorber una corriente de salida comprendida entre 20 y 25 mA, capaz de excitar directamente ciertos periféricos.

11ª. Herramientas de soporte potentes y económicas.

Información sobre PIC

La información sobre PIC en libros y revistas de electrónica es grande. Prácticamente no hay un número de una revista de electrónica que no publique al menos un artículo con microcontroladores, sobre todo PIC y para hacer hasta lo mas simple. Pero la información que existe en internet es enorme. Existen multitud de páginas web, foros, grupos de noticias y sitios ftp con aspectos relacionados con los microcontroladores, pero sobre todo con los PIC.



Tipos de PIC

Para resolver aplicaciones sencillas se precisan pocos recursos; en cambio, las aplicaciones grandes requieren numerosos y potentes. Siguiendo esta filosofía, Microchip construye diversos modelos de microcontroladores orientados a cubrir, las necesidades de cada proyecto. Así, hay disponibles microcontroladores sencillos y baratos para atender las aplicaciones simples y otros complejos y más costosos para las de mucha envergadura.

La mayoría de los sistemas de control incrustados requieren CPU, memoria de datos, memoria de instrucciones, líneas de E/S, y diversas funciones auxiliares como temporizadores, comunicación serie y otras. La capacidad y el tipo de las memorias, el número de líneas de E/S y el de temporizadores, así como circuitos auxiliares, son parámetros que dependen exclusivamente de la aplicación y varían mucho de una situación a otra. Quizás se pueda considerar la decisión más importante del proyecto la elección del modelo de microcontrolador. Para adaptarse de forma óptima a las necesidades de los usuarios, Microchip ofrece diversos tipos de microcontroladores de 8 bits.

La mejor manera de mantenerse informado sobre los PIC es mediante la página del fabricante, www.microchip.com, en ella se mantiene la información actualizada de todos los dispositivos en producción, se pueden buscar según varios criterios y se ofrecen en formtato PDF (en inglés y chino) las hojas de características de los dispositivos. Aproximadamente, cada seis meses aparece un dispositivo nuevo.

Pueden tomarse diversas maneras de clasificar los PIC y ninguna puede considerarse definitiva, debido a la rápida evolución de estos dispositivos. A continuación se presentan distintas formas de clasificar a los PIC, según diversos aspectos:

  • Familia de productos
    • PIC10
    • PIC12
    • PIC14
    • PIC16
    • PIC17
    • PIC18
  • Tipo de memoria
    • FLASH
    • OTP
    • ROM
    Número de patillas E/S
    • 4 - 17 patillas
    • 18 - 27 patillas
    • 28 - 44 patillas
    • 45 - 80 patillas
  • Tamaño de memoria (bytes)
    • 0.5K - 1K
    • 2K - 4K
    • 8K - 16K
    • 24K -32K
    • 48K - 64K
    • 96K - 128K