You are on page 1of 35

Introducción.

Definiciones (I)

• Sistema o planta: Conjunto de elementos o componentes


que actúan en común para obtener un objetivo determinado.
• Proceso: Conjunto de actividades que se esta controlando.
• Variable entrada: acción externa, o variable del sistema tal
que una modificación de su magnitud o condición puede
alterar el estado del sistema.
• Variable salida: respuesta del sistema o variable del mismo
cuya magnitud o condición se mide.
• Variable de referencia: valor que deseamos que adquiera
la salida del sistema, también se denomina objetivo del
control.

Introducción. Definiciones (II)

Perturbación: señal o evento que tiende a modificar el


valor de la salida de un sistema.
Sensor: elemento que permite captar el valor de la variable a
controlar en un determinado instante del proceso.
Actuador: elemento que actúa sobre el sistema modificando
el comportamiento de este y como consecuencia variando el valor
de la señal de salida.
Controlador: o regulador es el elemento que controla al
actuador en función de la variable de referencia u objetivo de
control.
Introducción. Control de lazo abierto

Control de lazo abierto: es aquel en el que la señal de


salida no influye sobre la acción del control, de este modo el
controlador no tiene en cuenta el valor de la señal de salida, ni se
compara esta con la variable de referencia, para decidir la
actuación en todo momento sobre el sistema.
(Regulación de tráfico mediante semáforos)

Introducción. Control de lazo cerrado

Sistema de control de lazo cerrado: es aquel en el


que existe una realimentación de la señal de salida o variable a
controlar. En este tipo de sistema se compara la variable de
referencia con la variable de entrada, y en función de la diferencia
entre ambas el controlador modifica la acción de control sobre los
actuadores del sistema.
(Regulación de tráfico mediante semáforos con control de
densidad de tráfico)
Controlador y Microcontrolador (I)

Recibe el nombre de controlador el dispositivo que se


emplea para el gobierno de uno o varios procesos.

Ejemplo el termostato de un sistema de calefacción.

Controlador y Microcontrolador (II)

• En un principio, los controladores electrónicos se


construían con circuitos integrados digitales ( puertas
lógicas).
• Posteriormente se construyeron con microprocesadores,
que eran auxiliados por memorias, unidades de E/S y todo
ello en un circuito impreso.
• Actualmente todos los elementos de un controlador se
han incluido en un único chip que recibe el nombre
microcontrolador.
Controlador y Microcontrolador (III)

• Microcontrolador: un chip o circuito integrado de alta escala de


integración que incorpora la mayor parte de los elementos que
configuran un controlador, cuya característica principal es su alto
nivel de especialización e integración.

Diferencias entre µP y µC (I)

Un microprocesador es un sistema abierto o genérico, porque su


configuración es variable de acuerdo con la aplicación a la que se
destine.
Diferencias entre µP y µC (II)
El microcontrolador es un sistema cerrado o específico. Todas las
partes del computador están contenidas en su interior y sólo salen al
exterior las líneas que gobiernan los periféricos.

Microcontrolador
Sistema cerrado (un solo chip que integra:)
La CPU
La Memoria de datos (RAM EEPROM)
La Memoria de programa (ROM, EPROM,
FLASH)
Unidades de entrada/salida.
Timmers y contadores. Opcionalmente también
pueden integrar:
Controladores de interrupciones.
Clock interno.
Comparadores
PWM
Convertidores A/D y D/A.
Generador de impulsos de reloj que sincronizan
el funcionamiento de todo el sistema.
Ventajas del uso de los Microcontroladores

Aumento de prestaciones: un mayor control sobre un determinado


elemento representa una mejora considerable en el mismo.

Aumento de la fiabilidad.
• Menor riesgo de averías
• Menos ajustes
Disminución del tamaño del producto.
• Menor volumen
• Mano de obra
• Stocks
Disminución del coste del producto.

Aplicaciones de los Microcontroladores

Los microcontroladores cada día están adquiriendo mayor presencia en nuestra


vida cotidiana sin que aparentemente notemos su presencia. Están presentes en
nuestro trabajo, en nuestra casa y en nuestra vida, en general

• Aparatos eletrodomésticos: microondas, frigoríficos, hornos, TV, reproductores y


grabadores de CD y DVD, equipos de sonido,teléfonos,...

• Equipos informáticos: impresoras, módems, unidades de disco,ratones, teclados,..

• Automóviles: mando de sistemas del automóvil (ABS, inyección,encendido,


climatizador..)

• Domótica: sistemas antirrobo, climatizadores,..

• Instrumentación: equipos de medida

