You are on page 1of 47

INTRODUCCION A LOS MICROCONTROLADORES

M. En C. Juan G. Gutirrez Amaro

Historia
1971 Intel fabrica el primer microprocesador (el 4004) de tecnologa PMOS. microprocesador de 4 bits, contena 2,300 transistores y corra a 108 Khz poda direccionar slo 4096 (4k) localidades de memoria de 4 bits, reconoca 45 instrucciones y poda ejecutar una instruccin en 20 seg en promedio. 1972 Intel desarroll una versin ms poderosa (el 8008), el cual poda manipular bytes completos, por lo cual fue un microprocesador de 8 bits. La memoria que este poda manejar se increment a 16 kbytes, sin embargo, la velocidad de operacin continu igual. 1973 Intel lanza el 8080 de tecnologa NMOS que supera la velocidad de su predecesor por un factor de diez, puede realizar 500 000 operaciones por segundo, increment la capacidad de direccionamiento de memoria a 64 kbytes. varias compaas fabricantes de circuitos integrados comenzaron a producir microprocesadores: el IMP-4 y el SC/MP de National Semiconductors, el PPS-4 y PPS-8 de Rockwell International, el MC6800 de Motorola, el F-8 de Fairchild.

1975 Zilog lanza al mercado el Z80, uno de los microprocesadores de 8 bits ms poderosos. , Motorola abate los costos con sus microprocesadores 6501 y 6502 (adoptado por APPLE para su primera microcomputadora personal), se comercializan en $20 y $25. Esto provoca un auge en el mercado de microcomputadoras de uso domstico y un caos en la proliferacin de lenguajes, sistemas operativos y programas.
1976 Surgen las primeras microcomputadoras de un slo chip, que ms tarde se denominarn microcontroladores. Dos de los primeros microcontroladores, son el 8048 de Intel y el 6805R2 de Motorola.

198x En la dcada de los 80's comienza la ruptura entre la evolucin tecnolgica de los microprocesadores y la de los microcontroladores, Ya que los primeros han ido incorporando cada vez ms y mejores capacidades para las aplicaciones en donde se requiere el manejo de grandes volmenes de informacin y por otro lado, los segundos han incorporado ms capacidades que les permiten la interaccin con el mundo fsico en tiempo real, adems de mejores desempeos en ambientes de tipo industrial.

Qu son los Microcontroladores? Son circuitos integrados que incorporan todos los bloques funcionales de un Sistema Microprocesador en un encapsulado. Qu necesitan para funcionar? Slo una tensin continua estable (5V, 3.3V, 2.5V, 1.5V...) y un oscilador Qu hacen?

Interpretan (decodifican) combinaciones de bits (instrucciones) y generan seales digitales internas y/o externas
Para qu?

Para ejecutar de manera continua una secuencia de instrucciones (programa) que permita controlar un sistema o subsistema electrnico

Sistema mnimo de microprocesador


El sistema mnimo est basado en la arquitectura de Von Newman

CPU, Central Process Unit o Unidad Central de Proceso. Formada por dos bloques: Unidad de Control y Unidad de Proceso. Memoria, donde residen las instrucciones del programa y sus datos. Mdulos E/S, elementos encargados de recibir y entregar informacin alexterior.

CPU U.C. U.P.

Bus de Direcciones MEMORIA

E/S

Bus de Datos Bus de Control

Reloj

Los tres mdulos estn conectados entre s por medio de Buses de Comunicacin.

Buses de comunicacin
Los buses de comunicacin en un sistema mnimo microprocesador se dividen en tres: Bus de direcciones Es el empleado por la CPU para seleccionar la direccin de memoria o el dispositivo de E/S con el cual va a intercambiar informacin. Bus de datos El bus de datos es el conjunto de conductores a travs del cual el P intercambia informacin con la unidad de memoria o E/S seleccionada mediante el bus de direcciones. Bus de control Est formado por un conjunto de lneas por las que circulan las seales auxiliares de gobierno y sincronizacin del sistema

Bus de direcciones
Unidireccional Su tamao, o nmero de conductores que lo constituyen, determina la capacidad de direccionamiento de la CPU, que es el mximo nmero de posiciones de memoria y dispositivos E/S a los que la CPU puede acceder. Para m lneas la capacidad de direccionamiento ser: 2m.

6502, Z80, 8088: m=16 Capacidad de 65536 posiciones (64 k) 80286: m=20 Capacidad de 1.048.576 posiciones (1 Mega)

