03 cap 01 - novellanovella.mhhe.com/sites/dl/free/8448156471/514446/cap_muest_angulo... · 4...

20
PRIMERA PARTE La gama básica: el humilde PIC12F508 TEORÍA

Upload: dinhcong

Post on 01-Feb-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

PRIMERA PARTE

La gama básica: el humilde PIC12F508

TEORÍA

1.1. ¿QUÉ ES UN MICROCONTROLADOR?

Es un pequeño computador construido sobre el «chip» o dado de silicio que hay dentro de un circuito integrado. Se emplea para controlar el funcionamiento de una tarea de-terminada o el de un producto, y debido a su reducido tamaño, suele estar incorporado en el propio dispositivo que gobierna. Esta última característica es la que le confiere la denominación de «controlador incrustado» (embebed controller) (Fig. 1.1).

Al microcontrolador se le considera como un «computador dedicado» pues en su memoria reside un único programa destinado a controlar una aplicación concreta, sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del siste-ma a gobernar y todos los recursos complementarios disponibles tienen como finalidad exclusiva atender los requerimientos de la tarea a la que se dedica el microcontrolador (Fig. 1.2).

3

Microcontrolador:la solución está en un chip

CAPÍTULO

1

Figura 1.1. El microcontrolador es tan pequeño que podría incrustarse en un dado y cambiar su suerte.

4 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Un microcontrolador es un computador completo, aunque de capacidad limitada, que está contenido en un circuito integrado y se destina a gobernar una tarea o producto en donde suele ir incrustado.

Figura 1.2. Fotografía de un ratón para PC abierto. Se distingue el microcontrolador que se encarga de recoger los movimientos de la «bola» y transferirlos al PC para producir los desplazamien-tos correspondientes del cursor en la pantalla.

Figura 1.3. La inclusión de un microcontrolador en un pastillero le añade prestaciones que le otorgan el calificativo de «inteligente».

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 5

La potencia que se puede obtener de un computador es inmensa; por eso, si son pequeños y baratos, se pueden incorporar en cualquier producto por pequeño y econó-mico que sea, abriendo las puertas de la imaginación de los diseñadores. Empresas del prestigio de Dataquest auguran la presencia de centenares de microcontroladores en los hogares del mundo desarrollado en un futuro cercano.

1.2. LA INVASIÓN DEL MUNDO

La potencia de los microcontroladores aumenta constantemente a la par que su volumen y coste, lo que está dando lugar al crecimiento exponencial de su aplicación y, en conse-cuencia, a su invasión en muchos de los productos típicos del mundo moderno. Funda-mentalmente, existen cinco grandes campos de aplicación de los microcontroladores.

1.o Comunicaciones.

2.o Gran consumo.

3.o Automoción.

4.o Informática.

5.o Industria.

Las comunicaciones y sus sistemas de transferencia de información utilizan profu-samente los microcontroladores, siendo el teléfono móvil su componente más represen-tativo (Fig. 1.5).

En el área de productos de gran consumo, los electrodomésticos de línea blanca (lavadoras, hornos, lavavajillas, etc.) y de línea marrón (televisores, vídeos, aparatos de audio, etc.) incorporan numerosos microcontroladores (Fig. 1.6).

Figura 1.4. Distribución porcentual de la producción mundial de microcontroladores en las cinco grandes áreas de aplicación.

6 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

La industria de automoción es una firme candidata a incrementar el consumo de microcontroladores para soportar las nuevas y cada vez más exigentes funcionalidades de los vehículos modernos. En 2003, Microchip vendió veinticinco millones de micro-controladores para el control del sensor del airbag.

La industria informática acapara una buena parte de la producción de microcontro-ladores, puesto que casi todos los periféricos del computador disponen de uno o varios, como sucede con las impresoras, teclados, discos duros, escáneres, etc.

En el área industrial, hay secciones como la robótica, la visión artificial, el control de motores, las fuentes de alimentación ininterrumpibles, etc., que son grandes consu-midores de microcontroladores.

Figura 1.5. Las comunicaciones absorben la mayor parte de la producción mundial de microcontrolado-res, siendo el teléfono móvil uno de los dispositivos que más utilizan.

