Exponsor

CURSO TÉCNICO INSTALADOR DE ENERGÍA SOLAR TÉRMICA

Visita el siguiente enlace: http://enersolartermica.blogspot.com.es/ ¡No pierdas esta magnifica oportunidad de poder formarte en esta profesión con gran demanda de empleo! Ahora por oferta de lanzamiento y por tiempo limitado puedes adquirir este curso por solo 9,95€, cuando su valor de mercado es de 49€.

lunes, 13 de abril de 2009

EQUIPOS DE MEDICIÓN

Los equipos de medición de electrónica se utilizan para crear estímulos y medir el comportamiento de los Dispositivos Bajo Prueba (DUT por sus siglas en inglés). A continuación presentamos una lista de los más equipos de medición más importantes:

Galvanómetro: mide el cambio de una determinada magnitud, como la intensidad de corriente o tensión (o voltaje). Se utiliza en la construcción de Amperímetros y Voltímetros analógicos.

Amperímetro y pinza amperimétrica: miden la intensidad de corriente eléctrica.

Óhmetro o puente de Wheatstone: miden la resistencia eléctrica. Cuando la resistencia eléctrica es muy alta (sobre los 1 M-ohm) se utiliza un Meggómetro o Medidor de aislamiento.

Voltímetro: mide la tensión.

Multímetro o polímetro: mide las tres magnitudes citadas arriba, además de continuidad eléctrica y el valor B de los Transistores (tanto PNP como NPN).

Vatímetro: mide la potencia eléctrica. Está compuesto de un amperímetro y un voltímetro, y, a depender de la configuración de conexión, puede entregar distintas mediciones de potencia eléctrica.

Osciloscopio: miden el cambio de la corriente y el voltaje respecto al tiempo.

Analizador lógico: prueba circuitos digitales.

Analizador de espectro: mide la energía espectral de las señales.

Analizador vectorial de señales: como el analizador espectral pero con más funciones de demodulación digital.

Electrómetro: mide la carga eléctrica.

Frecuencímetro o contador de frecuencia: mide la frecuencia.

Reflectómetro de dominio de tiempo (TDR): prueba la integridad de cables largos.

Capacímetro: Mide la capacidad eléctrica o capacitancia.

Vatihorímetro o contador eléctrico: Mide el consumo eléctrico.

DISPOSITIVOS DIGITALES

Biestable: control de sistemas secuenciales.

Memoria: almacenamiento digital de datos.

Microcontrolador: control de sistemas digitales.

Puerta lógica: control de sistemas combinacionales.

CÓMO TRABAJA UN MICROPROCESADOR ( I )

Tradicionalmente, antes del advenimiento del microprocesador, se podían identificar cuatro unidades independientes en la arquitectura de cualquier computadora:

(1) La unidad de control.

(2) La unidad aritmética.

(3) La unidad de almacenamiento o memoria.

(4) La unidad de entrada-salida.

El esquema general bajo esta concepción era el siguiente:



Sin embargo, con la llegada de la microelectrónica, no se llevó mucho tiempo para que los ingenieros se dieran cuenta de que dentro de un mismo circuito integrado se podían incorporar en un mismo substrato la unidad de control y la unidad aritmética:



Así, estas dos unidades independientes que funcionalmente (no físicamente) juntas eran conocidas como la unidad de procesamiento central (Central Processing Unit o CPU) fueron integradas en una sola unidad bautizada apropiadamente con el nombre de microprocesador.

Para que un microprocesador (y de hecho cualquier computadora digital) pueda trabajar es necesario proporcionarle instrucciones para que pueda llevar a cabo las tareas que le estamos encomendando, pudiendo haber otro tipo de información como números o nombres que presuntamente también se requiere. Por el momento pasaremos por alto el hecho de que las computadoras contemporáneas aceptan entradas en una variedad de códigos diferentes dependiendo del modelo y del fabricante, siguiendo instrucciones que han sido grabadas permanentemente en sus memorias de tipo ROM, ejecutando dichas instrucciones a su propio lenguaje de máquina, el lenguaje de "unos" y "ceros". Para nuestros propósitos educativos, imaginemos una pequeña computadora en la que la extensión de las palabras es de 9 bits, lo cual es mucho más corto que cualquier máquina que pueda ser de utilidad alguna pero que para nosotros será más fácil de seguir. La unidad de la memoria RAM será capaz de almacenar 64 palabras de este tipo, siguiendo un orden secuencial. Siempre que una secuencia binaria sea una instrucción los primeros tres bits que llamaremos código de operaciones ó op-code indicarán el tipo de instrucción que será ejecutada, mientras que los últimos seis valores que llamaremos el operando darán el número, o mejor dicho, el domicilio, de la memoria RAM que será requerido para poder ejecutar la instrucción:

XXX_ XXXXXX

Con tres valores disponibles para designar al opcode, son posibles ocho instrucciones diferentes. Si hubieran cuatro bits disponibles para designar al opcode, podríamos contar con 16 instrucciones diferentes. Y con ocho bits disponibles, nuestro conjunto de instrucciones (instruction set) tendría capacidad para 256 instrucciones diferentes. En cualquier máquina, entre mayor sea la cantidad de bits disponibles para el opcode mayor será la cantidad de instrucciones que puedan ser ejecutadas por la máquina. Ahora aprenderemos lo que cada combinación podría significar en lenguaje de máquina para nuestra pequeña computadora ficticia. La siguiente lista proporciona primero el lenguaje de máquina y tras esto una descripción de la instrucción, con el símbolo X pudiendo representar un "1" ó un "0".
000XXXXXX
Alto. En esta instrucción los últimos seis valores no son importantes.

001XXXXXX
Copiar la secuencia en el domicilio XXXXXX de la memoria RAM al acumulador, borrando primero los contenidos previos del acumulador. La palabra almacenada en el domicilio XXXXXX de la memoria RAM deberá estar en ambas partes después de que se ha ejecutado esta instrucción.

010XXXXXX
Sumar el número puesto en el domicilio XXXXXX de la memoria RAM al número que se encuentra en el acumulador, dejando el contenido en el domicilio XXXXXX sin cambio alguno. La suma será dejada en el acumulador. Esta será una suma binaria, no una suma Boleana.

011XXXXXX
Copiar la secuencia que se encuentra en el acumulador hacia el domicilio XXXXXX de la memoria RAM borrando primero cualquier contenido previo que haya sido puesto en XXXXXX. La palabra inicialmente en el acumulador deberá estar en ambas partes después de que se haya ejecutado esta instrucción.

100XXXXXX
Imprimir la secuencia que se encuentra en el domicilio XXXXXX de la memoria RAM, dejando la secuencia en dicho domicilio para su uso posterior.

101XXXXXX
Saltar hacia la instrucción puesta en el domicilio XXXXXX de la memoria RAM. Esto rompe con la rutina normal en la que las instrucciones son tomadas de domicilios contiguos, y es conocida como un salto incondicional (en inglés, jump).

110XXXXXX
Saltar de modo condicionado, tomando la siguiente instrucción del domicilio XXXXXX de la memoria RAM si y solo si el número que se encuentra actualmente en el acumulador es un número binario negativo. En caso contrario, continuar con la secuencia normal.

111XXXXXX
Restar la secuencia que se encuentra en el domicilio XXXXXX de la memoria RAM de la secuencia puesta en el acumulador, dejando los contenidos puestos en el domicilio XXXXXX de la memoria RAM inalterados.
Ahora preguntémonos nosotros mismos cuál será el resultado de la ejecución de las siguientes instrucciones en nuestra máquina ficticia, siguiendo el orden en el que están dadas empezando con la primera instrucción que está puesta arriba:

001010000
010010011
011010000
000101101

Para saber lo que ocurre, tenemos que hacer lo mismo que lo que haría la máquina, analizar cada instrucción. Esto se puede visualizar más fácilmente viendo las instrucciones de nuestro "programa" de la siguiente manera:

001010000

010010011

011010000

000101101

Puesto que los primeros tres bits indican el tipo de instrucción, empezamos por referirnos a nuestra lista anterior, leyendo 001XXXXXX que dice "copiar la secuencia en el domicilio XXXXXX de la memoria RAM al acumulador". En este caso, se trata del domicilio 010000, que nosotros preferimos llamar en nuestro lenguaje humano como el domicilio 16. La primera instrucción ordena que los contenidos en el domicilio 16 de la memoria RAM sean copiados al acumulador. La seguda instrucción dice "sumar el número puesto en el domicilio 010011 de la memoria RAM (el domicilio 19) al número que se encuentra en el acumulador", dejando la suma en el acumulador". De modo semejante, la tercera instrucción se traduce como "copiar la secuencia que se encuentra en el acumulador hacia el domicilio 010000 (el domicilio 16) de la memoria RAM". Mirando hacia atrás vemos que el número puesto en el domicilio 16 de la memoria RAM ha sido alterado, después de haberlo sumado al número puesto en el domicilio 16 de la RAM. Para lograr esto, los números fueron primero sacados de la memoria RAM y llevados a la unidad aritmética, en donde se computó la suma de ambos, con el resultado puesto en la RAM. Y por último, la cuarta instrucción 000XXXXXX le indica a la máquina que la ejecución del pequeño programa ha terminado. Este es un patrón convencional del flujo de información en cualquier microprocesador (o computadora). Los registros en la unidad aritmética, construídos a base de flip-flops, son rápidos y versátiles, y los datos deben ser sacados de la RAM y llevados a los mismos para su procesamiento. Pero por esto mismo estos registros están extremadamente ocupados la mayor parte del tiempo y por ello los resultados intermedios deben ser guardados en la memoria RAM dejando libres dichos registros para otras tareas.