Bus de datos
Bidireccional la informacin puede viajar en los dos sentidos. Nmero de lneas (N) representa la cantidad de bits que se pueden transmitir simultneamente. Palabra del P. Triestado: las lneas del bus de datos deben ser triestado: Estado alto, bajo y de alta impedancia Si el P se est comunicando con un dispositivo E/S. Slo estos dos dispositivos pueden disponer del bus de datos, el resto de dispositivos conectados fsicamente al bus de datos deben permanecer con sus lneas en alta impedancia. La Unidad de Control de la CPU es la que toma la decisin.

Bus de control
Las lneas existentes dependen del fabricante del P y de las funciones que desee implementarle.

Seales tpicas
Seal de reloj de sincronizacin Seal de RESET o inicializacin

Seal de lectura/escritura en memoria,


Lneas de peticin de interrupcin, etc.

Memoria
Almacenamiento de las instrucciones que constituyen el programa codificadas a travs de su Cdigo de Operacin. Almacenamiento de los datos y variables del programa. Normalmente agrupados en paquetes de 8 bits (Byte), 16 bits (Word) o 32 bits . La velocidad de la memoria debe ser compatible con el P empleado: RAM, memorias de lectura/escritura para almacenamiento de variables y datos del programa. Son voltiles. ROM (EPROM, EEPROM), memorias de slo lectura para almacenamiento programas fijos (aplicaciones, rutinas bsicas de sistemas operativos, etc.) y constantes. Son no voltiles.

Arquitectura segn el hardware


La comunicacin entre las principales secciones de un sistema de computador (basado en microcontrolador o en microprocesador) tiene lugar sobre un cierto nmero de buses.

Harvard Princeton o Von Newman

Arquitectura de Von Newmann (Princeton)

CPU

Se refiere a que existe un solo bus llamado de SISTEMA a travs del cual se comunica y controla la Unidad Central de Proceso (CPU) su comunicacin con las memorias y equipos perifricos.

Arquitectura Harvard

MEMORIA DE PROGRAMA

MEMORIA

CPU

DE DATOS

La presente arquitectura establece que existan buses independientes para las memorias de programa y de datos, con lo que se hace ms eficiente la ejecucin de los programas.

Arquitectura segn el software


CISC Computadores de Juego de Instrucciones Complejo. Disponen de muchas instrucciones, algunas de las cuales son muy sofisticadas y potentes RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. SISC Computadores de Juego de Instrucciones Especfico el juego de instrucciones, adems de ser reducido, es "especfico", o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista

requieren muchos ciclos para su ejecucin.

optimizan el hardware y el software del procesador.

destinados a aplicaciones muy concretas

Unidad central de proceso CPU


Se encarga de accesar a la memoria de instrucciones, recibir el cdigo de operacin de la instruccin en curso, decodificarla y llevar a cabo la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado.

CPU
Bus de Control

Unidad de Control

Bus de Direcciones
Bus de Datos

Registros

ALU

Registros Internos
Los registros de la CPU son bloques de biestables que permiten el almacenamiento de los datos bsicos con los cuales va a trabajar la CPU durante la ejecucin de cada instruccin. La comunicacin se realiza mediante buses internos a la CPU .

Registros tpicos
De corrimiento Contadores Registros apuntadores Registros de datos: Registros especiales:
Hacen rotaciones y desplazamientos de bits Permiten medir tiempos, temporizar, etc. Permiten el acceso estructurado a datos de memoria Almacenamiento de variables del programa

Contador de programa (Program Counter, PC), puntero de pila (Stack Pointer, SP)

Unidad de control
Su misin principal consiste en interpretar y ejecutar las instrucciones que le llegan desde la memoria:

El Contador de Programa (PC) es un registro que contiene la direccin de memoria donde est la siguiente instruccin del programa a El cdigo binario de la instruccin en curso se recibe y se almacena ejecutar. Una de las primeras acciones del secuenciador antes de Estas instrucciones Instruccionessecuenciador active las seales El en el Registro de Instrucciones (IR). Decodificador de hacen que el selecciona las posiciones que ejecutar una instruccin es incrementar el PC para que apunte a la correspondientes para ejecutar en una memoria corresponden a esa instruccin la instruccin. ROM interna de la CPU. instruccin siguiente.

Unidad de procesamiento
El bloque principal es la ALU o Unidad Lgico-Aritmtica, que permite realizar un las operaciones aritmticas y lgicas indicadas por las instrucciones del programa.

Registro Acumulador, esta formado el cdigo de la instruccin en curso, Registro 2 Operando, contiene por por el resultado de la banderas El secuenciador (UC), instruido siempre bits denominadosltima Registro de Estado suministra el 2 operando para realizar la instruccin y viene normalmente suministrado por el cdigo de (flags) que se ponen a la 0 de operacin realizada en 1 ALU. acuerdo para realizar la operacin. activa las lneas de seleccin de la ALU con el resultado obtenidos. operacin de la instruccin.