Figura 1.6. Los electrodomésticos de línea blanca y marrón, como el televisor, precisan numerosos mi-crocontroladores para optimizar su funcionamiento y sus prestaciones.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 7

Más de la mitad de la producción mundial de microcontroladores es absorbida por las comunicaciones y los productos de gran consumo. El resto se reparte entre el sector de la automoción, la informática y la industria.

Figura 1.7. Bastantes sistemas de control, confort y seguridad del automóvil son gobernados por micro-controladores.

Figura 1.8. Casi todos los periféricos del computador, como la impresora, utilizan microcontroladores.

8 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Además de las cinco áreas comentadas, van apareciendo constantemente otras nue-vas que precisan el empleo de microcontroladores, como la industria militar, la electro-medicina, los juegos, la navegación espacial, etc.

Figura 1.9. Los robots industriales precisan numerosos y potentes microcontroladores para su control.

Figura 1.10. Fotografía de una pistola para la medida del dolor en pacientes de fibromialgia basada en microcontrolador.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 9

1.3. EN EL INTERIOR DEL MICROCONTROLADOR

Dentro del circuito integrado que materializa un microcontrolador hay un completo computador, aunque de recursos y prestaciones limitadas. Consta de tres grandes bloques.

BLOQUES DEL COMPUTADOR

1. Unidad de proceso:A. Procesador.B. Memoria de programa.C. Memoria de datos.D. Líneas de E/S.

2. Periféricos complementarios:A. Temporizadores.B. Conversores A/D.C. Comparadores analógicos.D. Puertos de comunicación.E. Otros.

3. Recursos auxiliares:A. Circuito de reloj.B. Modos de bajo consumo.C. Perro Guardián.D. «Reset» al conectar la alimentación.E. Otros.

Lo verdaderamente curioso es que con tantas cosas como hay dentro del microcon-trolador sólo existe comunicación con el exterior a través de las patitas o «pines» exis-tentes en la cápsula, que pueden ser tan pocas como seis u ocho. Dichas patitas sirven para recibir la alimentación, la señal de reloj para sincronizar su funcionamiento, para controlar los periféricos externos a gobernar y para sacar o introducir información con el mundo exterior (Fig. 1.11).

Si sólo existiese un modelo de microcontrolador, éste debería tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las múltiples aplicaciones posibles. Esta potenciación supondría un despilfarro en muchos casos. En la práctica, cada fabricante oferta un elevado número de modelos diferentes desde los más sencillos hasta los más potentes. Es posible seleccionar la capacidad de la memoria, la velocidad de funcionamiento, los periféricos y recursos complementarios, el número de líneas de E/S, etc. Por todo ello, un aspecto muy destacado en la labor del ingeniero de diseño es la elección del microcontrolador apropiado.

EJEMPLO

Un horno microondas se gobierna mediante un microcontrolador en el que se almacena el programa, que tiene 382 instrucciones, cada una de las cuales ocupa una palabra de la memoria de código. Para soportar el teclado y la pantalla LCD necesita de doce

10 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

líneas de E/S. ¿Cuál de los siguientes modelos de microcontroladores es el que más se adapta a los requerimientos de la aplicación?

Modelo Memoria instr.(palabras) Líneas E/S Precio (euros)

PIC12F508 512 6 1,30

PIC16F83 512 13 2,17

PIC16F84A 1.024 13 2,50

PIC16C54 4.096 33 3,17

SOLUCIÓN

Para esta aplicación es suficiente el PIC16F83 y su empleo supone una importante eco-nomía de material y mano de obra.

1.4. DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPROCESADOR

El microprocesador es un circuito integrado que contiene la Unidad Central de Pro-ceso (UCP) de un computador. La UCP, también llamada procesador, está formada por la Unidad de Control, que interpreta o traduce las instrucciones, y el Camino de Datos, que se encarga de ejecutar las operaciones que conllevan las instrucciones.

Figura 1.11. El computador que hay en el microcontrolador sólo dispone de las patitas exis-tentes en el encapsulado para comunicarse con los periféricos y dispositivos externos a gobernar, recibir la alimentación y la señal de reloj.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 11

Por las patitas de un microprocesador salen al exterior las líneas de los buses de direcciones, de datos y de control para permitir comunicar el procesador con la Memo-ria y los Módulos de E/S para configurar un computador completo. De esta manera, el computador completo se construye con varios circuitos integrados y se dice que el sis-tema que configura un microprocesador es «abierto» porque su estructura varía según la aplicación a la que se destine (Fig. 1.12).

