Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UMSNH-FIE
2005
1971
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.
C o n t ro l e n t ie m p o re a l S is te m a s M in im o s
G ra n d e s v o lu m e n e s d e d a to s S is te m a s I n fo rm a tic o s
M IC R O C O N T R O L A D O R E S
M IC R O P R O C E S A D O R E S
1.2.-CONCEPTOS BSICOS Unidad Central de Proceso (CPU).- Es el "cerebro" de una computadora, de manera ms precisa, es la parte de una computadora que se encarga de controlar el proceso y la transferencia de informacin. La funcin de la CPU es interpretar las instrucciones de un programa y coordinar su ejecucin. La CPU desde que es energizada realiza en forma repetitiva ciclos de instruccin, los cuales se componen de las actividades descritas en la siguiente figura:
Ciclo FETCH lectura de la siguiente instruccin decodificacin de la instruccin Ejecucin de la instruccin ...
Ciclo de Instruccin
____________________________________________ Introduccin a los microcontroladores Para realizar este ciclo bsico, la CPU debe ser capaz de coordinar sus dispositivos internos y externos para realizar: Lecturas desde memoria interna (registros) y memoria externa Escrituras a memoria interna y externa Decodificacin de instrucciones (basada en la consulta de una unidad de microcdigo interna a la CPU) Operaciones de tipo aritmtico y lgico.
Microprocesador (p).- Es una CPU en un slo circuito integrado. Microcomputadora (c).- Es una computadora cuya CPU es un p. Microcontrolador (cc).- Es una microcomputadora en un slo circuito integrado. Computadora.- Una computadora es un sistema secuencial sncrono programable, la cual para desempear sus funciones debe poseer adems de la CPU:
- Conductos para el flujo de la informacin - Dispositivos para almacenar informacin - Dispositivos para comunicarse con el exterior. En la siguiente figura se muestra en forma esquemtica y muy general la estructura de una computadora.
M em o ria
CPU
P u erto s
E n trad a/S alid a ... P erifrico s
El diagrama anterior es una manera muy simplificada de representar los componentes de una computadora. Al entrar a detalle sobre la organizacin de estos componentes encontramos variantes que generan diferentes arquitecturas de computadora.
B u s d e D a to s
CPU
M em o ria
M em o ria
RA M
RO M
P ue rto E /S
P ue rto E n tra d a
P ue rto S alid a
R e lo j
Arquitectura Harvard.- En esta estructura la memoria de programa (pasiva) recibe un tratamiento diferente que la memoria de datos (activa), pudindose llegar a una total diferenciacin entre los buses de comunicacin: bus de datos y bus de instrucciones. 1.3.- TIPOS DE MEMORIAS
En trminos generales, los dispositivos de memoria pueden clasificarse en RAM (memoria de acceso aleatorio) y ROM (memoria de slo escritura), sin embargo, tanto en RAM como en ROM tenemos una gran variedad de subtipos de memoria, algunos de los cuales se describen a continuacin:
MEMORIA ROM.- Es una memoria de slo lectura. Su contenido es absolutamente inalterable desde el instante en que el fabricante graba la informacin en el chip, por lo tanto la escritura de este tipo de memorias ocurre una sola vez y queda grabado su contenido aunque se le retire la energa debido a esto se dice que es memoria no voltil. Su contenido se graba durante su construccin y no se puede cambiar. Son memorias excelentes para guardar microprogramas, sistemas operativos, tablas de conversin, codificacin de teclados, generacin de caracteres para displays etc.
Una computadora siempre usa una ROM para guardar ah programas y los datos necesarios (principalmente en el arranque) para activar y hacer funcionar la computadora y sus perifricos. La ventaja de tener los programas fundamentales almacenados en la ROM es que evita la necesidad de cargarlos en la memoria desde algn dispositivo externo. Debido a que estn siempre residentes, los programas en ROM son muy a menudo los cimientos sobre los que se construye el resto de los programas. En la siguiente figura se muestra la configuracin interna de una memoria ROM, de n localidades de memoria, cada localidad con 4 bits de capacidad (ROM de nx4). Los diodos mostrados en cada unin de lneas vertical/horizontal son quemados 5
____________________________________________ Introduccin a los microcontroladores selectivamente en el proceso de fabricacin para guardar un uno (diodo quemado) o un cero (diodo intacto.)
+ Vcc
Decodificador de k a n lneas Y0 Y1
Strobe
Y2 Y3
LINEAS DE SELECCION
. . .
A0 A1 Ak
. . .
. . .
Yn
D3
D2
D1
D0
As, en el diagrama de un solo bloque de un circuito integrado de memoria ROM de 2 kilobytes, las lineas externas seran como se muestra en la siguiente figura
A0 D0 A1 D1 A2 D2 A3 D3 A4 D4 A5 ROM D5 A6 D6 A7 2k x 8 D7 A8 A9 A10 CS
Bus de direcciones
Bus de datos
Seleccin de chip
MEMORIA PROM.- Tal como indica su nombre (Programmable ROM) estas memorias son programables, se entregan vrgenes al programador el cual mediante un dispositivo especial (programador de memorias), las programar grabando en ellas los datos que considera de inters para su trabajo. El proceso de programacin es destructivo: una vez grabada, es como si fuese una ROM normal a stas tambin se les llama memorias OTP (One Time Programmable).
MEMORIAS EPROM Y RPROM.- Estas memorias son similares a las PROM pero con la diferencia que se pueden borrar y volver a grabar varias veces. Existen dos tipos de memorias segn el proceso de borrado de las mismas: Memoria EPROM.- Se trata de una PROM, de la que se puede borrar (erasable PROM) la informacin mediante luz ultravioleta. Para esta operacin, es necesario que el circuito integrado disponga de una ventana de cuarzo transparente a la luz ultravioleta. El tiempo de exposicin a la luz ha de ser corto, pero variable segn el constructor. As como para aplicar la luz ultravioleta se precisa un dispositivo especial (borrador de memorias), una vez borrados los datos de la EPROM, se necesita disponer de un grabador especial para introducir nuevos datos. Memoria RPROM o EEPROM.- Los datos contenidos en este circuito integrado se borran elctricamente si se aplican a las entradas valores de voltaje adecuados (normalmente ms elevados que los valores para leerla). Para el borrado de los circuitos RPROM, como para la programacin, se necesita un programador especial que maneje los voltajes y corrientes adecuados.
Las memorias EEPROM no pueden tratarse como si fuesen RAM no voltiles, pues aunque pueden leerse igual que una ROM o RAM, su escritura es un proceso mucho ms lento y que requiere voltajes y corrientes ms elevados que en la lectura. Memoria tipo FLASH.- Son memorias EEPROM de un tipo especial que permite una alta velocidad de escritura.
MEMORIA RAM .- Se le llama memoria de acceso aleatorio (Random Access Memory) no porque se pueda leer y escribir, sino porque puede accederse de manera no secuencial. Se dice que es memoria voltil porque la informacin almacenada en ella se pierde al retirarle la energa, por ello en RAM slo se guarda informacin temporal. MEMORIA DRAM o RAM dinmica.- Este es el tipo de RAM ms comnmente usado. Internamente est compuesto por microcapacitores de pequea capacidad, que almacenan la informacin mediante la carga y la descarga. Son de bajo costo, pero tienen el inconveniente de que pierden su carga, y por tanto la informacin demasiado rpido, por lo que deben ser constantemente "refrescados" con una nueva carga. Una computadora puede perder un 7% de tiempo aproximadamente en "refrescar" el contenido de la memoria DRAM. MEMORIA SRAM o RAM esttica.- Su diseo interno est hecho en base Flip Flops basados en transistores que almacenan un 1 o 0 cuando son polarizados en corte o saturacin respectivamente permaneciendo en esta condicin hasta que se cambie la informacin. No necesitan ser "refrescados", son muy veloces pero mucho ms costosos que los DRAM. Memorias de almacenamiento masivo.- Se trata de dispositivos de memoria no voltil, con una alta capacidad de almacenamiento. La tecnologa bsica que se emplea para su desarrollo es la basada en sustancias fcilmente magnetizables por medio de corrientes elctricas que mantienen la orientacin de los campos an cuando ha sido retirado el estmulo elctrico.
7
____________________________________________ Introduccin a los microcontroladores Los primeros elementos de este tipo que se desarrollaron fueron las cintas magnticas en los aos 60. A principios de los aos 70 aparecieron las unidades de almacenamiento en disco, su principio de funcionamiento es el mismo que las cintas pero son mucho ms rpidas y ocupan menos espacio. En este tipo de unidades la lectura y grabacin de los datos se puede hacer por contacto fsico entre la cabeza y los discos (discos flexibles) o sin contacto (discos duros). A principios de los 90 aparecieron los discos compactos, que han supuesto una autntica revolucin en este tipo de materiales. Su principio de funcionamiento esta basado en el empleo de luz lser para la lectura y grabacin. Tienen una velocidad de transferencia muy alta, reducido coste, gran capacidad y son muy fciles de transportar. En la actualidad estn siendo sustituidas por los discos de tecnologa DVD que, teniendo el mismo principio de funcionamiento, tienen unas prestaciones, sobre todo en capacidad, muy superiores.
Puertos de entrada/salida (paralelo) digitales: Permiten configurar cada una de sus lneas como entrada o salida digital de manera individual (sin protocolo) o en bloques para comunicacin con protocolo. Puertos Analgicos. Permiten adquirir seales digitales mediante convertidores Analgico a Digital. Temporizadores con funciones del tipo: o Entradas temporizadas o de captura: permiten capturar o medir el tiempo en que ocurren eventos exteriores o Salidas temporizadas o de comparacin: permiten generar seales temporizadas o Conteo de eventos: permiten contar eventos externos Salidas PWM: permiten generar salidas analgicas. Dispositivos de vigilancia (watchdogs): evitan cadas del sistema Controladores de interrupciones: administran la ejecucin de tareas por interrupciones, lo cual permite la multitarea. Controladores de Acceso Directo a la Memoria (D.M.A.). Permiten que otros dispositivos aparte de la CPU puedan acceder a la memoria. Acondicionadores del reloj y del reset. Permiten generar adecuadamente las seales de reloj y de reset. 1.5.- HERRAMIENTAS DE DESARROLLO
Al decidirse a utilizar o bien, a aprender el uso de algn cc uno se encuentra con una gran cantidad de herramientas de desarrollo, tanto de software como de hardware, la principal de estas herramientas (que en la actualidad incorpora las funciones de varias herramientas en una) es el entrenador o mdulo de evaluacin. 8
Entrenadores para microprocesador.- Cuando el diseador elige un p o un cc nuevo, requiere de un medio que le permita familiarizarse con l; para ello el fabricante de p o cc disea pequeos sistemas de entrenamiento (o mdulos de evaluacin) que adems de permitir esta familiarizacin, tambin pueden servir como herramientas de desarrollo, experimentacin y prueba de algunos proyectos iniciales. Un entrenador o mdulo de evaluacin para p o para cc normalmente posee poca memoria RAM, un programa en ROM que permite la comunicacin con el usuario, un teclado y un display sencillos e una interface con algn medio de almacenamiento magntico. Estos tres ltimos elementos han sido reemplazados en los entrenadores ms actuales por una interface de comunicacin serie a una computadora personal.
Los entrenadores actuales incorporan una gran variedad de funciones que ocasionalmente se pueden conseguir en mdulos separados, as, un entrenador actual puede incorporar funciones de:
Depurador.- Permite la ejecucin pausada paso por paso de programas, la revisin de registros y localidades de memoria o puerto y en ocasiones la modificacin de los contenidos de dichos registros y localidades de memoria o puerto y en ocasiones inclusive la modificacin del propio programa. Programador.- As como un programador de memorias PROM permite grabar informacin en ellas, un programador de microcontroladores permite grabar informacin en la memoria PROM (EPROM, EEPROM o FLASH) incluida en el chip del microcontrolador, normalmente la informacin guardada en este tipo de memoria corresponde a cdigo de programa. Simulador.- Permite la ejecucin y depuracin de programas de manera simulada y por lo tanto, en tiempo no-real y en una CPU diferente a la del sistema para el cual estn diseados, es decir, no en el tiempo ni en la CPU en que se ejecutaran normalmente. (un simulador nunca puede simular al 100% las capacidades de un cc especfico) Ensamblador.- Es un programa que permite convertir un cdigo escrito en lenguaje ensamblador (nemnicos) a cdigo binario (lenguaje de mquina) ejecutable por la CPU. Compilador.- Es un programa que permite convertir un cdigo escrito en un lenguaje de alto nivel, tal como BASIC, C, FORTRAN, PASCAL, etc. A cdigo binario ejecutable, a veces pasando por un cdigo intermedio relocalizable llamado cdigo objeto, el cual es una versin de cdigo de mquina con referencias simblicas que son resueltas despus por un encadenador (linker) para convertirlo en cdigo ejecutable. Emuladores.- Un emulador de p o cc es un computadora que imita las funciones de un p o cc de la manera ms fiel posible y en tiempo real. La imitacin que realiza es tan fiel que posee un conector que encaja en el lugar del chip del p o cc para reemplazarlo. El objetivo de utilizar un emulador es validar el hardware conectado al p o cc, y su interaccin con el programa en ejecucin.
9
Sistemas mnimos basados en microprocesador.- Un sistema mnimo basado en p o cc es una microcomputadora de propsito especfico, equipada con el mnimo de componentes (memoria RAM, ROM, puertos, sensores actuadores, etc.) para realizar sus funciones.
Los propsitos para los cuales puede disearse un sistema mnimo pueden caer en una infinidad de campos, tales como: instrumentacin, control, monitoreo, sealizacin, secuenciamiento, autorizacin, comunicaciones, procesamiento de seales, etc. Inclusive, un sistema mnimo puede tener propsitos didcticos como es un entrenador o propsitos de validacin como es un emulador. El objetivo de este curso es que el alumno sea capaz de disear un sistema mnimo basado en un cc para una aplicacin elegida.
10
11