Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIN A LOS
MICROCONTROLADORES
1
INTRODUCCIN A LOS MICROCONTROLADORES
Microprocesador
Sistema secuencial Sncrono: Estados Infinitos.
Interpreta (decodifica) combinaciones de bits (rdenes) y genera
seales digitales internas y/o externas para el resto de circuitos, para
ejecutar de manera continua una secuencia de rdenes ( programa).
Necesita una alimentacin estable, un oscilador para sincronizar las
ejecuciones y un sistema mnimo exterior.
2
INTRODUCCIN A LOS MICROCONTROLADORES
Sistema mnimo microprocesador
Microprocesador
DISPOSITIVOS
MEMORIA
ALU DE
UC ENTRADA
SALIDA
REG
UNIDAD DE CONTROL
Y PROCESOS
UNIDAD DE CONTROL
UNIDAD ARITMETICO-LGICA
REGISTROS
3
INTRODUCCIN A LOS MICROCONTROLADORES
Microcontrolador
Integrado que incluye un microprocesador, memoria (de programa y
datos) y unidades de entrada/salida (puertos paralelo, temporizadores,
conversores A/D, puertos serie, etc)
SISTEMAS EMPOTRADOS (Embedded systems): Sistemas que incorporan
microcontroladores (o microprocesadores) para una tarea especfica pero que
no son visibles ni programables directamente por el usuario (telfono
mvil, lavadora, etc)
4
INTRODUCCIN A LOS MICROCONTROLADORES
Microcontrolador
VENTAJAS:
Bajo Coste.
Simplificacin de stock, reducido tamao placa, simplificacin fabricacin.
Alto grado de integracin/Simplificacin de perifricos.
Disminuye el hardware, placas menos complejas, aumenta la fiabilidad al
reducirse el nmero de componentes.
Aumento de capacidad y velocidad de ejecucin.
Disminucin consumo.
Utilizacin de tecnologas MOS, CMOS o HCMOS.
INCONVENIENTES:
Necesidad de herramientas y sistemas de desarrollo que incrementan el
tiempo y el coste de diseo.
Programacin: necesidad de programacin por mscaras en grandes
series y de diferentes tipos en pequeas series.
5
INTRODUCCIN A LOS MICROCONTROLADORES
Estructura Microcontrolador
CPU.
Memoria RAM de datos.
Memoria ROM/UVPROM/OTPROM de programa.
Memoria EEPROM de datos.
USART CAP
Puertos de entrada-salida. SPI EEPROM COMP
I 2C PWM
Temporizadores/contadores.
Sistemas de interrupcin.
Mdulos auxiliares:
A/D D/A
Convertidores A/D.
USART.
Etc
Power Display
Drivers
FLASH Drivers
6
INTRODUCCIN A LOS MICROCONTROLADORES
Aplicaciones Microcontrolador
Los microcontroladores se usan cuando la potencia de procesamiento no es
importante.
Robtica:
Los sistemas basados en microprocesador y los microcontroladores se usan
extensivamente en robtica.
Equipos informticos:
Impresoras, copiadoras, etc.
Sistemas porttiles y autnomos
Debido a su pequeo tamao y bajo consumo.
El sector del automvil:
Es uno de los mayores mercados de microcontroladores.
Desarrollo de microcontroladores especficos:
Deben responder a condiciones extremas.
Deben ser muy fiables.
7
INTRODUCCIN A LOS MICROCONTROLADORES
Tipos de microcontroladores
Segn el ancho de palabra: Los hay de 4, 8, 16, y 32 bits
Segn perifricos incluidos: Serie, A/D, D/A, I/Os, timers, etc.
Segn especialidad concreta: Comunicaciones, seales, video, etc.
Eleccin de un microcontrolador
Puedo obtener ayuda cuando tenga problemas?
Qu herramientas de desarrollo estn disponibles y cuanto cuestan?
Qu clase de documentacin tengo disponible? (manuales de referencia, notas de
aplicacin, libros).
Tiene el fabricante disponibles para ese microcontrolador dispositivos perifricos?
(conversores A/D, memoria, reguladores de tensin)
Disponen de microcontroladores grabables flash, EPROM, etc. de esa misma familia?.
Evaluar parmetros como tiempo de ciclo de instruccin y velocidad de bus, conjunto de
instrucciones y modos de direccionamiento.
Consumo, modo standby o sleep.
Librerias existentes, foros de Internet, soporte del fabricante.
8
INTRODUCCIN A LOS MICROCONTROLADORES
Fabricantes de microcontroladores
INTEL 8048-8051-80C196-80386
MOTOROLA 6805-68HC11-68HC12
HITACHI HD64180
PHILIPS 8051
SGS-THOMSON ST-62XX
NATIONAL SMC. COP400-COP800
ZILOG Z8, Z86XX
TEXAS INST. TMS370
TOSHIBA 68HC11
MICROCHIP PIC
9
INTRODUCCIN A LOS MICROCONTROLADORES
10
INTRODUCCIN A LOS MICROCONTROLADORES
11
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
2. Tipo de Arquitectura
Arquitectura Von-Neuman
Un nico bus de datos para instrucciones y datos.
Las instrucciones del programa y los datos se guardan
conjuntamente en una memoria comn.
Cuando la CPU se dirige a la memoria principal, primero accede
a la instruccin y despus a los datos necesarios para
ejecutarla, esto retarda el funcionamiento.
Arquitectura Harvard
El bus de datos y el bus de instruccin estn separados
Acceso en paralelo:
Cuando se est leyendo una instruccin, la instruccin actual est
utilizando el bus de datos. Una vez finalizada la instruccin actual,
la siguiente ya est disponible en la CPU.
Permite una ejecucin ms rpida.
12
INTRODUCCIN A LOS MICROCONTROLADORES
Arquitectura Von-Neumann
Program
Program
CCPPUU &&Data
Data
8=8 Memory El programa de instrucciones y los datos
Memory
comparten la misma memoria
Arquitectura Harvard
Data CCPPUU Program
Program
Data
Memory Memory
Memory 8 12 Memory Utiliza dos espacios de memoria
16 14 distintos para las instrucciones y los
16
24
datos. Esto permite utilizar distinto ancho
de bus en ambos buses.
13
INTRODUCCIN A LOS MICROCONTROLADORES
14
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
CISC (Complex Instruction Set Computer)
El conjunto de instrucciones es bastante heterogneo:
Instrucciones son muy potentes. En algunos casos equivalen a muchas
instrucciones simples.
Instrucciones especializadas para una tarea concreta.
Facilita la programacin.
RISC (Reduced Instruction Set Computers)
Al tener un conjunto de instrucciones reducido:
El controlador es ms sencillo y el chip es ms pequeo.
Es ms rpido.
Tiene un consumo menor.
SISC (Specific Instruction Set Computer)
Incluyen instrucciones especficas para control:
Instrucciones de entrada/salida eficaces y sencillas.
Instrucciones especficas para operar a nivel de bit.
15
INTRODUCCIN A LOS MICROCONTROLADORES
FLASH (EPROM)
Son ms rpidas que las memoria EEPROM.
Permiten ms ciclos de borrado/grabacin, aunque tambin limitado.
16
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Memoria RAM
tiles para programas de gran tamao.
Ms rpida que las memorias no voltiles.
Nmero ilimitado de veces que puede grabarse.
Apropiada para aplicaciones con grandes cantidades de datos que
cambian contnuamente.
17
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Memoria OTP (One Time Programmable)
Un OTP es una memoria PROM que slo puede grabarse una vez.
Se utiliza para pequeas series.
Para probar el programa; antes de fabricar grandes cantidad de
microcontroladores con memorias ROM de mscara.
Como los ciclos de desarrollo de productos son cada vez ms cortos, es
interesante para los fabricantes de microcontroladores ofrecer OTPs
como una opcin.
ROM de mscara
Son interesantes para un gran nmero de unidades cuando el programa
va a ser el definitivo.
El tiempo de entrega es largo.
Ms econmicas (sin necesidad de programacin).
18
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
19
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Memorias externas
Se pueden aadir RAM / ROM externas.
Se necesita que el microprocesador posea un modo expandido o
extendido (acceso al bus interno).
Se utiliza el multiplexado de datos/direcciones.
Se redefinen ciertas lneas de entrada/salida paralelo como bus de
datos y direcciones.
Para el demultiplexado se utiliza:
la lnea AS (Address Strobe) o ALE (Address Latch Enable).
registro de 8 bits tipo 74373.
20
INTRODUCCIN A LOS MICROCONTROLADORES
4. Alimentacin y Consumo
Tecnologa de integracin:
La cantidad de potencia que disipan es proporcional a su tamao (Menos calor
por transistor implica menos tensin: 3,3 v).
Su retraso de propagacin es proporcional a su tamao.
Su costo es proporcional al cuadrado de su tamao.
Si se hace un transistor ms pequeo, mejora el consumo, velocidad y el costo.
Caractersticas:
Tipo de alimentacin a bateras:
Tecnologa CMOS o HCMOS
Modo reposo:
Inhibicin de funciones internas.
Lnea nica para despertar.
21
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Caractersticas (cont.)
Tensin disponible:
CMOS o HCMOS de 3 a 6 voltios.
NMOS fija de 5 voltios.
Necesidad de condensadores de desacoplo.
Proteccin Brownout:
Es un circuito que protege contra sobretensiones de alimentacin.
Idle/Halt y Wakeup:
Pasa a modo de Ocioso/Parada por software (la RAM no pierde informacin)
y consume un 70% menos.
Se sale (wakeup) mediante estmulos como interrupciones, temporizadores
ex profeso.
22
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
5. Entradas y Salidas
Comunicacin serie
UART (Universal Asynchronous Receiver-Transmitter)
Un UART es un adaptador serie para comunicaciones asncronas.
USART
Un USART (Unidad Universal de Transmisin Recepcin Sncrona y
Asncrona) es un adaptador serie para comunicaciones asncronas o
sncronas.
Los dispositivos que usan USART suelen ser ms rpidos (hasta 16 veces)
que un adaptador UART.
SPI (Serial Peripheral Interface)
El SPI permite la comunicacin serie, duplex y ascrona.
Dispone de modo de bajo consumo.
SCI (Serial Communicactions Interfaces)
Un SCI es un UART reforzado, permite la comunicacin serie ascrona full-
duplex.
Dispone de dos modos de bajo consumo: wait y stop.
23
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Comunicacin serie (cont.)
I2C bus
Inter-Integrated Circuit Bus.
Es un bus de 2 hilos para comunicacin serie desarrollador por PHILIPS.
Existen multitud de perifricos con este bus integrado.
MICROWIRE/PLUS
Es una interface de comunicacin serie sncrona bidireccional.
Desarrollada por NATIONAL, su lnea de dispositivos suele tenerla integrada.
CAN & J1850
CAN (Cotroller Area Network) conocido tambin como BUS CAN-.
Desarrollador por BOSH-INTEL. Se utiliza mayoritariamente en aplicaciones
de automocin.
1-WIRE
Es un interface de comunicacin serie de un solo cable.
24
INTRODUCCIN A LOS MICROCONTROLADORES
25
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Salidas en paralelo.
Son las ms comunes y se suelen utilizar para controlar rels, led, displays, LCD,
transistores, etc.
Se caracterzan por una corriente mxima individual y una mxima comn.
Salidas de Potencia.
Montaje Darlington.
Control de rel.
Control de triacs.
Entradas en paralelo.
Son las comunes y se utilizan para lectura de pulsadores, teclados, en general
para leer el nivel lgico de la entrada. Pueden estas optoaisladas.
Entradas/Salidas.
Permiten cambiar la patilla como salida o entrada en cada instante.
26
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
6. Interrupciones y Polling
Transferencia de E/S por consulta (Polling)
El polling es una tcnica software en la que el microcontrolador pregunta
constantemente al perifrico si necesita ser atendido.
Interrupciones
Cuando los perifricos necesitan ser atendidos por el microcontrolador se lo
comunican; de esta forma el micro puede atender a un programa principal (a
diferencia del polling).
Es una tcnica ms rpida en atender al perifrico que el polling.
El micro recibe la interrupcin, identifica quin la ha provocado, ejecuta la rutina
para atenderla y vuelve al programa principal.
Disparo de interrupciones:
Por flanco (de subida o bajada).
Por nivel.
27
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
Interrupciones (cont.)
Interrupciones enmascarables
Se pueden habilitar o inhibir de forma global o individual.
Interrupciones No enmascarables
No se pueden inhibir, son de obligada atencin.
Interrupciones vectorizadas
Cuando se recibe una interrupcin el micro debe localizar al perifrico:
Preguntando a cada uno (modo muy lento).
Con las int. Vectorizadas donde cada uno se identifica por el bus de
datos.
Los micros de 4 bits no tiene interrupciones vectorizadas, los de 8, 16 y
32 tienen vectorizadas con jerarqua de prioridad.
28
INTRODUCCIN A LOS MICROCONTROLADORES
7. Reset y Reloj
Inicializacin o reset
La mayora de los micros disponen de un sistema de inicializacin cuando se
conectan a alimentacin.
Poseen, adems, de una entrada de reset sensible a nivel
Reloj
Todos los micros tienen integrado un oscilador y slo necesitan un elemento
externo para fijar la frecuencia dentro del margen indicado.
Puede ser interno o externo con ayuda de un cristal de cuarzo, resonador
cermico o una red RC.
29
INTRODUCCIN A LOS MICROCONTROLADORES
Caractersticas de los Microcontroladores
8. Caractersticas especiales
Watchdog (Perro Guardian).
Un temporizacin que permite la recuperacin del sistema ante un bloqueo.
Si el programa entra en bucle infinito o si deja de funcionar el watchdog provoca
un reset tras un tiempo predeterminado.
Monitor de reloj (Clock Monitor).
Permite apagar el micro si la seal de reloj varia.
Cargador del programa residente.
Al inicializar, el micro carga automticamente el programa a ejecutar por un
puerto desde un lugar remoto (o desde el mismo micro).
Programa Monitor.
Un programa instalado en el micro que permite desarrollos bsicos y depuracin
de programas.
Pueden comunicarse con un PC para ser ejecutado desde el mismo.
30
INTRODUCCIN A LOS MICROCONTROLADORES
Lenguajes de Programacin en Microcontroladores
1. Lenguaje Mquina/ensamblador
Lenguaje Mquina (cdigo mquina) es la representacin del
programa tal como la entiende el microcontrolador.
El lenguaje ensamblador es una representacin alfanumrica del
lenguaje mquina, lo que facilita su lectura:
Cada instruccin en lenguaje ensamblador se corresponde con una
instruccin en cdigo mquina: OR P1,#4 91 04 10
Un programa en lenguaje ensamblador es ptimo y rpido.
Se requiere un buen conocimiento de la arquitectura del micro
para programar en ensamblador.
31
INTRODUCCIN A LOS MICROCONTROLADORES
Lenguajes de Programacin en Microcontroladores
32
INTRODUCCIN A LOS MICROCONTROLADORES
2. Intrpretes
Un intrprete es un traductor de un lenguaje de alto nivel
(prximo al lenguaje natural) a cdigo mquina.
El intrprete est residente en el microcontrolador.
Ejecuta el programa leyendo cada sentencia en alto nivel
traducindolas y ejecutndolas.
Los dos ms conocidos son el BASIC y el FORTH:
El BASIC es ms sencillo y legible.
EL FORTH es muy rpido por su proximidad al ensamblador.
33
INTRODUCCIN A LOS MICROCONTROLADORES
Lenguajes de Programacin en Microcontroladores
3. Compiladores
Se encargan de traducir todo el programa de alto nivel
directamente a cdigo mquina.
El cdigo mquina se pasa a la memoria del micro.
El micro ejecuta el programa sin interpretado.
Los compiladores ms conocidos para los microcontroladores
son:
C, permite el acceso a la estructura del micro (registros, bits).
BASIC compilado.
PL/M de Intel.
ADA para micros de 16 bits o ms.
FORTH compilado.
34
INTRODUCCIN A LOS MICROCONTROLADORES
Lenguajes de Programacin en Microcontroladores
4. Simuladores
Un simulador ejecuta el programa de un microcontrolador en un
ordenador:
Se puede ejecutar el programa paso a paso y ver exactamente qu
pasa segn el programa se ejecuta.
Permiten ver y modificar el contenido de los registros, memoria,
variables y ver como responde el programa.
No soporta interrupciones reales.
Evita el ciclo programado/borrado de la EPROM en el desarrollo
de programas
35
INTRODUCCIN A LOS MICROCONTROLADORES
Lenguajes de Programacin en Microcontroladores
4. Debuggers residentes
Un debugger residente corre su programa dentro del propio
micro, al mismo tiempo muestra el progreso de depuracin en un
mquina host (un PC).
Tiene las mismas caractersticas que un simulador normal con la
ventaja adicional de que el programa corre en un micro real.
5. Generadores de Cdigo
Ayudan a generar cdigo de forma automtica.
Pueden generar cdigo tanto en lenguajes de alto nivel (C) como
de bajo nivel (ensamblador).
36
INTRODUCCIN A LOS MICROCONTROLADORES
Lenguajes de Programacin en Microcontroladores
6. Emuladores
Es la mejor opcin para desarrollar un sistema, pero es cara.
Un emulador en un sistema que sustituye al microcontrolador al
mismo tiempo que est captando informacin.
Sustituye al micro en el PCB (placa / fsicamente).
Da total informacin sobre lo que est pasando en la realidad y
no requiere ningn recurso de la tarjeta que se analiza.
El emulador puede venir con su propio visualizador o conectado
a un PC.
37
INTRODUCCIN A LOS MICROCONTROLADORES
Familias de Microcontroladores
1. Introduccin
Qu microcontrolador utilizar?
Si se deja libertad al diseador (a veces viene impuesto por la
empresa), se debe elegir el que permita disponer de herramientas
de desarrollo a un precio razonable y con una buena documentacin
y/o asistencia tcnica.
Buenas elecciones pueden ser: el INTEL 8051, el MOTOROLA
68HC11, los MICROCHIP PIC, Rabbit, etc.
38