Un microcontrolador es un sistema «cerrado» porque contiene un computador completo y de prestaciones fijas y limitadas que son difíciles de modificar.

Un microprocesador sólo es una parte del computador, la más importante, la UCP, y para construir un computador completo hay que conectar otros circuitos integrados que contengan la Memoria y los Módulos de E/S; por eso, se puede configurar a medida y se llama sistema «abierto».

El PC es un computador conocido por todos que está basado en un microprocesador, como el Pentium, que reside en la tarjeta principal y se conecta con los módulos de me-moria, los controladores de periféricos (disco duro, impresora, etc.) y recursos auxiliares (fuente de alimentación, circuito de reloj, etc.) configurando la máquina a la medida del usuario (Fig. 1.13).

Aunque hay excepciones, los microcontroladores contienen todos los elementos del computador y sus patitas se conectan directamente a los periféricos externos. Al no disponer en el exterior de los buses, es bastante complicado ampliar las características con las que se ha fabricado.

Figura 1.12. Un computador basado en un microprocesador es un sistema «abierto» que puede configu-rarse a medida adaptando a sus buses los módulos necesarios.

12 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

1.5. ARQUITECTURA INTERNA

Las partes principales que existen en un microcontrolador son cinco.

1. Procesador o UCP.

2. Memoria para las instrucciones y para los datos.

3. Líneas de E/S para la comunicación con el exterior.

4. Periféricos, como temporizadores, conversores AD, comparadores analógicos, etc.

5. Recursos auxiliares, como Perro Guardián, circuito de reloj, modo de funcionamiento con bajo consumo, etc.

1.5.1. El procesador

Es la parte más importante del computador y se compone de dos grandes bloques:

1.o Unidad de Control, que se encarga de interpretar el tipo de instrucción que se debe realizar

2.o Camino de Datos, que realiza las operaciones con los datos que implican las instrucciones.

Figura 1.13. Alrededor del microprocesador Pentium se distribuyen y conectan los módulos de memoria y de periféricos que configuran el PC.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 13

La Unidad de Control recibe las instrucciones en formato binario o máquina desde la memoria que almacena el programa y genera las órdenes que necesita el Camino de Datos para efectuarlas, recibiendo datos de entrada y generando otros de salida que se almacenan en la memoria de datos (Fig. 1.14).

La estructura del procesador mostrado en la Figura 1.14 corresponde a la propuesta por Von Neumann y tiene el inconveniente de guardar en la misma memoria las instruc-ciones y los datos. Con objeto de poder acceder simultáneamente a instrucciones y datos y, además, adaptar las características de las memorias a sus contenidos se utiliza la ar-quitectura Harvard, que dispone de memorias independientes para datos e instrucciones (Fig. 1.15).

1.5.2. Memoria de programa

Es la memoria donde se guardan las instrucciones del programa que tiene que ejecutar el microcontrolador. La longitud de sus palabras se adapta al número de bits que tienen las instrucciones y su capacidad se adecúa al tamaño que previsiblemente tendrán los programas para los que se destina. En los microcontroladores, es interesante no tener que ampliar el tamaño de esta memoria por lo que supone en el volumen y precio del sistema.

Figura 1.14. La Unidad de Control de la UCP recibe las instrucciones de la memoria, las interpreta y gobierna al Camino de Datos para realizar las operaciones correspondientes con los datos.

14 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Como el programa a ejecutar en un microcontrolador siempre es el mismo, debe estar grabado de forma permanente y no volátil. Los tipos de memoria que se adaptan a estas exigencias son los siguientes:

A) ROM

El programa se graba en la memoria del microcontrolador durante su fabricación me-diante el uso de «máscaras». Los altos costes de diseño e instrumental sólo aconsejan el uso de la ROM en series de producción muy altas, como sucede con los electrodomésti-cos y productos de gran consumo. No se puede borrar ni volver a utilizar.

B) EPROM