Mdulos E/S
Permiten la comunicacin del sistema P con el mundo exterior. Los dispositivos de E/S se denominan habitualmente perifricos, ejemplos son: teclado, pantalla, impresora, unidades de Bus de Datos disco, etc.
Perifrico

Interface

Bus de Direcciones

Existen varios mtodos para manejar los dispositivos de E/S


Mediante Instrucciones Especficas de E/S Mediante Acceso Directo a Memoria (DMA). La CPU pone en triestado los buses de direcciones y de datos. Un dispositivo controlador de DMA toma el control de los buses y pasa los datos directamente entre el dispositivo E/S y la memoria. Mediante Tcnicas de Interrupcin. El perifrico activa las lneas de interrupcin de la CPU, que detienen el programa en ejecucin y trasladan el contador de programa a la direccin de inicio de otro programa, creado especialmente para atender al perifrico que solicita la interrupcin. Mediante el Tratamiento de E/S como Posiciones de Memoria. Permite el empleo de las mismas instrucciones para acceso a memoria y a E/S. Una zona del mapa de memoria es reservada para los dispositivos de E/S. Estas posiciones se llaman Puertos de E/S.

El microcontrolador y el microprocesador
Sistema Microprocesador (varios C.I. en una PCB)

Microcontrolador (nico C.I.)

Tarjeta de Sistema Microprocesador para control

C.I. Microcontrolador (casi todo ah dentro)

Sistemas empotrados o embebidos


Sistemas que incorporan microcontroladores (o microprocesadores) para una tarea especfica pero que no son visibles ni programables directamente por el usuario

Los microcontroladores de 8 bits dominan en la mayora de las aplicaciones


El microcontrolador es el ncleo del sistema electrnico verstil de bajo costo y tamao reducido, capaz de detectar las seales de entrada y generar las salidas de un equipo, sistema o instrumento Por su reducido tamao y costo permiten la fcil implantacin de sistemas deinteligencia distribuida a lo largo de sistemas ms complejos Los microcontroladores son los semiconductores ms abundantes de todos en la actualidad.

Evolucin Microprocesadores: Computadores

Evolucin Microcontroladores: Sistemas Empotrados

75 Millones Microprocesadores/ao

Microcontroladores comerciales
INTEL MOTOROLA HITACHI PHILIPS SGS-THOMSON NATIONAL SEMICONDUCTOR ZILOG 8048,8051,80C196,80386 6805,68HC11,68HC12 HD64180 8051 ST-62XX COP400,COP800 Z8,Z86XX

TEXAS INSTRUMENTS
TOSHIBA MICROCHIP

TMS370
68HC11 PIC

1990
1.- Motorola 2.- Mitsubishi 3.- NEC 4.- Intel 5.- Hitachi 6.- Philips 7.- Matsushita 8.- National 9.- Siemens 10.- TI 11.- Sharp 12.- Oki 13.- Toshiba 14.- SGS-Thomson 15.- Zilog 16.- Matra 17.- SONY 18.- Fujitsu 19.- AMD 20.- Microchip

1996
1.- Motorola 2.- Mitsubishi 3.- SGS-Thomson 4.- NEC 5.- Microchip 6.- Philips 7.- Zilog

2002
1.- Microchip 2.- Motorola 3.- ST-Micro 4.- NEC 5.- Atmel 6.- Sunplus 7.- Hitachi 8.- Fujitsu 9.- Philips 10.- Toshiba 11.- Mitsubishi 12.- Samsung 13.- Elan 14.- Winbond 15.- Zilog 16.- Sanyo 17.- Matsushita 18.- Infineon 19.- Holtek 20.- National

SEGN UNIDADES VENDIDAS DE 8 BITS

Microcontroladores PIC
Arquitectura Harvard: buses internos separados para memoria de datos (8 bits) y de programa (12, 14 16 bits depende de la familia) Microprocesador RISC: juego de instrucciones reducido Estructura pipe-line: durante la ejecucin de una instruccin, se est accediendo a la memoria de programa para traer la siguiente instruccin a ejecutar. Todas las instrucciones ocupan una posicin de memoria de programa

Todas las instrucciones se ejecutan en un ciclo de instruccin = 4 ciclos de reloj (a excepcin de las instrucciones de salto)
Ortogonalidad de los registros: se opera entre el registro de trabajo W y cualquier otro registro, el resultado puede almacenarse en W

Por qu los Microcontroladores PIC de Microchip?


Eficiencia del cdigo: permiten gran compactacin de programas Rapidez de ejecucin: a f de 20MHz 5 millones de instr./seg.

Seguridad en acceso: Separa memoria de datos y de programa


