40
Microcontroladores
Electrónica Industrial
• Interruptores • Pulsadores • Potenciómetros • LDRs • Fotocélulas • Encoders
• Galgas extensom • Termopares • Acelerómetros • MEMs
SENSORES • Solenoides, relés, piezoeléctricos • Motores de con@nua • Motores paso a paso • Servomotores • Disposi@vos hidráulicos y neumá@cos.
ACTUADORES
• C. discretos • Amplificadores
• Filtros • A/D
ACONDICIONADORES DE SEÑALES DE
ENTRADA E INTERFACES
• Combinacionales • Secuenciales • μP • μC
• Memorias • SoC • Comunicaciones • Soaware
SISTEMAS DE CONTROL DIGITAL
• D/A • Amplificadores • PWM
• Transistores
ACONDICIONADORES DE SEÑALES DE SALIDA
E INTERFACES • LEDs • Displays • LCD
• CRT • TFT
VISUALIZADORES
Sistemas mecánico
41
Microcontroladores
Electrónica Industrial
Conceptos generales
• Un microcontrolador (μC) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria, y que dispone de los tres elementos básicos de una microcomputadora: un procesador, memoria e interfaces.
• Existe una amplia variedad de microcontroladores con muy diferentes prestaciones (velocidad de reloj, consumo de energía, tamaño de los datos, interfaces, etc.)
Los microcontroladores se u@lizan para reducir el tamaño, costo económico y el consumo de energía de un sistema en par@cular. Por eso el tamaño de la unidad central de procesamiento, la can@dad de memoria y los periféricos incluidos dependerán de la aplicación. Ventajas de los microcontroladores : • Bajo coste. • Versa@lidad. • Desarrollo más rápido. • Facilidad de programación • Tamaño muy reducido.
42
Microcontroladores
Electrónica Industrial
Conceptos generales
43
Microcontroladores
Electrónica Industrial
Los microcontroladores se u@lizan en un amplio rango de aplicaciones. Algunas de estas pueden ser: • Electrodomés@cos => Panel de control de un horno microondas. • Equipos de sonido => Reproductor musical y/o vídeo (MP3 y/o MP4). • Vehículos (Automóviles, camiones y aviones) => Control de velocidad de crucero, an@bloqueo de frenos,
control de encendido, entrada automá@ca , control ambiental y flujo de aire y de combus@ble, etc... • Juguetes => Sistema de control de un perro robot. • Equipos de oficina => Control de una máquina de Fax.
Los microcontroladores suponen más de un 50% de los Circuitos Integrados existentes hoy en día. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (por ejemplo en los ordenadores personales), se pueden encontrar una o dos docenas de microcontroladores distribuidos entre los diferentes disposi@vos existentes en un hogar cualquiera. Los μC se pueden encontrar en casi cualquier disposi@vo electrónico como automóviles, lavadoras, frigoríficos, hornos microondas, teléfonos, mandos inalámbricos, teclados, juguetes, etc.
Aplicaciones
44
Microcontroladores
Electrónica Industrial
Empresa 8 bits 16 bits 32 bits
Atmel X X
Freescale X X X
Holtek X
Intel X X X
Na@onal Semiconductor X X X
Microchip X X X
NXP Semiconductor X X X
Renesa X X X
STMicroelectronics X
Texas Instruments X X
Zilog X
Fabricantes
45
Microcontroladores
Electrónica Industrial
Conexiones básicas de un μC (I)
Fuente de alimentación de 5 V DC
Circuito de RESET
Oscilador
Fuente: hyp://www.mikroe.com/
46
Microcontroladores
Electrónica Industrial
Oscilador
Fuente: hyp://www.mikroe.com/
Oscilador de cuarzo
Resonador cerámico
Oscilador RC
Oscilador externo
Conexiones básicas de un μC (II)
47
Microcontroladores
Electrónica Industrial
Elementos internos del μC (I)
CPU
• Es la unidad que controla todos los procesos dentro del μC. • Suele constar de las siguientes unidades funcionales:
• Decodificador de instrucciones. Decodifica las instrucciones del programa y genera una secuencia de acciones basándose en esto.
• Unidad lógica aritmé@ca (Arithme@cal Logical Unit -‐ ALU). Realiza todas las operaciones matemá@cas y lógicas sobre datos.
• Acumulador o registro de trabajo. Es un registro SFR estrechamente relacionado con el funcionamiento de la ALU. Es u@lizado para almacenar todos los datos sobre los que se debe realizar alguna operación (sumar, mover). También almacena los resultados preparados para el procesamiento futuro.
• Registro de estado (PSW). Está estrechamente relacionado con el acumulador. Muestra el “estado” de un número almacenado en el acumulador en cualquier instante dado (el número es mayor o menor que cero etc.) .
Fuente: hyp://www.mikroe.com/
48
Microcontroladores
Electrónica Industrial
Registros
Fuente: hyp://www.mikroe.com/
Registros de funciones especiales (SFR).
• Suelen ser de 4, 8, 16 o 32 bits.
• Cada fabricante define la funcionalidad de estos registros. • Sus bits están conectados a los circuitos internos del μC
tales como temporizadores, conver@dores A/D, osciladores entre otros.
• El estado de los bits de registros se fija dentro de programa, los registros SFR dirigen los pequeños circuitos dentro del μC, estos circuitos se conectan por los pines del μC a un disposi@vo externo.
Permiten almacenar datos y manipularlos
Se u@lizan para configurar disposi@vos internos
Elementos internos del μC (II)
49
Microcontroladores
Electrónica Industrial
Unidad de memoria
• La memoria ROM se u@liza para guardar permanentemente el programa que se está ejecutando. Típicamente se cuenta con 64K de espacio para memoria de programa, pero hay otros tamaños. Esta puede ser:
• Rom de máscara (MROM). • One Time Programmable ROM (OTP ROM). • UV Erasable Programmable ROM (UV-‐EPROM). • FLASH.
• La memoria RAM se u@liza para almacenar temporalmente los datos y los resultados inmediatos creados y u@lizados durante el funcionamiento del μC.
• Con objeto de no perder los datos intermedios cuando cae la tensión de red, hay μC que incluyen memoria EEPROM para almacenar datos.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (III)
50
Microcontroladores
Electrónica Industrial
Puertos paralelos de entrada/salida
• Son puertos paralelos son líneas digitales de entrada/salida de propósito general, generalmente agrupadas en palabras de 8 bits de longitud.
• Permiten leer y/o escribir datos del exterior. • Cada uno de los pines son configurables mediante SFRs del μC. • La corriente máxima que pueden entregar/recibir es suficiente para ac@var un LED u otro disposi@vo de baja
corriente (10-‐20 mA, por ejemplo, transistores y micro relés).
Los μC se comunican con el exterior mediante los PUERTOS.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (IV)
51
Microcontroladores
Electrónica Industrial
Temporizadores y contadores • Son circuitos síncronos (registros SFR) que cuentan
los pulsos que llegan a su entrada de reloj. Si la fuente de pulsos es el oscilador interno del μC está trabajando como temporizador. Cuando la fuente de pulsos es externa y a través de un pin configurado como entrada, trabaja en modo contador.
• Los temporizadores son uno de los periféricos más habituales en los μC y se u@lizan para muchas tareas: medición de @empos transcurridos entre eventos, implementación de relojes, etc.
• Los contadores no se suelen u@lizar para contar @empo, sino para otros prpósitos: contar los productos en la cadena de montaje, número de rotaciones del eje de un motor, pasajeros etc.
• Es frecuente que un μC |pico incorpore más de un temporizador/contador.
• Los tamaños |picos de los registros SFR asociados a este @po de disposi@vo son 8 y 16 bits.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (V)
52
Microcontroladores
Electrónica Industrial
Sistemas de comunicación serie
• Existen diferentes sistemas de comunicación serie (I2C, SPI, UART, ..). Se u@lizarán en función de ciertas caracterís@cas:
• Número de disposi@vos con los que el μC @ene que intercambiar los datos.
• Velocidad del intercambio de datos. • Distancia entre los disposi@vos. • Necesidad de transmi@r y recibir los datos simultáneamente.
La comunicación serie se hace necesaria para grandes distancias.
• En todo caso, tanto el emisor como el receptor @enen que u@lizar el mismo protocolo.
• Los microcontroladores se encargan de eso automá@camente (por hardware), así que el trabajo de programador/usuario es reducido a la escritura y lectura de datos sobre registros SFR.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (VI)
53
Microcontroladores
Electrónica Industrial
Sistemas de comunicación serie. I2C (Inter Integrated Circuit)
• Es un sistema para el intercambio de datos serie entre μC y circuitos integrados especializados. • Se u@liza cuando la distancia entre ellos es corta (el receptor y el transmisor están normalmente en la misma
placa de circuito impreso). • La conexión se establece por medio de dos líneas -‐ una se u@liza para transmi@r los datos, mientras que la
otra se u@liza para la sincronización (la señal de reloj). • Un disposi@vo es siempre el principal (master -‐ maestro), el que realiza el direccionamiento de un chip
subordinado (slave -‐ esclavo) antes de que se inicie la comunicación. • De esta manera un microcontrolador puede comunicarse con 112 disposi@vos diferentes. • La velocidad de transmisión serial es normalmente 100 Kb/seg (el modo estándar) o 10 Kb/seg (modo de
velocidad de transmisión baja). Recientemente han aparecido los sistemas con la velocidad de transmisión serial 3.4 Mb/sec.
• La distancia entre los disposi@vos que se comunican por el bus I2C está limitada a unos metros.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (VII)
54
Microcontroladores
Electrónica Industrial
Sistemas de comunicación serie. SPI (Serial Peripheral Interface Bus)
• Un bus SPÎ es un sistema para la comunicación serie que u@liza hasta cuatro líneas (normalmente solo son necesarias tres) -‐ para recibir los datos, para transmi@r los datos, para sincronizar y (opcional) para seleccionar el disposi@vo con el que se comunica. Esto es la conexión full duplex, lo que significa que los datos se envían y se reciben simultáneamente.
• La velocidad de transmisión máxima es mayor que en el sistema de conexión I2C.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (VIII)
55
Microcontroladores
Electrónica Industrial
Sistemas de comunicación serie. UART (Universal Asynchronous Receiver Transmiyer)
Fuente: hyp://www.mikroe.com/
• Este @po de conexión es asíncrona, lo que significa que no se u@liza una línea especial para transmi@r la señal de reloj.
• En algunas aplicaciones este rasgo es crucial (por ejemplo, en mandar datos a distancia por RF o por luz infrarroja).
• Puesto que se u@liza sólo una línea de comunicación, tanto el receptor como el transmisor reciben y envían los datos a velocidad misma que ha sido predefinida para mantener la sincronización necesaria.
• La velocidad de transmisión no es alta, es hasta 1 Mbit/sec.
Elementos internos del μC (IX)
56
Microcontroladores
Electrónica Industrial
Otros puertos de comunicaciones • USB. Los microcontroladores son los que han permi@do la existencia de este sistema de comunicación. Es un
sistema que trabaja por polling (monitorización) de un conjunto de periféricos inteligentes por parte de un amo, que es normalmente un computador personal. Cada modo inteligente está gobernado inevitablemente por un microcontrolador.
• Ethernet. Es el sistema más extendido en el mundo para redes de área local cableadas. Los microcontroladores más poderosos de 32 bits se usan para implementar periféricos lo suficientemente poderosos como para que puedan ser accesados directamente por la red. Muchos de los enrutadores caseros de pequeñas empresas están construidos en base a un microcontrolador que hace del cerebro del sistema.
• Can. Este protocolo es del @po CSMA/CD con tolerancia a elevados voltajes de modo común y orientado al @empo real. Este protocolo es el estándar mas importante en la industria automotriz (OBD). También se usa como capa msica del "field bus" para el control industrial.
• Otros puertos de comunicación. Hay una enorme can@dad de otros buses disponibles para la industria automotriz (linbus) o de medios audiovisuales como el i2s, IEEE 1394. Es usuario se los encontrará cuando trabaje en algún área especializada.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (X)
57
Microcontroladores
Electrónica Industrial
ADC (Conver@dor Analógico Digital)
• Permite que un μC pueda procesar las variables analógicas del mundo real. • Un conver@dor analógico-‐digital (ADC) es un circuito electrónico encargado de conver@r las señales de tensión
proporcionadas por los sensores en números digitales discretos (números binarios). • El valor mínimo y máximo de conversión es ajustable. • La resolución del conver@dor indica la calidad de la conversión realizada. Las resoluciones más frecuentes son
8 y 10 bits, que son suficientes para aplicaciones sencillas. Para aplicaciones en control e instrumentación están disponibles resoluciones mayores de 12bit, 16bit y 24bit.
• Los conver@dores A/D se configuran a través de algunos registros SFR del μC.
Fuente: hyp://www.mikroe.com/
Elementos internos del μC (XI)
58
Microcontroladores
Electrónica Industrial
Memoria de datos y
programa CPU Entrada/
Salida
Bus de datos
Bus de direcciones
Bus de control
Von Newman
Bus de control
Bus de datos
Memoria datos CPU Memoria programa
Bus de datos de memoria de programa
Bus de direcciones de memoria de programa
Harvard
Bus de direcciones
• Los μC que u@lizan esta arquitectura Harvard disponen de dos buses de datos diferentes. Uno es de 8 bits de ancho y conecta la CPU con la memoria RAM. El otro consiste en varias líneas (12, 14 o 16) y conecta a la CPU y la memoria ROM.
• Todos los datos en el programa son de un byte (8 bits) de ancho. Como un bus de datos u@lizado para lectura de programa @ene unas líneas más (12, 14 o 16), tanto la instrucción como el dato se pueden leer simultáneamente al u@lizar estos bits adicionales. Por eso, todas las instrucciones se ejecutan en un ciclo salvo las instrucciones de salto que son de dos ciclos.
• El hecho de que un programa (la ROM) y los datos temporales (la RAM) estén separados, permite a la CPU poder ejecutar dos instrucciones simultáneamente. Dicho de manera sencilla, mientras que se realiza la lectura o escritura de la RAM (que marca el fin de una instrucción), la siguiente instrucción se lee por medio de otro bus.
• En los microcontroladores que u@lizan la arquitectura de von-‐Neumann, nunca se sabe cuánta memoria ocupará algún programa. Generalmente, la mayoría de las instrucciones de programa ocupan dos localidades de memoria (una con@ene información sobre QUÉ se debe realizar, mientras que la otra con@ene informa ción sobre CUÁL dato se debe realizar). Sin embargo, esto no es una fórmula rígida, sino el caso más frecuente. En los microcontroladores que u@lizan una arquitectura Harvard, el bus de la palabra de programa es más ancho que un byte, lo que permite que cada palabra de programa esté compuesto por una instrucción y un dato. En otras palabras, una localidad de memoria -‐ una instrucción de programa.
Arquitectura interna
59
Microcontroladores
Electrónica Industrial
Ejemplo. ATmeaga328 (I)
ATmega328 data sheet p. 1
hyp://www.atmel.com/dyn/resources/prod_documents/doc8271.pdf
60
Microcontroladores
Electrónica Industrial
ATmega328P-PU
ATmega328 data sheet pp. 2, 5
Ejemplo. ATmeaga328 (II)
61
Microcontroladores
Electrónica Industrial
Otros componentes u@lizados con los μC (I)
Interruptores y pulsadores. Rebotes.
62
Microcontroladores
Electrónica Industrial
Interruptores y pulsadores. Supresión de rebotes.
• Al no conocerse el período del rebote, los valores de los componentes no se pueden determinar con precisión.
• En la mayoría de los casos los valores que se muestran en la siguiente figura funcionan bien.
• Esta solución es más cara (interruptor SPDT), pero el problema se resuelve a la perfección.
SOLUCIÓN SW SENCILLA =>l Cuando se detecta un cambio de entrada, hay que probarlo una vez más después de un cierto @empo de retardo. Si el programa confirma el cambio, esto significa que un interruptor/botón de presión ha cambiado de posición.
Otros componentes u@lizados con los μC (II)
63
Microcontroladores
Electrónica Industrial
Relés.
Para prevenir la aparición de un alto voltaje de autoinducción, causada por una parada repen@na del flujo de corriente por la bobina, un diodo polarizado inver@do se conecta en paralelo con la bobina. El propósito de este diodo es de “cortar” este pico de voltaje.
Otros componentes u@lizados con los μC (III)
64
Microcontroladores
Electrónica Industrial
Diodos LED.
Otros componentes u@lizados con los μC (IV)
65
Microcontroladores
Electrónica Industrial
Visualizador o display de 7 segmentos (@po LED).
Otros componentes u@lizados con los μC (V)
66
Microcontroladores
Electrónica Industrial
Optoacopladores.
La red R/C representada por una línea quebrada en la figura anterior indica una conexión opcional de la base de transistores dentro del optoacoplador, que reduce los efectos de ruidos al eliminar los pulsos muy cortos.
Otros componentes u@lizados con los μC (VI)
67
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. Caracterís@cas generales
Una pantalla LCD puede visualizar dos líneas con 16 caracteres cada una. Cada carácter consiste en 5x8 o 5x11 píxeles. Este libro cubre un visualizador de 5x8 píxeles que es u@lizado con más frecuencia..
Otros componentes u@lizados con los μC (VII)
68
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. Caracterís@cas generales
El visualizador LCD dispone de tres bloques de memoria: • DDRAM Display Data RAM. Se u@liza para almacenar los caracteres a visualizar. Tiene una capacidad de almacenar 80
caracteres. Algunas localidades de memoria están directamente conectadas a los caracteres en el visualizador.
• CGROM Character Generator ROM. La memoria CGROM con@ene un mapa estándar de todos los caracteres que se pueden visualizar en la pantalla. A cada carácter se le asigna una localidad de memoria.
• CGRAM Character Generator RAM. Además de los caracteres estándar, el visualizador LCD puede visualizar símbolos
definidos por el usuario. Esto puede ser cualquier símbolo de 5x8 píxeles. La memoria RAM denominada CGRAM de 64 bytes lo habilita.
Otros componentes u@lizados con los μC (VIII)
69
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. DDRAM
1. Configurar el visualizador para incrementar direcciones automá@camente (desplazamiento a la derecha). 2. Establecer la dirección inicial para el mensaje que se va a visualizar (por ejemplo 00 hex). 3. Todos los caracteres enviados por las líneas D0-‐D7 se van a visualizar en el formato de mensaje al que nos hemos
acostumbrado -‐ de la izquierda a la derecha.
Por ejemplo. Si se envía más de 16 caracteres, todos se memorizarán, pero sólo los primeros 16 serán visibles. Para visualizar los demás, se debe u@lizar el comando SHIFT. Virtualmente, parece como si el visualizador LCD fuera una ventana, desplazándose de la izquierda a la derecha sobre las localidades de memoria con diferentes caracteres. En realidad, así es cómo se crea el efecto de desplazar los mensajes sobre la pantalla.
Otros componentes u@lizados con los μC (IX)
70
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. CGROM
Las direcciones de las localidades de memoria CGROM corresponden a los caracteres ASCII. Por ejemplo Si se quiere mostrar el carácter P, hay que enviar el valor binario 0101 0000 ($50 => ASCII 80) aparecerá en el puerto. Este valor es el equivalente ASCII del carácter P.
Otros componentes u@lizados con los μC (X)
71
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. CGRAM
Otros componentes u@lizados con los μC (XI)
72
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. Comandos básicos.
I/D 1 = Incremento (por 1) 0 = Decremento (por 1)
R/L 1 = Desplaz. a la derecha 0 = Desplaz. a la izquierda
S 1 = Desplaz. del display ON 0 = Desplaz. del display OFF
DL 1 = Bus de datos de 8 bits 0 = Bus de datos de 4 bits
D 1 = Visualizador encendido 0 = Visualizador apagado
N 1 = Display en dos líneas 0 = Display en una línea
U 1 = Cursor ac@vado 0 = Cursor desac@vado
F 1 = Carácter de 5x10 puntos 0 = Carácter de 5x7 puntos
B 1 = Parpadeo cursor ON 0 = Parpadeo cursor OFF
D/C 1 = Desplaz. del display 0 = Desplaz. del cursor
Otros componentes u@lizados con los μC (XII)
73
Microcontroladores
Electrónica Industrial
Visualizador o display LCD. Conexión.
Otros componentes u@lizados con los μC (XIII)
74
Microcontroladores
Electrónica Industrial
Controlar un conjunto de 8 LEDs
Ejemplos de aplicación (I)
75
Microcontroladores
Electrónica Industrial
Control de un relé mediante un pulsador
Ejemplos de aplicación (II)
76
Microcontroladores
Electrónica Industrial
Contador de dos dígitos mul@plexado
Ejemplos de aplicación (III)
77
Microcontroladores
Electrónica Industrial
Termómetro digital
Ejemplos de aplicación (IV)
Dr. Andrés Iborra Universidad Politécnica de Cartagena Campus Muralla del Mar, s/n 30202 Cartagena
Tel. +34 968 32 56 54 Fax. +34 968 32 53 45 E-‐mail [email protected] Twiyer @CincubatorHUB @aiborra Lista de correo cloud-‐[email protected] Www www.cincubator.com
Top Related