Arquitectura de Microcontroladores y Microporcesadores en Ensamblador I
INTRODUCCIN
Sistemas Digitales IPN
Conceptos Previos.
Contenido
2
Temario Compendio histrico de la era digital. Comparacin entre microprocesadores y microcontroladores. Arquitecturas RISC y CISC. Arquitectura Von Neumann contra Harvard.
Seleccin del microcontrolador en base a especificaciones del curso.
Caractersticas especificas de PICs a ocupar. Harvard Modificada.
Caractersticas Elctricas Especiales.
Fundamentos de Lenguaje Ensamblador. Descripcin general de las Instrucciones.
Arquitectura de Microcontroladores y Microprocesadores Sistemas Digitales IPN
Temario
3
UNIDAD 1 ARQUITECTURA DEL MICROPROCESADOR Y MICROCONTROLADOR Definicin de circuitos secuenciales Definicin del microprocesador Anlisis del diagrama a bloques interno (investiga arquitectura interna) Caractersticas generales de los microprocesadores de 8 bits (investiga diversos MP y elabora cuadro comparativo) Definicin de un microcontrolador Anlisis del diagrama a bloques interno Caractersticas generales de los MC de 8 bits Comparacin entre MP y MC Clasificacin de los MP y MC UNIDAD NO. 2 MEMORIAS Y REGISTROS DEL MICROPROCESADOR Y MICROCONTROLADOR Definicin de un sistema mnimo Diagrama a bloques de un sistema mnimo Descripcin y ubicacin fsica de los componentes Mapa de memoria Bus de control, datos y direcciones Programacin del microprocesador y sistema mnimo Hoja de especificaciones
Sistemas Digitales IPN
UNIDAD DIDCTICA NO. 3 PROGRAMACION EN LENGUAJE ENSAMBLADOR
Programacin del microprocesador y sistema mnimo Tipos de instrucciones Algoritmo y diagrama de flujo Programas de aplicaciones Puertos, entradas y salidas Subrutinas Rutinas de tiempo
UNIDAD DIDCTICA NO. 4 SUBRUTINAS
Operaciones
Sistemas Digitales IPN
Inicio de Electronica Digital
5
Shannons 1937 MIT Masters Thesis introduces the world to binary digital electronics
Arquitectura de Microcontroladores y Microprocesadores Sistemas Digitales IPN
Biografa
6
Claude Elword Shannon nacio el 30 de abril de 1916 en petoskey ( Michigan, EEUU) y muri 24 febrero del 2001. Ingeniero Electrnico y Matemtico Colaboro con una asociacin muy fructfera con muchos matemticos y cientficos de primera lnea como Walter Brattain inventor del transistor.
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Evolucin de la Electrnica Digital.
Tubos de Vaco Transistores Circuitos
VLSI
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Circuitos Secuenciales
8
DEFINICION DE CIRCUITOS SECUENCIALES. Un circuito lgico tambin llamado circuito digital es aquel que obedece a un cierto conjunto de reglas lgicas. Sistemas combinacionales: la salida depende solamente de lo que haya en las entradas en ese instante.
Sistemas secuenciales: La salida depende de los valores de las entradas en ese instante y tambin de los valores que tuvieron en los instantes anteriores Circuitos que recuerdan o tienen memoria de las situaciones de inters por las que ha pasado el sistema a las situaciones se denominan estados
Curso de Microcontroladores en Ensamblador I
Sistemas Digitales IPN
Sistema Secuencial
9
Sistemas Digitales IPN
DEFINICION DEL
10
MICROPROCESADOR
En 1941 comienzan a construirse computadoras digitales basadas en el sistema binario de numeracin basndose en rels, y en un paso posterior se consigue la primer computadora basada en miles de vlvulas a laque se denomin ENIAC y que ha supuesto un paso decisivo y definitivo en el desarrollo tecnolgico industrial. Un microprocesador es un componente que contiene en una sola pastilla los componentes necesarios para desarrollar funciones aritmticas, lgicas y de control, es una pequea Unidad Central de Proceso (CPU) en una pastilla.
Sistemas Digitales IPN
Partes Principales de un Microprocesador
11
Sistemas Digitales IPN
12
Encapsulado : es lo que rodea a la oblea de silicio en s, para darle consistencia, impedir su deterioro y permitir el enlace con los conectores externos que lo acoplarn a su zcalo o a la placa madre directamente. Memoria cach : son dos memoria ultrarpidas que almacenan ciertos bloques de datos que posiblemente sern utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM, aumentando as la velocidad y disminuyendo el nmero de veces que la PC debe acceder a la RAM. Las caches de micro se encuentran en dos niveles: L1 y L2 Coprocesador matemtico : es el FPU (Floating Point Unit - Unidad de como flotante) la parte del micro especializada en esa clase de clculos matemtico Unidad lgica aritmtica (ALU): es la parte inteligente del chip, y realiza todas las funciones de suma, resta, multiplicacin o divisin. Tambin sabe leer comandos lgicos, como OR. AND o NOT. Los mensajes de la unidad de control le dicen a la ALU que debe hacer. Unidad de control : regula el proceso entero de cada operacin que realiza el microprocesador, basndose en las instrucciones de la unidad de decodificacin, crea seales que controlan a la ALU y los Registros. La unidad de control dice qu hacer con los datos y en qu lugar guardarlos. Una vez que finaliza, se prepara para recibir nuevas instrucciones. Registros : son pequeas memorias en donde se almacenan los resultados de las operaciones realizadas por la ALU por un corto periodo de tiempo.
Sistemas Digitales IPN
Cmo funciona un microprocesador?
13
El funcionamiento bsico del micro para la ejecucin de instrucciones es la siguiente: La unidad de control se encarga de recibir las instrucciones provenientes de la memoria a travs del bus de datos, decodifica cada instruccin y la ejecuta, enviando datos a cualquier dispositivo que la instruccin indique. La unidad aritmtico lgica es una parte del micro que se encarga de realizar las operaciones lgicas y aritmticas, que luego depositar los resultados de las operaciones en un registro El micro est gobernado por un reloj de sistema, un cristal de cuarzo regulado que cumple el papel de un metrnomo electrnico. A mayor velocidad del reloj, ms operaciones se podrn realizar en el mismo perodo de tiempo. La velocidad de este reloj se mide en megahertz (millones de ciclos por segundo).
Sistemas Digitales IPN
Tipos de conexin
14
El rendimiento de los micros no slo dependen de ellos mismos, sino de la placa en donde se instalan. Existen 2 tipos de conexin: tipo cartucho y zcalo. El tipo cartucho, , generalmente integran el cooler (ventilador), se conecta como un cartucho de family, con la nica diferencia que tiene un cable que se conecta a la placa madre y a cada lado tiene unas presillas que sirven para extraer el micro. La desventaja proncipal de este tipo de micro, es que ocupa mucho espacio, lo que dificulta la ventilacin, y haba que ejercer mucha fuerza a veces para conectarlo, lo que poda causar problemas tanto en el micro como en la Sistemas Digitales IPN placa madre.
15
Sistemas Digitales - IPN
16
El tipo zcalo, se conectan directamente sobre un conector en la placa madre sin necesidad de tener que generar presin sobre el mismo. Para extraerlo slo basta con levantar la palanca del zcalo hacia arriba.
Sistemas - IPN
Ncleos e hilos
17
Los ncleos e hilos de por si, parecen que son la misma cosa, pero en realidad no es as, si bien persiguen el mismo objetivo, aumentar la velocidad del microprocesador, funcionan de diferente manera. La tecnologa multincleo, lo que hace es colocar dos o ms procesadores (ncleos) dentro de un slo encapsulado de silicio, esto permite ejecutar mltiples tareas simultneamente en paralelo, ya que mientras un ncleo ejecuta una instruccin, otro ejecuta otra instruccin al mismo tiempo, teniendo as una mayor velocidad y menor tiempo de respuesta por parte del microprocesador .
Sistemas Digitales IPN
18
La tecnologa de hilos o hipertreading, permite a los programas preparados para ejecutar mltiples hilos procesarlos en paralelo dentro de un nico procesador, incrementando el uso de las unidades de ejecucin del procesador. Esta tecnologa consiste en simular dos procesadores lgicos dentro de un nico procesador fsico. El resultado es una mejora en el rendimiento del procesador, dado que al simular dos procesadores se pueden aprovechar mejor las unidades de clculo manteniendolas ocupadas durante un porcentaje mayor de tiempo.
Sistemas Digitales IPN
19
Sistemas Digitales IPN
Familia de microprocesadores que incorporan hipertreading
20
* Intel Pentium 4 * Intel Pentium D Extrem Edition * Intel Core I3 * Intel Core I5 * Intel Core I5 Sandy Bridge * Intel Core I7 * Intel Core I7 Sandy bridge *Intel Atom N450
Sistemas Digitales IPN
ANLISIS DEL DIAGRAMA A BLOQUES INTERNO
21
Los fabricantes han mantenido lneas generales de diseo bastante similares, la mayora de los microprocesadores tienen la misma arquitectura bsica. En esta representacin esquemtica podemos apreciar que el microprocesador posee una serie de bloques internos que se comunican entre s y con el exterior a travs de unos conjuntos de lneas denominados buses que sirven para transmitir seales y datos entre los distintos componentes.
Sistemas Digitales IPN
22
Sistemas Digitales IPN
Microcontrolador?
23
Qu son los Microcontroladores? Son circuitos integrados que incorporan todos los bloques funcionales de un Sistema Microprocesador en un nico 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 Opcode) 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.
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Comparacin entre microprocesadores y microcontroladores.
24
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Arquitecturas RISC y CISC.
25
RISC
(Reduced Instruction Set Computer)
CISC
(Complex Instruction Set Computer)
Estos microcontroladores cuentan con instrucciones sencillas y en un nmero mnimo. Ello permite que la programacin en ensamblador sea una labor cmoda y est al alcance de todos. Sin embargo, cuando se desarrollan proyectos mucho ms complejos, el uso del lenguaje ensamblador se torna cada vez ms engorroso. Entonces se prefiere optar por los compiladores de alto nivel, para los cuales un set RISC no es obstculo.
El set de instrucciones CISC es inherente a los primeros microcontroladores que aparecieron en el mundo, los cuales estaban inspirados en los procesadores de los grandes computadores de la poca. Es complejo porque consta de muchas instrucciones, complicadas y difciles de recordar a la hora de programar en lenguaje ensamblador. Adems, al crecer el nmero de instrucciones tambin crecern los cdigos de las instrucciones, lo cual deriva en una mella en la eficiencia del microcontrolador.
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Arquitectura Von Neumann.
26
La arquitectura de von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos.
Arquitectura de Microcontroladores y Microprocesadores Sistemas Digitales IPN
Arquitectura Harvard.
27
El trmino Arquitectura Harvard haca referencia a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento fsicamente separados para las instrucciones y para los datos. El trmino proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.
Arquitectura de Microcontroladores y Microprocesadores Sistemas Digitales IPN
Seleccin del microcontrolador en base a especificaciones.
28
Microchip ha dividido sus microcontroladores en tres grandes subfamilias de acuerdo al nmero de bits de su bus de instrucciones:
Subfamilia
Base - Line Mid - Range
Instrucciones
33 Instrucciones de 12 bits. 35 Instrucciones de 14 bits.
Nomenclatura
PIC12XXX y PIC14XXX PIC16XXX
High - End
Variantes principales
58 Instrucciones de 16 bits.
PIC17XXX y PIC18XXX
Los microcontroladores que produce Microchip cubren una amplio rango de dispositivos cuyas caractersticas pueden variar como sigue:
Empaquetado (desde 8 patitas hasta 68 patitas) Tecnologa de la memoria incluida (EPROM, ROM, Flash) Voltajes de operacin (desde 2.5v hasta 6v) Frecuencia de operacin (Hasta 20 MHz)
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Seleccin del microcontrolador en base a especificaciones.
29
Nomenclatura
Adems de lo mostrado en la tabla anterior, en el nombre especfico del microcontrolador pueden aparecer algunas siglas que dependen del rango de voltaje manejado y del tipo de memoria ROM incluida, como se muestra en la siguiente tabla: Rango de Voltaje
Tipo de Memoria
EPROM, OTP ROM FLASH
Estndar (4.5 a 6 volts)
PIC16CXXX PIC16CRXXX PIC16FXXX
Extendido (2.5 a 6 volts)
PIC16LCXXX PIC16LCRXXX PIC16LFXXX
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Harvard Modificada.
30
Representacin de la Arquitectura Harvard en microcontroladores de la familia Mid Range.
Arquitectura de Microcontroladores y Microprocesadores Sistemas Digitales IPN
Caractersticas especificas de PICs a ocupar.
31
Algunas de las caractersticas y recursos generales y comunes a casi todos los PICs son:
Estn fabricados con tecnologa CMOS. Aunque los dispositivos CMOS son ms lentos que los TTL, son ideales para los microcontroladores porque requieren de menor consumo de energa. Es posible implementar sistemas que solo se alimenten de bateras corrientes. La tecnologa CMOS, como sabemos, tambin significa que los transistores, al ser mucho menos, ocupan mucho menor espacio en el chip. Memorias de programa (FLASH, OTP o ROM), memoria de datos esttica (SRAM) y memoria EEPROM internas. Puertos de E/S bidireccionales configurables independientemente pin por pin. Suministro de alta corriente en los puertos de E/S. Timers. Temporizadores de alta precisin o contadores de pulsos externos. WatchDog. Monitoriza que el PIC funcione adecuadamente a lo que se esperaba y no se cuelgue. ICSP (In Circuit Serial Programming). Permite realizar la programacin del PIC utilizando una interface serial con muy pocos pines. Bits de Configuracin. A veces llamados fuses, permiten establecer un determinado modo de funcionamiento del PIC, como el tipo de oscilador que utilizar o si el cdigo grabado podr o no ser ledo despus de la programacin.
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
32
Caractersticas Elctricas Especiales.
Otros recursos, ms avanzados, son especficos a cada familia de PICs y pueden ser: Mdulos PWM. Generadores de ondas PWM (Pulse Width Modulation). Son particularmente tiles para controlar la velocidad de los motores DC. Convertidores Analgico-Digital, ADC. Para recibir seales del mundo analgico. Puerto Serial Sncrono, MSSP. Para la comunicacin con dispositivos que utilizan los buses I2C o SPI. Puerto Paralelo Esclavo, SPP. Por ejemplo, para conectarse directamente con el puerto paralelo del PC. USART, Transmisor Receptor Sncrono Asncrono Universal. Para comunicarse mediante los protocolos RS232 con cualquier dispositivo que tambin lo soporte. Por ejemplo, podemos conectar nuestro PIC al puerto serie del PC o a cualquier otro microcontrolador con USART. Mdulo Comparador Analgico. Nos puede ahorrar un OP-AMP y algo ms. Mdulo CAN. Para facilitarle al PIC su conexin con otros microcontroladores en una pequea red LAN con un protocolo robusto para trabajar en condiciones extremas. Mdulo USB. Casi todos los dispositivos digitales modernos presentan interface USB. Con esto podemos disear sistemas que no tengan nada que envidiarles.
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
33
Fundamentos de Lenguaje Ensamblador.
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
34
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
35
Descripcin general de las Instrucciones.
Muestra de las 35 instrucciones que reconoce la CPU de los PIC de medio rango, incluyendo su mnemnico, tiempo de ejecucin, cdigo de mquina y afectacin de banderas.
Sistemas Digitales IPN
1er Set de Instrucciones.
36
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
2o Set de Instrucciones.
37
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN
Conclusin.
38
Programar en lenguaje C o en Ensamblador? La ventaja del C frente al ensamblador es la rapidez en el desarrollo de las aplicaciones y la comodidad a la hora de utilizar las funciones de manejo de los mdulos internos (podemos pasar de 2 o 3 das a 1 semanas con aplicaciones para el manejo de un LCD). Las ventajas del ensamblador sobre el C residen en la eficiencia y lo compacto que resulta el cdigo (entorno a un 80% menor en tamao). En el ensamblador de los microcontroladores PIC, una instruccin ocupa una nica posicin de la memoria de programa. Una simple instruccin en C que nos ocupa una nica lnea de nuestro cdigo fuente puede traducirse en varias posiciones de memoria de programa (como ejemplo introduzca unas cuantas condiciones en un if...). Adems, cuando uno utiliza la programacin en ensamblador, se dispone de un control total sobre el tiempo de ejecucin de las instrucciones, lo que puede resultar especialmente importante en ciertas aplicaciones en tiempo real.
El punto de partida debe ser por tanto el Ensamblador
Arquitectura de Microcontroladores y Microprocesadores Sistemas Digitales IPN
Links
39
http://perso.wanadoo.es/pictob/intro.htm http://www.cursomicros.com
Arquitectura de Microcontroladores y Microprocesadores
Sistemas Digitales IPN