Juego reducido de instrucciones y de fcil aprendizaje Compatibilidad de pines y cdigo entre dispositivos (familias) Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines) sin reduccin de las prestaciones internas Posibilidad de proteccin del cdigo muy fiable Herramientas de desarrollo software y hardware abundantes y de bajo coste

Tamao relativo del cdigo

Velocidad relativa de ejecucin

Familias de microcontroladores PIC


Familia PIC10F20x Encapsulados de 6 pines (SOT). Oscilador interno 4MHz Memoria de programa de 12 bits y datos de 8 bits Juego de 33 instrucciones

Familia PIC12CXXX/12FXXX Encapsulados de 8 pines (DIP SOIC) Instrucciones de 12 14 bits en Memoria de Programa Juego de 33 35 instrucciones Disponibles con EEPROM de datos Modelos con mdulos de conversin A/D Permiten alimentacin a baja tensin de hasta 2,5V

Familia PIC16C5X Encapsulados de 14, 18, 20 y 28 pines Instrucciones de 12 bits Juego de 33 instrucciones Es la familia base de partida de los PIC Familia PIC16CXXX/16FXXX (+PIC14000) Encapsulados desde 18 hasta 68 pines (DIP, SSOP, PLCC, QFP) Instrucciones de 14 bits en Memoria de Programa Juego de 35 instrucciones Gran variedad de mdulos integrados

Familia PIC17CXXX Encapsulados de 40 a 80 pines Memoria de Programa de 16 bits Juego de 58 instrucciones (oper. de multiplicacin por hardware) Posibilidad de direccionar memoria externa

Familia PIC18CXXX/18FXXX Encapsulados de 18 a 80 pines Memoria de Programa de 16 bits Juego de 77 instrucciones (multiplicacin)

Familia PIC16CXXX/16FXXX
Puertos de Entrada/Salida

Puerto Esclavo Paralelo (PSP)


Temporizadores/contadores (TMR0, TMR1, TMR2) Captura / Comparacin / PWM (CCP1 y CCP2)

Conversin Analgica / Digital (A/D)


Transmisor Receptor Asncrono Sncrono Universal (USART

SCI)
Puerto Serie Sncrono Bsico Maestro (BSSP MSSP) Memoria EEPROM de datos FLASH EEPROM de programa modificable desde el cdigo

Microcontrolador PIC16F877 (familia media)

8K x 14 368 x 8

Temporizadores

Tiene de todo !

Puerto Esclavo Paralelo Conversor A/D

Mdulos CCP SSP


256 x 8

USART

Puertos de E/S

Procedimiento de diseo con los microcontroladores PIC


Diseo hardware: conectaremos al microcontrolador todo lo que necesita para funcionar y lo que le permite interaccionar con el mundo exterior
Definicin de las seales de Entrada, Salida y Alimentaciones Etapas de Adaptacin/Acondicionamiento Elctrico de Seales Seleccin de los mdulos del microcontrolador a utilizar y pines Diseo de la Placa de Circuito Impreso (PCB) Montaje y ensamblado

CAD-CAE

Realizacin + Montaje

Diseo software: el microcontrolador sin un programa cargado en su memoria no hace absolutamente nada, cuando est grabado con un programa eficiente el conjunto empezar a funcionar
Diseo del programa y escritura del cdigo fuente en ensamblador o en C Pruebas, verificacin y modificacin del cdigo: Simulacin del programa (puro software) o emulacin dentro del circuito de aplicacin (software y hardware) Grabacin del cdigo mquina en la memoria del microcontrolador
Emulacin o Depuracin sobre PCB

Edicin del cdigo, 1 depuracin y simulacin

Grabacin del micro

Puede haber del orden de 50 microcontroladores en un automvil !

APLICACIONES DE LOS MICROCONTROLADORES


Instrumentos porttiles compactos: Radio paginador numrico (beeper) Planmetro electrnico Nivelmetro digital Identificador-probador de circuitos integrados Dispositivos perifricos: Teclado, Modems Buffer para impresoras Plotters Posicionadores Dispositivos autnomos (stand alone): Fotocopiadoras Mquinas de escribir Selector, Codificador- decodificador de T.V. Localizador de peces Control de aspersores para riego de jardines Telfonos de tarjeta

Subfunciones de instrumentos: Panel frontal de un osciloscopio Control de display sensible al tacto Contador de microondas con interface HP-IB Multmetro con interface serie a otro multmetro
Analizador de espectros (mdulos de expansin para IR y RF comunicados va Interface serie) Aplicaciones automotrices: Control de encendido e inyeccin de combustible Sistema de frenos antiderrapes (ABS) Control dinmico de la suspensin Sistemas de navegacin Alarmas automotrices Otros: Controladores de CRT Telfonos celulares Cerraduras electrnicas

You might also like