• Robótica
Microcontroladores en el hogar

Cocina General
o Lavadora....................... 1 o Calefacción........... 1
o Horno.......................... 1 o Aire acondicionado.... 1
o Frigorífico.................... 1 o Video portero......... 2
o Lavavajillas................... 1 Automóvil
Salón o Frenos ABS............ 1
o TV............................. 2 o Climatización......... 1
o Mando a distancia.............. 1 o Alarma antirrobo...... 1
o Video.......................... 1 o Airbag................ 1
o DVD............................ 2 o Equipo música......... 1
o Receptor TDT................... 1 o Ordenador de viaje.... 1
o Teléfono fijo.................. 1 o Control motor......... 1
o Teléfono móvil................. 2 o Sistema seguridad..... 1
Garaje PC y periféricos.............. 6
o Puerta automática.............. 1
o Alarma robo/incendio/gas....... 3
Ascensor............................ 2
TOTAL: . . . . . . . . . . 38

El Mercado de los Microcontroladores


• se venden cientos de microcontroladores por cada microprocesador
• existe una gran diversidad de microcontroladores: clasificación según tamaño de
la palabra, en microcontroladores de 4, 8, 16 ó 32 bits
• la totalidad de los microcontroladores actuales se fabrican con tecnología
CMOS.
¿Qué microcontrolador emplear?
Factores a considerar según la aplicación:

Elección de la familia (fabricante).


Experiencia previa.
Documentación.
Herramientas de desarrollo y precio.
Disponibilidad.

Elección de modelo concreto de µC


Precio del microcontrolador.
E/S y recursos internos.
Consumo y velocidad
Memoria
Ancho de palabra
Diseño de la placa

Arquitecturas básicas

• Von Neuman
• Harvard
Características (arquitectura) I

Todos los microcontroladores disponen de bloques básicos:


- Procesador (CPU),
- Memoria de datos y de instrucciones,
- Líneas de E/S,
- Oscilador de reloj
- Módulos controladores de periféricos (recursos especiales).

Sin embargo, cada fabricante intenta enfatizar los recursos más


idóneos para las aplicaciones a las que se destinan preferentemente.
En la actualidad la mayoría de uC incorporan CPU’s cuya
arquitectura es de tipo:
• Von Neumann
• Harvard

Características (arquitectura) II

El modelo básico de arquitectura empleada por los computadores


digitales fue establecida en 1945 por Von Neumann.
Este tipo de arquitectura consta de los siguientes bloques:
• Memoria principal
• Unidad aritmético-lógica
• Unidad de control
• Unidad de entrada/salida
Características (arquitectura) III
Arquitectura: Von Neumann

Características Arquitectura: Von Neumann

• Memoria principal: se emplea para almacenar datos o instrucciones. Se compone de


una serie de celdas a cada una de las cuales se accede a través de una dirección. Cada celda
está compuesta de un número de bits que nos da el ancho de palabra de la memoria.

• Unidad aritmético-lógica: permite realizar las operaciones elementales (AND, OR,


NAND, NOR, suma, resta, etc.). Estas operaciones las realiza con datos procedentes
normalmente de la memoria y los resultados parciales los almacena o no temporalmente en
algunos registros que suele tener la propia unidad aritmética. Las operaciones básicas que
puede realizar un computador se dividen en operaciones lógicas y operaciones aritméticas.
Ambos tipos de operaciones se realizan dentro de esta unidad.

• Unidad de control: se encarga de generar las señales necesarias para que todo el
computador ejecute las instrucciones leídas de la unidad de memoria. La unidad de control
es la encargada de leer de forma consecutiva las instrucciones (que se encuentran
almacenadas en la unidad de memoria), y generar las señales eléctricas necesarias para
proceder a la ejecución de cada una de estas instrucciones. Es la unidad que gobierna y
gestiona el comportamiento de un computador.
• La agrupación de algunos bloques funcionales del computador
como son la unidad de control, la unidad aritmético-lógica y los
registros recibe el nombre de unidad central de proceso (CPU).

Características Arquitectura: Von Neumann


• Unidad de entrada/salida: realiza la transferencia de información
con el exterior, con las unidades que se conocen con el nombre de
periféricos.
• Buses: caminos que unen los distintos bloques del computador y a
través de los cuales circulan los datos y las instrucciones.
Dependiendo del tipo de información que se trate podemos hablar de
diferentes caminos:
• Bus de datos: circulan los datos de las operaciones que se
van a efectuar.
• Bus de direcciones: circulan las direcciones de memoria
donde se encuentra almacenado algún tipo de información a la
que se desea acceder.
• Bus de control : circulan las señales de control generadas por
la unidad de control para la ejecución de las instrucciones.
Arquitectura VON NEUMANN