Si el microcontrolador dispone de memoria EPROM para contener el programa, la gra-bación del mismo se realiza con un dispositivo (grabador) gobernado desde un PC. En la superficie de la cápsula del microcontrolador hay una ventana de cristal por la que puede someterse al chip a rayos ultravioleta para conseguir el borrado de la memoria EPROM y utilizarla nuevamente. Este tipo de memoria es muy interesante en la fase de diseño y de-puración de programas, pero su coste unitario es elevado y su manipulación es complicada y precisa de grabadores y «quemadores».

C) OTP (Programable una vez)

Al igual que la memoria EPROM, el usuario puede grabar el programa en este tipo de memoria, pero ya no se puede borrar. El bajo precio de los microcontroladores con OTP

Figura 1.15. La arquitectura Harvard, habitual en los microcontroladores, dispone de memorias inde-pendientes para datos e instrucciones.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 15

y la sencillez de la grabación recomiendan este tipo para prototipos finales y series de producción cortas.

D) EEPROM

La grabación es similar a la de las memorias EPROM y OTP, pero el borrado para su reutilización es mucho más simple, porque utiliza el mismo procedimiento eléctrico que en la grabación. Sobre el mismo zócalo del grabador se puede programar y borrar tantas veces como se desee. Es ideal en aplicaciones de diseño y educativas. Además de servir para guardar el programa, en muchos modelos hay una parte de EEPROM como memo-ria de datos no volátiles que tan necesarios son en algunas aplicaciones.

Es una memoria no volátil que suele garantizar el fabricante hasta un millón de ciclos de grabación/borrado. Como inconveniente, destaca el elevado y variable tiempo que se precisa para la escritura y el borrado, la dificultad de alcanzar grandes capacida-des y el elevado consumo de energía. Está siendo desplazada por la tecnología FLASH.

E) FLASH

Se trata de una memoria no volátil, de bajo consumo, que se puede grabar y borrar en cir-cuito al igual que las EEPROM, aunque disponen de mayor capacidad que estas últimas. Se suelen garantizar los mil ciclos de grabado/borrado. El borrado y la escritura se realiza sobre bloques completos en lugar de bytes en la EEPROM.

Son muy recomendables en aplicaciones en las que haya que modificar el programa a lo largo de la vida del producto como consecuencia del desgaste o de cambios de piezas o especificaciones, como ocurre con los automóviles.

1.5.3. Memoria de datos

Los datos que manejan los programas varían continuamente y esto exige que la memoria que los contiene debe ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es la más adecuada, aunque sea «volátil» y pierda su contenido al quitar la alimentación.

Para guardar datos permanentes o no volátiles suele existir en los microcontrolado-res un pequeño espacio de datos con memoria EEPROM.

Las memorias tipo EEPROM y FLASH pueden escribirse y borrarse eléctricamente en el mismo circuito donde están montadas. No se precisa sacar el circuito integrado del zócalo en el que residen.

1.5.4. Líneas de E/S

A veces, en ciertos modelos de microcontroladores, existen algunas patitas de la cápsula que están reservadas para recibir la alimentación, la frecuencia de funcionamiento e

16 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

incluso para producir la reinicialización o reset. Las restantes se destinan a soportar la comunicación con el mundo exterior.

Las líneas de E/S sacan información de los periféricos y recursos internos al exterior. También recogen información de los dispositivos exteriores y la introducen al microcon-trolador para su procesamiento. Se suelen agrupar en conjuntos de ocho líneas, que se llaman «puertas» o «puertos». Son de tipo multifuncional, lo que significa que pueden realizar diversas funciones multiplexadas en el tiempo y programables.

1.5.5. Recursos y periféricos auxiliares

Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador, le incorpora diversos elementos que refuerzan y potencian su empleo. Entre los recursos más comunes en casi todos los modelos se citan:

a) Circuito de reloj, que genera los impulsos que sincronizan el funcionamiento de todo el sistema.

b) Temporizadores, destinados a controlar tiempos y retardos. c) Perro Guardián («watchdog»), que vigila el programa y lo reinicializa cuando se blo-

quea. d) Conversores A/D y D/A. e) Comparadores analógicos, para analizar las señales analógicas. f) Sistemas de protección ante fallos de la alimentación. g) Modos de funcionamiento de bajo consumo. h) Protocolos de comunicación, como I2C, USART, bus CAN, USB, etc.

