Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Microprocesador
Es un chip (circuito integrado) que procesa o manipula la informacin almacenada en la memoria (datos y/o instrucciones). Costa de dos componentes fundamentales: La unidad de Control (UC): Coordina las actividades de la computadora y determina qu operaciones se deben realizar y en qu orden. La unidad Aritmtica y Lgica (ALU): Slo realiza operaciones como su nombre lo indica. Su velocidad se mide en MHz y manipulan palabras de 4 a 64 bits. Histricamente van desde el 8080, 8086, 80286, 80386, 80486, pentium I,II,III y IV.
Microcontroladores PIC.
El nombre verdadero de este microcontrolador es PICmicro controlador de interfaz perifrico (Peripheral Interface Controller), conocido bajo el nombre PIC. Su primer antecesor fue creado en 1975 por la compaa General Instruments. Este chip denominado PIC1650 fue diseado para propsitos completamente diferentes. Aproximadamente diez aos ms tarde, al aadir una memoria EEPROM, este circuito se convirti en un verdadero microcontrolador PIC.
MATERIAL PRTICA N 1. INTRODUCCIN A LOS MICROCONTROLADORES. ORGANIZACIN FUNCIONAL DE UN MICROCONTROLADOR. Clasificacin de los microcontroladores segn el bus de datos (bits)
Microcontroladores de 4 bits: Son los ms sencillos en todos los aspectos Son de muy bajo costo Se fabrican en grandes volmenes Aplicaciones tpicas: pequeos automatismos y juguetera Microcontroladores de 8 bits: Son los ms utilizados en la actualidad Gran diversidad y versatilidad Los PIC son microcontroladores de 8 bits ms usados, Con ms de 2000 millones de unidades vendidas/ao Aplicaciones en diversos campos Microcontroladores de 16 bits: Prestaciones superiores Aplicaciones tpicas: procesamiento digital de seales Entre ellos PIC24xx y los dsPIC33xxx Microcontroladores de 32 bits: Ms complejos y costosos Algunas caractersticas similares a un microprocesador Se dedican a proyectos muy avanzados Aplicaciones tpicas: inteligencia artificial, aplicaciones militares y almacenamiento masivo de datos.
MATERIAL PRTICA N 1. INTRODUCCIN A LOS MICROCONTROLADORES. ORGANIZACIN FUNCIONAL DE UN MICROCONTROLADOR. Caractersticas Principales de los PIC 16F87X
La familia est constituida por 4 dispositivos: PIC16F873, PIC16F874, PIC16F876 y PIC16F877 El 16F873 y 16F876 se presentan en encapsulado de 28 pines. El 16F874 y 16F877 tienen 40 pines Caractersticas Comunes: Procesador RISC de slo 35 instrucciones Toda las instrucciones tienen la misma duracin (1 ciclo) salvo los saltos que demoran dos ciclos 1 ciclo = 4 pulsos reloj Velocidad de operacin mxima 20 MHz Hasta 8K x 14 words de FLASH Program Memory Hasta 368 x 8 bytes de Data Memory (RAM) Hasta 256 x 8 bytes de EEPROM para datos 14 fuentes de interrupcin seleccionables en forma independiente Stack de ocho niveles Tres modos de direccionamiento: Directo, indirecto y relativo Power-on Reset (POR) Power-up Timer (PWRT) Oscillator Start-up Timer (OST) Watchdog Timer (WDT) con oscilador interno RC Proteccin de cdigo programable medio cdigo o completo Modo SLEEP para ahorro de energa
Fuente de reloj seleccionada por software Programacin en circuito In-Circuit Serial Programming (ICSP) In-Circuit Debugging utilizando dos pines de conexin Acceso a la memoria de programa desde el procesador en tiempo de ejecucin para una lectura y/o escritura de datos Voltaje de operacin desde 2.0V to 5.5V Capacidad de drenar/sumir corriente de 25 mA (FAN OUT/FAN IN) Consumo de energa: < 2 mA @ 5V, 4 MHz 20 uA @ 3V, 32 kHz < 1 uA en modo de reposo (sleep)
Cada puerto de E/S normalmente est bajo el control de un registro SFR especializado, lo que significa que cada bit de ese registro determina el estado del pin correspondiente en el el microcontrolador. Por ejemplo, al escribir un uno lgico (1) a un bit del registro de control (SFR), el pin apropiado del puerto se configura automticamente como salida. Eso significa que el voltaje llevado a ese pin se puede leer como 0 o 1 lgico. En caso contrario, al escribir 0 al registro SFR, el pin apropiado del puerto se configura como salida. Su voltaje (0V o 5V) corresponde al estado del bit apropiado del registro del puerto (0 o 1 lgico, respectivamente).
La unidad de memoria es una parte del microcontrolador utilizada para almacenar los datos. La manera ms fcil de explicarlo es compararlo con un armario grande con muchos cajones. Si marcamos los cajones claramente, ser fcil acceder a cualquiera de sus contenidos al leer la etiqueta en la parte delantera del cajn. De manera similar, cada direccin de memoria corresponde a una localidad de memoria. El contenido de cualquier localidad se puede leer y se le puede acceder al direccionarla. La memoria se puede escribir en la localidad o leer.
MATERIAL PRTICA N 1. INTRODUCCIN A LOS MICROCONTROLADORES. ORGANIZACIN FUNCIONAL DE UN MICROCONTROLADOR. Memoria Flash
La Memoria FLASH es donde se almacena el programa de aplicacin del microcontrolador. Este tipo de memoria se invent en los aos 80 en los laboratorios de la compaa INTEL, como forma desarrollada de la memoria UV EPROM. Ya que es posible escribir y borrar el contenido de esta memoria prcticamente un nmero ilimitado de veces, los microcontroladores con memoria Flash son perfectos para estudiar, experimentar y para la fabricacin en pequea escala. Por la gran popularidad de esta memoria, la mayora de los microconroladores se fabrican con tecnologa flash hoy en da.
MEMORIA FLASH 8K
Posee una capacidad de 8K palabras de 14 bits cada una. Est dividida en pginas (bloques) de 2K cada uno. Se direcciona a travs del Program Counter PC. Tiene asociado un Stack o pila que funciona en forma automtica, no hay instrucciones disponibles para guardar o sacar informacin del Stack, el cual, tiene ocho niveles de profundidad. La primera direccin de la memoria FLASH (0000h), la ocupa el vector de RESET. La siguiente direccin disponible la (0004h) la ocupa el vector de interrupciones. El espacio entre la direccin 0005h y 1FFFh est disponible para los cdigos del programa.
MEMORIA RAM (Random Access Memory) - memoria de acceso aleatorio Al apagar la fuente de alimentacin, se pierde el contenido de la memoria RAM. Se utiliza para almacenar temporalmente los datos y los resultados inmediatos creados y utilizados durante el funcionamiento del microcontrolador. Por ejemplo, si el programa ejecuta la adicin (de cualquier cosa) es necesario tener un registro que representa lo que se llama suma en vida cotidiana. Con tal propsito, uno de los registros de la RAM es denominado suma y se utiliza para almacenar los resultados de la adicin. La Memoria de datos utiliza registros implementados en la RAM. En la RAM se alojan todos los registros destinados al funcionamiento del procesador, manejo de los perifricos, I/O y registros de propsito general, los cuales, pueden ser utilizados por el programador como informacin de trabajo propia de la aplicacin. La Memoria RAM costa de cuatro bancos con 128 bytes cada uno. Para seleccionar el banco que se desee acceder de la RAM, se emplean los Bits No. 6 y 5 del Registro de Estado*, los cuales se denominan <RP1><RP0>.
MATERIAL PRTICA N 1. INTRODUCCIN A LOS MICROCONTROLADORES. ORGANIZACIN FUNCIONAL DE UN MICROCONTROLADOR. Memoria EEPROM (Electrically Erasable Programmable ROM) - ROM programable y borrable elctricamente
El contenido de la EEPROM se puede cambiar durante el funcionamiento (similar a la RAM), pero se queda permanentemente guardado despus de la prdida de la fuente de alimentacin (similar a la ROM). Por lo tanto, la EEPROM se utiliza con frecuencia para almacenar los valores creados durante el funcionamiento, que tienen que estar permanentemente guardados. Por ejemplo, si usted ha diseado una llave electrnica o una alarma, sera estupendo permitir al usuario crear e introducir una contrasea por su cuenta. Por supuesto, la nueva contrasea tiene que estar guardada al apagar la fuente de alimentacin. En tal caso una solucin perfecta es el microcontrolador con una EEPROM embebida.
las instrucciones del programa y acciona otros circuitos basndose en esto; Unidad lgica aritmtica (Arithmetical Logical Unit - ALU) realiza todas las operaciones matemticas y lgicas sobre datos. El conjunto de instrucciones que es diferente para cada familia de microcontrolador expresa las capacidades de este circuito; y Acumulador o registro de trabajo. Es un registro SFR estrechamente relacionado con el funcionamiento de la ALU. Es un tipo de escritorio de trabajo utilizado para almacenar todos los datos sobre los que se debe realizar alguna operacin (sumar, mover). Tambin almacena los resultados preparados para el procesamiento futuro. Uno de los registros SFR, denominado Registro Status (PSW), est estrechamente relacionado con el acumulador. Muestra el estado de un nmero almacenado en el acumulador (el nmero es mayor o menor que cero etc.) en cualquier instante dado. El acumulador es denominado registro de trabajo (working register), o sea, registro W o solamente W.
COMUNICACIN SERIE Hoy en da, la mayora de los microcontroladores llevan incorporados varios sistemas diferentes para la comunicacin en serie, como un equipo estndar. Cul de estos sistemas se utilizar en un caso concreto, depende de muchos factores, de los que ms importantes son:
Con cuntos dispositivos el microcontrolador tiene que intercambiar los datos? Cul es la velocidad del intercambio de datos obligatoria? Cul es la distancia entre los dispositivos? Es necesario transmitir y recibir los datos simultneamente? Una de las cosas ms importantes en cuanto a la comunicacin en serie es el Protocolo que debe ser estrictamente observado. Es un conjunto de reglas que se aplican obligatoriamente para que los dispositivos puedan interpretar correctamente los datos que intercambian mutuamente. Afortunadamente, los microcontroladores se encargan de eso automticamente, as que el trabajo de programador/usuario es reducido a la escritura y lectura de datos.
Los sistemas de comunicacin serial ms utilizados son: I2C (Inter Integrated Circuit) - Circuito Inter-Integrado
Circuito inter-integrado es un sistema para el intercambio de datos serial entre los microcontroladores y los circuitos integrados de nueva generacin. Se utiliza cuando la distancia entre ellos es corta (el receptor y el transmisor estn normalmente en la misma placa de circuito impreso). La conexin se establece por medio de dos lneas - una se utiliza para transmitir los datos, mientras que la otra se utiliza para la sincronizacin (la seal de reloj). Como se muestra en la figura, un dispositivo es siempre el principal (master maestro), el que realiza el direccionamiento de un chip subordinado (slave - esclavo) antes de que se inicie la comunicacin. De esta manera un microcontrolador puede comunicarse con 112 dispositivos diferentes. La velocidad de transmisin de datos es normalmente 100 Kb/seg (el modo estndar) o 10 Kb/seg (modo de velocidad de transmisin de datos baja). Recientemente han aparecido los sistemas con la velocidad de transmisin de datos de 3.4 Mb/sec. La distancia entre los dispositivos que se comunican por el bus I2C est limitada a unos metros.
USART
TEMPORIZADOR PERRO GUARDIN (WATCHDOG) El perro guardin es un temporizador conectado a un oscilador RC completamente independiente dentro del microcontrolador.
Si el perro guardin est habilitado, cada vez que cuenta hasta el mximo valor en el que ocurre el desbordamiento del registro se genera una seal de reinicio del microcontrolador y la ejecucin de programa inicia en la primera instruccin. El punto es evitar que eso ocurra al utilizar el comando adecuado.
La idea se basa en el hecho de que cada programa se ejecuta en varios bucles, ms largos o cortos. Si las instrucciones que reinician el temporizador perro guardin se colocan en lugares estratgicos del programa, aparte los comandos que se ejecutan regularmente, el funcionamiento del perro guardin no afectar a la ejecucin del programa. Si por cualquier razn (con frecuencia por los ruidos elctricos) el contador de programa se queda atrapado dentro de un bucle infinito, el valor del registro continuar aumentado por el temporizador perro guardin alcanzar el mximo valor, el registro se desbordar y, ocurre el reinicio y el programa ser ejecutado desde el principio.
Las seales externas son muy diferentes de las que entiende el microcontrolador (solamente 0V y 5V), as que deben ser convertidas para que el microcontrolador pueda entenderlas. Un convertidor analgico-digital es un circuito electrnico encargado de convertir las seales continuas en nmeros digitales discretos. En otras palabras, este circuito convierte un nmero real en un nmero binario y se lo enva a la CPU para ser procesado. Este mdulo se utiliza para medir el voltaje en el pin de entrada (voltaje analgico). El resultado de esta medicin es un nmero (el valor digital) utilizado y procesado ms tarde en el programa.
ARQUITECTURA INTERNA
est compuesto por una instruccin y un dato. En otras palabras, una localidad de memoria - una instruccin de programa.
ancho. Como un bus de datos utilizado para lectura de programa tiene unas lneas ms (12, 14 o 16), tanto la instruccin como el dato se pueden leer simultneamente al utilizar estos bits adicionales. Por eso, todas las instrucciones se ejecutan en un ciclo salvo las instrucciones de salto que son de dos ciclos.
JUEGO DE INSTRUCCIONES El nombre colectivo de todas las instrucciones que puede entender
el microcontrolador es llamado Juego de Instrucciones. Cuando se escribe un programa en ensamblador, en realidad se especifican instrucciones en el orden en el que deben ser ejecutadas. La restriccin principal es el nmero de instrucciones disponibles. Los fabricantes normalmente elijen entre una de dos soluciones opuestas y disean los microcontroladores que aplican el mayor o el menor nmero posible de instrucciones. En otras palabras, elijen entre dos juegos de instrucciones - RISC o CISC, respectivamente.
temporales (la RAM) estn separados, permite a la CPU poder ejecutar dos instrucciones simultneamente. Dicho de manera sencilla, mientras que se realiza la lectura o escritura de la RAM (que marca el fin de una instruccin), la siguiente instruccin se lee por medio de otro bus.
von-Neumann, nunca se sabe cunta memoria ocupar algn programa. Generalmente, la mayora de las instrucciones de programa ocupan dos localidades de memoria (una contiene informacin sobre QU se debe realizar, mientras que la otra contiene informacin sobre CUL dato se debe realizar). Sin embargo, esto no es una frmula rgida, sino el caso ms frecuente. En los microcontroladores que utilizan una arquitectura Harvard, el bus de la palabra de programa es ms ancho que un byte, lo que permite que cada palabra de programa
RISC (REDUCED INSTRUCTION SET COMPUTER) - COMPUTADORA CON JUEGO DE INSTRUCCIONES REDUCIDAS En este caso la idea es que el microcontrolador reconoce y ejecuta slo operaciones bsicas (sumar, restar, copiar etc...) Las operaciones ms complicadas se realizan al combinar stas. Por ejemplo, multiplicacin se lleva a cabo al realizar adicin sucesiva. Es como intentar explicarle a alguien con pocas palabras cmo llegar al aeropuerto en una nueva ciudad. Sin embargo, no todo es tan oscuro. Por ltimo, no es tan difcil explicar dnde est el aeropuerto si se utilizan las palabras adecuadas tales como: a la derecha, a la izquierda, el kilmetro etc. CISC (COMPLEX INSTRUCTION SET COMPUTER) - COMPUTADORAS CON JUEGO DE INTRUCCIONES COMPLEJO CISC es opuesto a RISC Los microcontroladores diseados para reconocer ms de 200 instrucciones diferentes realmente pueden realizar muchas cosas a alta velocidad. No obstante, uno debe saber cmo utilizar todas las posibilidades que ofrece un lenguaje tan rico, lo que no es siempre tan fcil.