Arquitectura HARVARD

En la arquitectura Harvard, existen dos tipos de memorias, y


por lo tanto dos buses, que suelen ser de anchura diferente, es
posible acceder a ambas memorias al mismo tiempo, con lo cual
la velocidad del sistema aumenta.
Procesador segmentado (pipeline)

Ejemplo: Búsqueda 1 Ejecuta 1

1. MOVLW 55h Búsqueda 2 Ejecuta2

2 .MOVWF PORTB Búsqueda 3 Ejecuta 3

3. CALL SUB_1 Búsqueda 4 Salir

4. BSF PORTA,BIT3 Búsqueda SUB_1 Ejecuta SUB_1

Arquitecturas: Von Neumann vs. Harvard


La arquitectura de von Neumann se caracteriza por disponer de
una sola memoria principal donde se almacenan datos e instruc-
ciones de forma indistinta. A dicha memoria se accede a través de un
sistema de buses único (direcciones, datos y control).

La arquitectura Harvard dispone de dos memorias independien-


tes, una que contiene sólo instrucciones y otra, sólo datos. Ambas
disponen de sus respectivos sistemas de buses de acceso y es posible
realizar operaciones de acceso (lectura o escritura) simultáneamente
en ambas memorias.
Elementos que componen un
microntrolador.
• CPU
• Memoria
• E/S
• Recursos espaciales
Microcontroladores (CPU)
– CISC: Complex Instruction Set Computer
• Muchas instrucciones diferentes. Potentes y especializadas.
• Facilita la programación.
• Código muy compacto
• P.e.: Motorola
– RISC: Reduced Instruction Set Computer
• Pocas instrucciones muy sencillas.
• La sencillez de las instrucciones permite liberar área de silicio para
implementar características que mejoren las prestaciones.
• Chips más baratos, de menor consumo, de menos pines.
• P.e.: PIC
- SISC: Specific Instruction Set Computer
- Set de instrucciones reducido y específico adaptado a las
necesidades de la aplicación prevista.
La memoria en los microcontroladores

En los microcontroladores, existen dos tipos de memoria:


Memoria de programa.
Memoria de datos.

•Ambos tipos de memoria están integradas dentro del propio


chip.
•La memoria de programa, ha de ser no volátil, y su contenido
no sufre modificaciones durante la ejecución del mismo, es
del tipo ROM.
•La memoria de datos evoluciona según se ejecuta el
programa, ha de ser de tipo lectura–escritura es decir tipo
RAM.

Tipos de memoria no volátil en los microcontroladores (I)

• Los diferentes tipos de memoria no volátil que nos podemos


encontrar en un microcontrolador son:

• ROM CON MÁSCARA.


• OTP.
• EPROM.
• EEPROM.
• FLASH.
Tipos de memoria no volátil en los microcontroladores (II)

ROM CON MÁSCARA: Es una memoria no volátil de solo lectura, cuyo


contenido se graba durante la fabricación del chip. Es muy cara, por lo cual solo es
interesante cuando el numero de chips a fabricar es muy elevado. Este tipo de
memoria no se puede volver a programar.

OTP: (One Time Programable), o ROM programable una vez. El Microcontrolador


posee una memoria ROM que el usuario puede programar una única vez. Una vez
realizada esta función, no se puede modificar el programa.

EPROM: (Erasable Programmable Read Only Memory y), memoria no volátil,


que se puede grabar y borrar muchas veces. Se borra mediante luz ultravioleta y a
través de una ventana de cristal que posee el chip.

EEPROM: (Electrical Erasable Programmable Read Only Memory) Tanto la


grabación como el borrado se realiza mediante impulsos eléctricos. Estas
operaciones se pueden efectuar muchas veces.

FLASH: Es una memoria no volátil de bajo consumo, que se puede leer y escribir
en el propio circuito. Es mas veloz y de mayor densidad que la EEPROM .

Puertos de entrada y salida

Soportan la comunicación entre el chip y el mundo exterior


(actuadores y sensores).

Pueden ser digitales o analógicas.

Una misma patilla del chip, puede ser entrada o salida, tanto
analógica como digital.

Las patillas se suelen agrupar en puertos de 8 o 16 bits.

Protegidas contra sobreintensidades y sobretensiones.


Reloj principal

Genera las señales que determinan la velocidad de trabajo


del uC.

Suele estar integrado en el propio chip, solo necesita unos