Figura 1.16. Un proyecto con microcontrolador se materializa en una tarjeta de circuito impreso que contiene al microcontrolador con el programa grabado y unos pocos elementos auxiliares. La fotografía muestra una tarjeta para la creación de prototipos basados en PIC.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 17

1.6. HERRAMIENTAS DE DISEÑO

El resultado de un proyecto basado en microcontrolador suele consistir en una pequeña tarjeta de circuito impreso que soporta al microcontrolador, que tiene grabado en su memoria de código el programa de control y una serie de componentes auxiliares. Dicha tarjeta se conecta a la fuente de alimentación y a los sensores, actuadores y dispositivos que gobierna (Fig. 1.16).

Para desarrollar un proyecto se precisan de herramientas para la creación del software y para la implementación y puesta a punto del hardware. Entre las herramientas desti-nadas al software se precisa un programa que permita desde un PC editar los programas en un lenguaje, compilarlos para obtener el programa ejecutable, simular el programa y depurarlo. Microchip ha creado para trabajar con sus microcontroladores PIC un entorno integrado, denominado MPLAB IDE, que contiene todas las herramientas requeridas para el desarrollo del software. El MPLAB IDE puede encontrarlo en el CD que acom-paña al libro y su propietario lo pone a disposición de los usuarios libremente en su sitio en Internet (www.microchip.com). Se recomienda visitar este sitio habitualmente para trabajar con la última versión disponible (Fig. 1.17).

Figura 1.17. El entorno MPLAB IDE de Microchip contiene todas las herramientas necesarias para el des-arrollo del software de los proyectos que utilizan microcontroladores PIC.

1. Gestión del proyecto2. Ventana de registros.3. Ventana de inspecciones.

4. Editor de textos.5. Ventana de resultados.6. Memoria del programa.

7. Vista de la EEPROM.8. Control memoria.

18 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Los lenguajes usados normalmente para la confección de los programas para mi-crocontroladores son el Ensamblador, el C y el BASIC. Para todos ellos existen en el mercado eficientes compiladores e intérpretes.

Confeccionado y puesto a punto el software, hay que grabar el programa ejecutable en la memoria del microcontrolador, montar y conectar todos los componentes que con-

Figura 1.18. Fotografía del grabador de PIC denominado «PIC’ Burner», de Ingeniería de Microsiste-mas Programados.

Figura 1.19. Fotografía de un emulador de Microchip que permite comprobar en tiempo real el compor-tamiento del prototipo y depurarlo.

MICROCONTROLADOR: LA SOLUCIÓN ESTÁ EN UN CHIP 19

figuran el hardware en la PCB y comprobar el correcto funcionamiento del prototipo. Tanto los fabricantes de microcontroladores como otras empresas relacionadas ofrecen un completo abanico de grabadores, emuladores y sistemas para el desarrollo de aplica-ciones.

1.7. LOS FABRICANTES Y EL MERCADO MUNDIAL

Hasta el año 2002, Motorola ha ocupado el primer puesto del ranking mundial de fa-bricantes de microcontroladores de 8 bits, que son los más populares. A partir de dicho año, Microchip le ha reemplazado como líder mundial de dicho tipo de microcontrola-dores. Otros importantes fabricantes de estos dispositivos son Mitsubishi, NEC, Intel, SGS-Thomson, Hitachi, ST-Micro, Renesas, etc. (Fig. 1.21).

En el año 2000 casi se vendieron cuatro billones de microcontroladores de 8 bits, alcanzando Microchip unas ventas superiores cercanas a los 500 millones de dólares. En 2006, dicha empresa alcanzó una cifra de ventas cercana a los 1.000 millones de dólares (Fig. 1.22).

Figura 1.20. Los sistemas de desarrollo permiten grabar los microcontroladores, conectar los perifé-ricos y comprobar en tiempo real el comportamiento del prototipo. Fotografía de la PIC School empleada en esta obra para el desarrollo de las aplicaciones prácticas.

20 MICROCONTROLADORES «PIC». DISEÑO PRÁCTICO DE APLICACIONES

Figura 1.21. «Ranking» mundial de los principales fabricantes de microcontroladores de 8 bits ordenado por el número de unidades vendidas (Dataquest).

Figura 1.22. Crecimiento de las ventas anuales de microcontroladores de Microchip.