Lo que hemos visto nos indica claramente que es necesario proveerle al microprocesador de circuitos de control que le permitan analizar las instrucciones y ejecutarlas de una manera similar a la forma en la cual se llevó a cabo en nuestro pequeño programa escrito en lenguaje de máquina. Suponiendo que todas las instrucciones necesarias para la ejecución de un programa se encuentran almacenadas en alguna parte de la memoria, la Unidad de Control (Control Unit) debe poder:

(1) Seleccionar cada instrucción siguiendo una secuencia incremental ordenada y copiarla hacia los registros internos del microprocesador para su análisis.

(2) Llevar a cabo el análisis y tomar las acciones necesarias para la ejecución de la instrucción.

Una forma de implementar estas acciones se muestra en el siguiente esquema:





Todo comienza con un humilde flip-flop del tipo R-S, del tipo que vimos en el capítulo quinto de este libro. Este flip-flop divide la acción las en dos partes alternantes bosquejadas arriba: secuenciamiento (búsqueda) y ejecución. Al comienzo, la salida del flip-flop (que puede ser la salida Q) para el ciclo de búsqueda (ciclo fetch) tiene un "1" y permite que el domicilio de la memoria RAM en el cual se encuentra puesta la primera instrucción, posiblemente el domicilio 000001, ingrese al decodificador de domicilios propio de la memoria RAM, que con la acción de "leer" (read) envía el contenido de este domicilio al registro de instrucciones para su análisis posterior. Cuando este paso se ha llevado a cabo, un pulso de un "1" es enviado para "resetear" el flip-flop, activando su otra salida (que en este caso sería su salida complementaria Q) para que se pueda llevar a cabo la ejecución (ciclo execute) de la instrucción. Esto abre otras compuertas, permitiendo que el contenido del registro de instrucciones entre en el decodificador de instrucciones mostrado en la figura, mientras que la porción correspondiente al domicilio va al decodificador de domicilios de modo tal que el domicilio requerido de la memoria RAM pueda ser encontrado. Entre estos dos decodificadores es necesario activar suficientes canales para que se pueda ejecutar la instrucción, tal vez enviando una palabra binaria a la unidad aritmética y empezando una operación de suma binaria en caso de ser la instrucción 010 en nuestra máquina hipotética. En otras palabras, la ejecución de una instrucción dada por el programador al microprocesador lleva implícitas la ejecución de varias instrucciones que podemos llamar microinstrucciones. La ejecución de todas estas microinstrucciones internas son precisamente la labor que lleva a cabo la Unidad de Control mencionada previamente, e inclusive la "microprogramación" de la Unidad de Control (definida como la técnica que consiste en descomponer las instrucciones definidas en el lenguaje de máquina en operaciones elementales llamadas micro instrucciones implementándolas en el "hardware" partiendo de una base común en donde todas las instrucciones utilizan los mismos circuitos, con el microprograma residiendo permanentemente de modo inalterable en el mismo corazón del microprocesador) es una de las técnicas refinadas disponibles para aumentar la eficiencia de cualquier computadora. El siguiente diagrama muestra cómo está integrado esto dentro del núcleo mismo de la computadora:



Mientras ocurren todas las acciones ya señaladas arriba en nuestra máquina hipotética el domicilio en el que se encuentra la siguiente instrucción debe ser incrementado en uno, de modo tal que cuando ocurra la siguiente búsqueda la siguiente instrucción en la secuencia del programa pueda ser localizada, a menos de que la instrucción que se está ejecutando sea del tipo que requiere de un "salto" incondicional hacia otro domicilio de la memoria fuera de la secuencia normal. Es aquí de donde viene el término de "acceso al azar" para la memoria RAM. Una vez que se ha completado la ejecución de la instrucción, la salida del flip-flop (que puede ser la salida Q) es puesta nuevamente a "1" de modo tal que un nuevo ciclo de búsqueda pueda comenzar.