pocos componentes externos.
Cristales de cuarzo.
Resonadores cerámicos.
Circuitos R/C.
Oscilador externo.

Existen uC, que incluso integran toda la circuiteria


necesaria para generar la señal de reloj.

Recursos especiales

• Temporizadores o timers.
• Perro guardián o “watchdog”.
• Protección ante fallos de alimentación o “brownout”.
• Estado de bajo consumo o “sleep”.
• Convertidor A/D.
• Convertidor D/A.
• Control se anchura de pulsos PWM.
• Puertos de comunicación.
– UART
– USART
– USB
– I2C1
– CAN
– TCP/IP
Herramientas para el desarrollo de
aplicaciones.

Ciclo de vida del proyecto

Análisis y Implemen- Depuración


y prueba
Diseño tación

Idea o proyecto Edición


Requerimientos Compilación Simulación lógica
Papel y lápiz Ensamblado
Placa prototipo
Herramientas gráficas Corrección sintáctica
Herramientas de desarrollo
Las herramientas de desarrollo están formadas por un conjunto de programas e
interfaces que permiten realizar los proyectos de la forma más eficiente posible.

Ensamblador.
Compilador.
Simulador.
Placas de prototipo + ICD.
Emuladores en circuito + ICD.
Programador.

Lenguajes de programación

• Ensamblador (no portable)


– Permiten el uso eficiente de los recursos
– Programación costosa y casi imposible la modificación
• El código debe ser documentado, empleo de símbolos
• Programación estructurada
• Lenguajes de alto nivel (más o menos portable)
– Desarrollo más rápido, mantenimiento menos costoso
Eficiencia
Ocupación en memoria
– Ada --> Grandes sistemas
– C, PASCAL, PYTON, BASIC, JAVA( + portable, malo STR)
• Permiten el acceso a los recursos hardware (ansi C + registros +
asm)
Proceso de implementación
Entorno IDE
Editar código fuente (editor de textos)

*.c

MIKROC
Compilar código fuente (Mikroe compiler)

*.asm

MPASM, MIKROC
Ensamblar código objeto

*.dbg, .cof

*.hex

Fichero ejecutable MPLAB /PICKIT


+ PICKIT-2

Fichero Intel HEX (I)


• Consta de una serie de líneas que comienzan por el carácter ":" (dos puntos)
seguido por una cadena de valores en formato hexadecimal.
• Un fichero .HEX es un fichero de texto. Por lo tanto puede ser editado con
un notepad o similar.
• Todos números: Longitudes, direcciones y datos están expresados en
HEXADECIMAL mediante sus caracteres ASCII correspondientes.
Fichero Intel HEX (II)

Cálculo del checksum


:0400100000000000EC
04+00+10+00+00+00+00+00 = 14
C2= EB+1 = EC

Implementación y prueba
SIMULACIÓ
SIMULACIÓN/CORRECCIÓ
N/CORRECCIÓN
Ventajas del VSM
(Virtual System Modelling)

Con herramientas de diseño tradicional, la comprobación del sistema y el software del mismo no
se puede realizar hasta que se desarrolla un prototipo real (varias semanas de demora). Si además existe
algún error de diseño hardware se debe repetir la totalidad del proceso.

Usando VSM, tan pronto como se realice el diseño se puede testear el software y el
hardware, antes de implementar el prototipo.

Prototipos I
Prototipos II

Prototipos III (Picdem 2)


PIC DEM 2 Microchip VSM

Placas de simulación (programadores)


Principales familias de
microcontroladores.

Microcontroladores (Familias I)

• 8051 (Intel)
– Arquitectura Harvard (direccionamiento separado para datos e
instrucciones)
– Bus de 8 bits de datos
– Puede direccionar 64K de programa (los 4K ó 8K bajos pueden residir
en chip) y 64K de memoria de datos externa. 128 bytes de RAM
interna + registros especiales. E/S direccionadas en espacio propio.
• Bus de direcciones de 16 bits
– Gran potencia en instrucciones de bit
– Timers y puertos serie (no A/D ni PWM)
– 8048 serie baja
– 80c196 de 16 bits
– 80186: microcontrolador con un 8086 como núcleo (PC XT)
Microcontroladores (Familias II)

• 68HC11 (Motorola/ Freescale)


– Arquitectura Von Neuman (datos, programa, E/S, timers
comparten el mismo espacio de memoria)
– Bus de 8 bits de datos, 16 bits de direcciones
– Pueden tener: EEPROM/OTPROM, RAM, E/S digitales, timers,
A/D, PWM, acumuladores de pulsos, comunicación serie
síncrona y asíncrona
– Serie baja 68HC05
– 683xx: microcontrolador con un 68xxx como núcleo

Principales fabricantes de uC
Microcontroladores PIC

¿ Porqué PIC?
No porque esta familia sea mejor que otras, sino porque presentan diversas
características que los hacen especialmente interesantes:

- Facilidad de uso.
- Gran cantidad de información disponible en libros, revistas
e Internet.
- Herramientas de desarrollo muy asequibles.
-Bajo precio y fácil disponibilidad.
-Amplia oferta de distintos tipos microcontroladores de 8 16
y 32 bits (alrederor de 400).

En muchos casos la elección de una versión adecuada de PIC es la mejor


solución para resolver un problema. Otras familias de microcontroladores
son más eficaces en aplicaciones concretas, especialmente si predomina
una característica especial.
Microchip, datos históricos
• La compañía fue fundada en 1989, y es uno de los mayores fabricantes
de microcontroladores, de memorias y de dispositivos analógicos.
• 1990 Se fabricó la unidad número 1 millón.
• 1999 Se produce la unidad 1 billón.
• 2004 Las ventas alcanzan un valor de 800 Millones de dólares.
• 2005 Se producen la unidad número 4 billones.
• 2006 Las ventas alcanzan un valor de 1 billón de dólares.Y se fabrica
la unidad 5 Billones.
• 2007 El Mercado tiene un valor de 9 billones de dólares.
• 2008 Actualmente cuenta con más de 400 tipos de Microcontroladores
disponibles, de los cuales, 250 son de 8 bit. Se comercializa la unidad
6 billones desde que se inicio la producción en 1990.
Gamas de PIC’s
Gama alta
mejorada
PIC24 , (DsPIC)
75, (84) instrucciones,
hasta 16,(40)MIPS

PIC18 Gama alta


32 niveles de pila17 vectores de interrupción, 75
instruciones de 16 bits, 10 MIPS

PIC16*
8 niveles de pila, 4 vectores de interrrupción
Gama media
35 instrucciones de 14 bits, 1 timer 8 bit y 2 de 16bit, hasta 5MIPS

PIC 10 , PIC 12* Gama básica


2 niveles de pila y 33 instrucciones de 12 bits, 1 timer de 8bits
Microcontroladores (Familias III)
• PIC (MicroChip)
– Arquitectura Harvard (direccionamiento separado para datos
e instrucciones)
• solapamiento de instrucciones [PIPELINE -> SEGMENTACIÓN]
(ejecución actual y búsqueda de la siguiente.)
• Estructura ortogonal.

Microcontroladores (Familias IV)

• PIC (MicroChip)
– Primer microcontrolador RISC
– 16Fxx línea más popular del fabricante
• 35 instrucciones
• 8 bits de datos
• 14 bits de instrucción (hasta 8K instrucciones)
• Pueden tener: EEPROM/OTPROM, RAM, E/S digitales,
timers, A/D, PWM, acumuladores de pulsos,
comunicación serie síncrona y asíncrona
Comparativa
Modelo 12C508 16F84A 16F88 16F877 18F6722
Mem. Bytes 768 1792 7168 14336 128K
Prog. Palabras 512x12 1024x14 4096x14 8192x14 64Kx16
Mem. Bytes EEP 0 64 256 256 1024
Datos Bytes RAM 25 68 368 368 3936
Conversión A/D No No 7(10bits) 8(10bits) 12(10bits)
Líneas de E/S 6 13 16 33 54
Comparador Analog No No 2 2 2
Temporizadores 1-8bits+ 1- 8bits 1-16bits+2 1-16bits+2 3-16bits+2
WTD +WDT 8bits+WDT 8bits+WDT 8bits+WDT

Nº de pin’s 8 18 18 40 64
PWM No No Si(10bits) Si Si
Frec. Max. 4 Mhz. 20Mhz. 20Mhz. 20Mhz. 40Mhz
Precio 2,04€/ 5,17€/ 3,81€/ 10,85€/ 23,75€/
(Volume pricing) 0,53$ 3,11$ 2,20$ 4,26$ 7,99$

Modo de conexionado del oscilador:

Oscilador XT Oscilador RC
C1=C2=22pF ó 33pF C1 de 20pF como mínimo
Cristal ? 4MHz (PIC16F84A-04) 5K? ? R1 ? 100K?
La memoria de programa

á
ó

ó
ó ó

ó
ó

ó ó

ó
La memoria de datos RAM
ó
é

á
- RFS (Registros de Funciones Especiales)
- RGP (Registros de Propósito General)
á

á ó

á í

You might also like