Post on 01-Feb-2018
1
Unidad N°6
Entrada y Salida Digital
6.1.- Introducción
Un microcomputador es, básicamente, un componente digital que
puede examinar las señales digitales de entrada y realizar funciones,
como consecuencia de estas entradas con el fin de proporcionar señales
digitales de salida. Puesto que los dispositivos externos de la periferia
del microcomputador producen o aceptan señales que no son de
naturaleza digital necesariamente, se requiere a menudo , la circuitería
de interface, acoplamiento y adaptación, para transformar estas señales
externas de forma que sean adecuadas para el microcomputador. Esta
unidad está relacionada con los mecanismos básicos usados en un
sistema microprocesador para leer entradas digitales y producir salidas
digitales. Las dos unidades siguientes describen algunos tipos de la
circuitería adicional y los mecanismos de control que se necesitan para
interfasar el microcomputador a las señales específicas externas de
entrada y salida.
2
6.2.- Entrada y Salidas Digitales
Una entrada digital simple para un microprocesador puede ser
producida por un conmutador monopolar. La figura que se detalla a
continuación muestra cómo un 0 lógico o nivel del voltaje puede ser
representado por un microcomputador, dependiendo de la posición del
conmutador.
Voltaje del nivel 1 lógico
Entrada Lógica 1 o 0 lógico
al microcomputador
Voltaje del nivel 0 lógico
De la misma forma puede representarse, una salida lógica simple desde
un microcomputador usando un diodo emisor de luz (led) light emiting
diode, como se ilustra en la siguiente figura.
led On para 1 lógico
1 o 0 lógico desde el microcomputador
led Off para 0 lógico
3
Un indicador LED o un conmutador no pueden ser conectados
directamente al bus del microcomputador, puesto que el
microcomputador usa el bus para comunicarse con todos los
dispositivos del sistema. Por ello la información que hay en el bus está
cambiando continuamente cuando las instrucciones son preparadas
desde la memoria y ejecutadas a continuación. La información que se
obtiene para un indicador de salida debe, de esta forma, ser bloqueada
(latched) por medio de un circuito adecuado. El procesador puede
enviar entonces datos hacia la salida del dispositivo, determinado por
las señales de control del bus y proporciona entonces una salida
continua hasta que reciba nuevos datos. Igualmente, una entrada desde
un conmutador debe quedar aislada de los datos que proceden del bus
hasta que el microprocesador esté dispuesto para poder leer sus valores
lógicos.
Se dispone de una flexibilidad considerable si un sistema incorpora un
dispositivo programable de entrada/salida (PI/O) que proporcione los
puertos y aislamientos necesarios. Estos dispositivos son organizados
usualmente en puertas o grupos de entradas y salidas, a menudo de 8
bits. Normalmente cada puerta puede ser programada para ser una
4
puerta de entrada o salida y a veces, un tipo mixto de entradas y
salidas. En la Figura que se muestra a continuación se representa un
diagrama esquemático de un microcomputador básico que incorpora
un PI/O.
6.3.- Entrada/Salida por zona de memoria
Un sistema microcomputador típico puede contener un cierto número
de dispositivos de entrada/salida conectados todos al mismo bus. Para
ello, es necesario que el microprocesador seleccione cada dispositivo
separadamente.
Hay básicamente, dos aproximaciones para la organización del
direccionamiento asociado con la transferencia de datos de
entrada/salida entre el bus de un microprocesador y un dispositivo de
5
entrada/salida. Con la entrada/salida por zona de memoria el espacio
disponible de direcciones en la memoria del microprocesador queda
dividido en dos áreas. Un área es un rango de direcciones asociado con
el sistema de memoria (ROM y RAM) y la otra queda reservada para
los dispositivos de entrada/salida. En la figura se muestra una
disposición típica que ilustra esta aproximación.
Entrada/salida por zona de memoria
Con éste método cada operación de entrada o salida es similar a la de
un acceso normal a la memoria y permite que se usen las mismas
instrucciones para ambas transferencias; la de datos y la de
entrada/salida. La dirección adecuada sale por el bus de direcciones y
es reconocida bien por un dispositivo de memoria (ROM y RAM) o por
6
un dispositivo de E/S (PI/O) y los datos adecuados son transferidos por
el bus de datos. Este enfoque tiene por ello la ventaja de que puede
tener todos los modos de direccionamiento utilizados para el acceso a la
memoria, disponibles también para las transferencias de datos de
entrada/salida. La mayor desventaja es que se reduce el rango
disponible de las direcciones de la memoria.
6.4.- Entrada/Salida programada
El enfoque alternativo es la entrada/salida programada. Con este
método, las transferencias de datos de entrada/salida son ejecutadas
por medio de unas instrucciones especiales desarrolladas por el
procesador, IN, OUT, para el Intel 8085. El microprocesador genera
una señal de entrada/salida para informar a los dispositivos de
entrada/salida (y la memoria) que la dirección en el bus de direcciones
está destinada a un dispositivo determinado de entrada/salida. Esta
forma significa que no ha reservado ningún espacio para los
dispositivos de entrada/salida en la memoria del sistema.
7
Se ilustra un esquema típico en la figura:
Tenga en cuenta que aunque el Intel 8085 tiene en común con la
mayoría de los microprocesadores, instrucciones de entrada/salida
programadas, es posible también diseñar una entrada/salida por zona
de memoria, basándose en el bus del microprocesador.
6.5.- Dispositivos programables de entrada/salida
La entrada y salida digital se controla en la mayoría de los
microprocesadores por medio de dispositivos programables de
entrada/salida y normalmente se usan entradas/salidas programadas.
Un dispositivo PI/O puede controlar un cierto número de líneas
individuales de entrada y salida. Estas son agrupadas generalmente en
8
un número de puertas, comprendiendo cada una ocho líneas que
pueden ser programadas para operar, bien sea como entradas o como
salidas.
Antes de que los datos puedan ser leídos desde o escritos hacia una
puerta, es necesario primero programar el dispositivo en el tipo de
configuración previsto en su aplicación. Esto se ejecuta escribiendo la
adecuada información de mando en un(os) registro(s) especifico(s)
direccionable(s) del dispositivo cuando el sistema está siendo
inicializado. Después de recibir esta información, el dispositivo
responderá de la manera especificada a más mandos, bien sea desde la
circuitería externa o desde, el microprocesador.
6.5.1.- Control del apretón de manos (handshake)
Para algunas aplicaciones es necesario sincronizar la transferencia de
datos entre el PI/O y un dispositivo externo: en consecuencia, la
mayoría de los PI/Os proporcionan líneas de control para esta función.
La sincronización es usualmente efectuada por medio de un apretón de
manos. En la Figura se ilustra una transferencia típica de secuencia.
9
Los datos son situados primero sobre las líneas de datos por el
dispositivo de envío y la línea de “datos disponibles” (DAV), “data
available”, se energiza. El dispositivo receptor detecta la energización
de la línea DAV, acepta los datos y entonces responde con la
energización de la línea de “datos aceptados” (DACC), “data
accepted”. El dispositivo de envío interpreta la energización de la línea
DACC como un reconocimiento de recepción de los datos por el
receptor y por ello “repone” la línea DAV. Finalmente, el receptor
detecta que la línea DAV ha sido borrada y a su vez energiza la línea
DACC para permitir que se transmitan más datos. Este aspecto se
muestra en el diagrama esquemático de un PI/O que se detalla a
continuación.
10
En todos los dispositivos que están conectados al bus del
microprocesador, RAMs, ROMs, PI/Os, hay una entrada energizadora
de la entrada de la pastilla que es usada (en unión del plano de
direcciones del sistema) para conseguir que solamente el dispositivo
responda a cada transferencia de datos en el bus. Así, cuando está
presente una dirección en el bus de direcciones del microprocesador,
proporcionada por el PI/O, usualmente determinada por la presencia de
un 1 lógico en una posición característica en los bits que forman la
dirección, ésta es detectada y usada para gobernar la línea energizadora
11
de la entrada a la pastilla. Para seleccionar el registro adecuado en el
mismo PI/O de puerta A o puerta B, se usan entonces dos bits
adicionales a la dirección, usualmente el par menos significativo. La
operación adecuada de entrada o salida es determinada por las líneas de
lectura y escritura, respectivamente.
6.5.2.- Inicialización de puerta
En algunos sistemas microprocesadores cada dispositivo programable de
entrada/salida es un circuito integrado separado, pero en otros está
incorporado en otro componente del sistema , procesador o memoria. En
un sistema típico Intel 8085, por ejemplo, se incorporan tres puertas de
entrada/salida en cada circuito RAM de memoria, en unión de un
dispositivo de temporización (Intel 8155). Conceptualmente, sin
embargo, las puertas de entrada/salida y el temporizador están
completamente separados de la memoria RAM y se pueden por esto
considerar independientes.
La puerta adicional del Intel 8155 (puerta C) es de sólo 6 bits y puede ser
usada bien como una tercera puerta de entrada/salida o para
proporcionar señales de control para las puertas A y B, por ejemplo:
12
controles del apretón de manos o de interrupción.
La información del comando necesaria para inicializar las puertas en el
Intel 8155 es de un solo byte (8 bits) y en este byte cada bit tiene asignado
algún significado especial como se representa en la siguiente figura. Este
byte de comando indica que el temporizador y las puertas de
entrada/salida han sido programadas conjuntamente. El byte de mando
se transfiere al Intel 8155 usando un dirección específica y la instrucción
de salida programada, OUT. Es decir, que la instrucción transfiere los
contenidos del registro del procesador A, al dispositivo direccionado de
entrada/salida.
Por ejemplo, si después de decidir el mapa de direcciones PI/O ha de
responder a direcciones 02(hex) en las ocho líneas menos significativas
del bus de direcciones, la secuencia de instrucción:
MVI A, 02
OUT 20
transfiere los datos de comando 02(hex) al registro de mando en el 8155
seleccionado, la significación de este comando se muestra en la figura
que se detalla a continuación.
13
Esto configuraría que la puerta A fuese de 8 entradas, la puerta B de 8
salidas y la puerta C fuese una segunda puerta de entrada. El
temporizador no quedaría afectado.
Los datos son transferidos entre el procesador y estas puertas por medio
del uso de una instrucción IN o OUT con su dirección especificada para
cada puerta. Es decir, la instrucción:
IN dirección
14
transfiere los datos desde la puerta direccionada al registro A. La puerta
o registro especificada queda determinada por los 8 bits menos
significativos del bus de direcciones.
La figura que se detalla a continuación representa un rango campo de
direcciones típico.
15
Ejemplo Nº1 de programa Entrada y Salida Digital
En el ejemplo de la figura se han asumido las mismas direcciones que las
anteriores. La puerta A ha sido configurada como una puerta de entrada
y la B como una puerta de salida. Los datos entran desde la puerta A y
los mismos datos san por la puerta B. Este proceso se repite
continuamente. De aquí que sí, por ejemplo, se conectará a la puerta A
un grupo de ocho conmutadores y un grupo de 8 LEDs a la puerta B, los
LEDs representarían continuamente los estados de los correspondientes
ocho conmutadores.
16
Ejercicio Nº2 de programa Salida Digital
Como un ejemplo adicional el programa de la figura inicializa las
puertas A, B y C como puertas de salida y sale el número 24937 en forma
BCD. Las tres puertas son usadas como se indica a continuación:
17
Ejercicio Nº3 de programa Control del apretón de manos (Handshake)
Este ejemplo de programa se describe para ilustrar cómo las salidas
digitales (y las entradas) pueden ser controladas por medio de un
apretón de manos (handshake). Esto es particularmente útil, por
ejemplo, cuando el dispositivo receptor no puede aceptar datos a la
misma velocidad que puede producirlos el microcomputador o
inversamente, si un dispositivo produce nuevos datos a una velocidad
inferior de la que puede absorberlos el microprocesador.
El programa usa las líneas de control de la puerta C en el apretón de
manos, para que salgan 16 valores de una tabla de memoria, arrancando
en la dirección 2000(hex), hacia un dispositivo externo conectado con la
puerta A. La figura es un diagrama esquemático de su disposición.
18
Admitiendo que la puerta C ha sido inicializada para operar en el modo
3 (modo handshake), después de que los datos hayan salido hacia la
puerta A, el bit 1 de la puerta C se dirigirá automáticamente al 1 lógico,
indicando al dispositivo externo que hay disponibles nuevos datos
(DAV). El dispositivo responderá entonces por la puesta a punto del bit 2
de la puerta C en 0 lógico (DACC), indicando que han sido leídos los
datos que salen ordinariamente por la puerta A. Tenga en cuenta que
para el Intel 8155 esta señal DACC es activa en el nivel bajo (es decir, en
0 lógico indica dato aceptado).
Puesto que hacia la puerta A no debe salir un nuevo valor del
microprocesador hasta que los valores previos hayan sido leídos, el
programa debe ejecutar un lazo de espera hasta que se reciba la señal
DACC. El 8155, por ello, contiene un registro separado de “status” que
incluye un cierto número de bits de “status” asociados con las
transferencias de datos a las puertas A y B. Como ejemplo el bit 1 de este
registro es energizado cuando salen datos hacia la puerta A “buffer” de
salida lleno y éste es borrado únicamente cuando la señal del DACC
hacia la entrada para la puerta A toma el nivel bajo.
19
Diagrama de flujo del control del handshake
20
Así, después de que haya salido un valor de datos del microprocesador
hacia la puerta A, el programa debe hacer un lazo hasta que el bit 1 del
registro “status” alcance de nuevo el valor 0 antes de que salga un nuevo
valor. El “status” que se necesita para el PI/O (dirección 20(hex)), es
Debería destacarse que los contenidos del registro de “status” son
examinados también usando la dirección 20(hex).
21
Programa de control del “handshake”
22
6.6.- Ejercicios
1.- Escriba un programa en lenguaje ensamblador para inicializar las
puertas A, B y C como puertas de entrada y lea un byte de datos desde
cada una de las puertas.
23
2.- Escriba un programa en lenguaje ensamblador para inicializar
primero la puerta A como una puerta de entrada y la B como una de
salida y después para introducir datos desde la puerta A, complemente
los datos y hágalos salir (los resultados) por la puerta B.
24
3.- Escriba un programa en lenguaje ensamblador para inicializar las
puertas A y C como entradas y a B como de salida. El programa
introduciría los datos en las puertas A y C, se sumaría los valores y los
haría salir por la B.
25
Unidad N°7
Entradas/Salidas Analógicas e Interrupciones
7.1.- Introducción
Las Unidades previas han tratado de la transferencia de datos digitales
entre el microprocesador y un dispositivo de entrada o salida
(periférico). En muchas aplicaciones del microprocesador, sin embargo,
los datos de entrada que han de ser procesados son una señal analógica
continuamente variable, por ejemplo, el voltaje de salida de un
transductor de temperatura. De forma similar, los datos de salida del
microprocesador se necesitan a menudo en forma analógica, por
ejemplo, un voltaje que gobierna un motor. Por ello es necesario, en
estas circunstancias, disponer de una circuitería adicional de interface
entre las puertas de entrada/salida del microprocesador y los
dispositivos periféricos controlados, teniendo que convertir las señales
analógicas en digitales y viceversa. Un circuito que convierta una señal
analógica en digital es conocido como un convertidor analógico-digital,
(ADC), analogue-to-digital-converter y el circuito que convierte la señal
26
digital en analógica como un convertidor digital-analógico (DAC),
digital-to-analogue-converter. Esta unidad describe primero la teoría y
la operación típica de los DACs y ADCs y después considera las
facilidades de interrupción proporcionadas por los microprocesadores
para el control de las transferencias de datos de entrada/salida.
7.2.- Conversión Digital Analógica (DAC)
Un número digital puede ser convertido en un voltaje analógico
seleccionando voltajes analógicos adicionales que sean proporcionales a
los pesos de cada dígito binario. Esto se realiza por medio de una red
resistiva escalonada, “ladder network”, como ejemplo se ilustra un
convertidor de 3 bits.
27
Las tres entradas A, B y C han sido conectadas, cada una, bien con 0 o
con V voltios, dependiendo de la salida digital procedente del
microprocesador, un 1 lógico corresponde a V voltios y un 0 lógicos a 0
voltios. La tabla de verdad que se acompaña a continuación ilustra
cómo la salida del voltaje analógico aumenta en escalones,
determinados por el número de dígitos binarios, equivalentes a la
magnitud de la salida binaria.
Hay convertidores disponibles para ocho o más bits en forma de
circuitos integrados. Estos están basado a menudo en redes escalonadas
del tipo R-2R, para producir incrementos de voltaje ponderados en
28
forma binaria y pueden ser conectados directamente a la puerta de
salida de un dispositivo PI/O. Un diagrama esquemático de tal
estructura se dá en la siguiente figura.
29
Ejemplo de programa Conversión Digital Analógica
El programa de la figura muestra el proceso DAC por medio de la
generación de una onda en diente de sierra. Se admite que un DAC de 8
bits está conectado a la puerta B de un PI/O, la cual está a su vez
direccionada como 22(hex). Una onda en diente de sierra se genera
fácilmente después, utilizando el registro A como un contador y
haciendo salir su contenido después de cada incremento. Cuando los
contenidos rebosan y vuelven a cero, el proceso se repite por sí mismo,
como se representa en la figura.
30
Ejemplo de programa Conversión Digital Analógica
El programa de la figura muestra el proceso DAC por medio de la
generación de una onda en diente de sierra. Se admite que un DAC de 8
bits está conectado a la puerta B de un PI/O, la cual está a su vez
direccionada como 22(hex). Una onda en diente de sierra se genera
fácilmente después, utilizando el registro A como un contador y
haciendo salir su contenido después de cada incremento. Cuando los
contenidos rebosan y vuelven a cero, el proceso se repite por sí mismo,
como se representa en la figura.
31
7.3.- Conversión Analógica Digital (ADC)
La conversión de una señal analógica en un número digital presupone
un proceso de muestreo de señales. Un número digital solamente puede
representar con precisión una señal analógica variable durante un
breve período de tiempo. Sin embargo, el proceso de conversión puede
necesitar un período relativamente largo de tiempo. El proceso del
muestreo que resulta queda ilustrado en la siguiente Figura.
32
7.3.1.- Conversión Analógica Digital (ADC)
Es posible distorsionar gravemente la representación digital de una
señal analógica por medio de un muestreo demasiado poco frecuente.
El efecto de un muestreo poco frecuente se representa en la siguiente
figura.
El teorema del muestreo de Shannon permite que una señal analógica
puede quedar completamente reconstruidas si es muestrada a una
velocidad uniforme dos veces mayor que la frecuencia del componente
de valor más alto de la señal original. Es usual el muestrear una señal
con mucha más frecuencia de la que se establece por su mínimo teórico.
33
La figura anterior representa una señal reconstruida la cual tiene
componente de la frecuencia que no estaban presentes, evidentemente,
en la señal original, debido a una frecuencia demasiado baja en el
muestreo; este proceso se denomina “aliasing”. Se debe tener cuidado y
cerciorarse de que el rendimiento del sistema no quede afectado debido
a este tipo de distorsión, cuando se realice la conversión analógica-
digital.
34
7.3.2.- Un ADC basado en un contador
Un convertidor analógico-digital emplea un convertidor digital-
analógico en un lazo de realimentación. Un sistema común y de bajo
costo se representa en el esquema de la Figura.
La secuencia de las operaciones es la siguiente. El contador es borrado
inicialmente al arranque de la conversión. Los impulsos de reloj son
entonces permitidos hasta que la salida DAC excede a la entrada
analógica, lo que ocasiona que el comparador inhiba los demás
impulsos del contador de reloj. La representación digital de la entrada
analógica es, por ello, el número binario de salida del contador.
35
Durante la conversión el DAC tiene una salida escalonada en rampa
hasta que alcanza un valor aproximadamente igual a la de la entrada
analógica del circuito. Este tipo de conversión es lento, puesto que el
DAC tiene que estabilizarse después de cada uno de los impulsos;
típicamente, los tiempos de conversión son aproximadamente de 1
milisegundo. Aún más lentos, aunque esto sea necesario, son los ADCs
basados en la técnica de la rampa doble, que es usada a menudo por los
voltímetros digitales. Este tipo de convertidor tiene unas propiedades
útiles en el rechazo del “ruido” si es tolerable la lentitud de su tiempo
de conversión (de 20 a 200 milisegundos).
36
7.3.3.- Un ADC aproximaciones sucesivas
Este tipo de convertidor se usa ampliamente cuando es necesaria la
conversión rápida. La técnica básica es la de una aproximación sucesiva
a un valor de la salida digital, alterando este valor cada vez, de tal
manera que se aproxime a la salida correcta.
Son muy frecuentes los convertidores que emplean hardware para
realizar este algoritmo de aproximaciones sucesivas (los tiempos de
conversión varían entre los submicrosegundos a los 200
microsegundos). Es posible esto, sin embargo usar un programa de
microcomputador para realizar este algoritmo e implementar la
conversión analógico-digital usando un convertidor digital-analógico y
un comparador. Esta aproximación es válida por dos cosas, por
permitir una mejor comprensión de la técnica de aproximaciones
sucesivas y como un ejercicio en la apreciación de los compromisos
“hardware-software” que, son posibles en un sistema
microcomputador. En la siguiente figura se representa una indicación
esquemática del hardware necesario para un convertidor de 8 bits.
37
El algoritmo consiste esencialmente en la puesta del bit más
significativo de la entrada DAC en 1 y después los bits sucesivos en su
orden de significación. En cada etapa o escalón, la salida del
comparador es examinada para ver si la salida del DAC es mayor o
menor que la entrada analógica. Si es mayor, el bit correspondiente que
ha sido analizado es borrado y se pasa a analizar el que le sigue en
orden. Si es menor, el bit analizado es mantenido en 1 y se analiza el
próximo bit. El proceso se repite hasta que se analizan todos los bits. Un
diagrama de flujo para el algoritmo, se expone a continuación y la
secuencia de aproximación para un convertidor de 4 bits.
38
- Decisión ascendente si
la salida del DAC no es
mayor que la entrada.
- Decisión descendente
si la salida del DAC es
mayor que la entrada.
39
Se da a continuación una definición alternativa del algoritmo para
ilustrar con sencillez otra posible representación de un algoritmo.
Algoritmo de aproximaciones sucesivas
Arranque con el m.s.b., most significative bit, del DAC en 1, los demás
bits en 0.
REPITA
salida de datos DAC.
LEA la salida del comparador.
Si la salida del DAC es mayor que la entrada analógica
ENTONCES el bit analizado de la corriente DAC es borrado.
Energizar el más significativo de los bits de los datos del DAC.
HASTA QUE se analicen todos los bits de los datos del DAC.
Los datos actuales del DAC son el equivalente digital del voltaje
analógico de entrada.
40
Ejemplo de programa Conversión Analógica Digital
El programa de la figura realiza el algoritmo anterior de
aproximaciones sucesivas, lo que asume que el DAC de 8 bits está
conectado a la puerta B del PI/O y que la salida del comparador está
conectada al m.s.bit (Bit 7) de la puerta A. La salida del comparador se
admite que es alta (1 lógico) si la salida del DAC es mayor que la
entrada analógica y baja (0 lógico) si es menor que la entrada
analógica. Los registros del procesador se usan de la manera siguiente:
A es un registro de trabajo.
B contiene los datos actuales del DAC.
C contiene el bit que se analiza.
D contiene la cuenta de bits.
Se dispone de un cierto número de dispositivos adicionales que son
utilizados frecuentemente para el interfasado de dispositivos analógicos
con un microcomputador. Tres de estos dispositivos se mencionan a
continuación:
41
Algoritmo de aproximaciones sucesivas
- Arranque con el m.s.b. bit, del DAC en 1,
los demás bits en 0.
- REPITA
- salida de datos DAC.
- LEA la salida del comparador.
- Si la salida del DAC es mayor que la
entrada analógica
- ENTONCES el bit analizado de la
corriente DAC es borrado.
- Energizar el más significativo de los bits
de los datos del DAC.
- HASTA QUE se analicen todos los bits
de los datos del DAC.
- Los datos actuales del DAC son el
equivalente digital del voltaje analógico de
entrada.
42
1.- Circuitos de muestreos y retención. Se emplean para muestrear una
señal en el momento preciso y mantener el valor constante durante el
proceso de conversión.
2.- Multiplexores Analógicos. Estos dispositivos permiten que una señal
analógica sea seleccionada, de entre varias, por medio de señales lógicas
de control.
3.- Reloj en tiempo real. El muestreo de la señal y su construcción se
realiza a menudo en unión de un interruptor gobernado por un reloj en
tiempo real. Este dispositivo libera al procesador de la carga de
calcular los tiempos de retardo.
43
Unidad N°8
Arquitectura y Programación de un
Microprocesador de 16 bits (8086)
8.1.- Introducción
Vamos a estudiar, un microprocesador denominado 8086.
La principal característica de este microprocesador es que es capaz de
trabajar con operandos de 16 bits; de ahí que, como veremos más
adelante, tanto la arquitectura como su repertorio de instrucciones
serán más complejos que en el caso del 8085, que conviene recordar que
sólo manejaba operandos de 8 bits.
De todos los microprocesadores de 16 bits que existen en el mercado
hemos elegido éste, el 8086, para su estudio porque es uno de los más
utilizados en la actualidad. Basta decir que la inmensa mayoría de los
computadores de tipo PC lo llevan incorporado y su desarrollo esta
basado en torno a este microprocesador.
44
8.2.- Arquitectura Básica del 8086
Como puede apreciarse en la Figura 8.1, la arquitectura del 8086 es
muy parecida a la del procesador elemental que ya conocemos bien.
Podemos observar la ALU, el registro de estado, el acumulador. Sin
embargo, también podemos observar una serie de dispositivos nuevos:
registros generales o de datos, registros punteros, registros índice,
registros de segmento y puntero de instrucciones , etc.
Esta aparente complejidad no tiene por qué asustarnos, ya que es una
consecuencia inmediata y esperada de la complejidad que requiere
trabajar con datos de 16 bits. Poco a poco iremos viendo con más
detalle estos dispositivos nuevos y nos daremos cuenta de que, en el
fondo, el funcionamiento del 8086 es similar al del procesador
elemental.
La arquitectura interna del 8086 se compone, a primera vista de dos
partes diferenciadas: La Unidad de Ejecución y la Unidad de Interfaz
con el bus.
45
La tarea principal de la Unidad de Ejecución es ejecutar las
instrucciones que extrae de la cola de espera, a donde llegan
procedentes de la Memoria Principal.
El trabajo principal de la Unidad de Interfaz con el bus es buscar y
traer las instrucciones de la MP. Para ello tendrá que generar la
dirección de la instrucción a ejecutar.
46
8.2.1.- Registros Generales o de Datos
Vamos a tener 4 registros de 16 bits cada uno y cada uno con una
utilidad concreta:
AX = Registro Acumulador, que va a continuar teniendo el
protagonismo de todos conocido en las operaciones aritméticas
principalmente.
BX = Registro de Base, se utiliza, como su nombre se indica, para hacer
referencia a direcciones base de memoria a partir de las cuales se
encuentran situados vectores, matrices o tablas en general y a las que
accederemos sumando a la base valores de desplazamiento.
CX = Registro Contador, (no debe confundirse con el contador de
programa), utilizado como talen los loops y en las operaciones de tipo
repetitivo.
DX = Registro de Datos, se utiliza en algunas operaciones aritméticas,
como complemento de las acciones del acumulador y en algunas
operaciones de entrada y salida, para especificar la dirección del
dispositivo utilizado.
47
Estos 4 registros, aunque sean de 16 bits, tienen una propiedad común,
y es que podemos considerar a cada uno de ellos como 2 registros
independientes de 8 bits. De este modo tendremos: AH ( byte más alto o
significativo de AX ), AL ( byte más bajo o menos significativo de AX )
y análogamente, BH, BL, CH, CL, DH y DL.
bytes más bytes menos
significativos significativos
AH AL AX Acumulador
BH BL BX Base
CH CL CX Contador
DH DL DX Datos
n° de bit 15…………….8 7……………….0
48
8.2.2.- Registros de Segmento. Segmentación
El hecho de que el bus de datos del 8086 tenga 16 bits no debería
extrañar a nadie, pues hemos dicho antes que estamos tratando con
palabras de 16 bits. Pero el que nos digan que el bus de direcciones
tiene 20 bits, cuando los registros que ya conocemos y los que vamos a
ver van a ser todos de 16 bits, si que debería extrañarnos.
¿A que se debe esta presunta incongruencia?. ¿Que se puede hacer
para generar direcciones de 20 bits a partir de registros e 16 bits?
Las respuestas a estas preguntas nos la va a dar una técnica de acceso a
memoria denominada segmentación; técnica muy utilizada por muchos
procesadores de 16 bits para generar direcciones de memoria y en
particular por el 8086.
Para ello, el microprocesador dispone de 4 registros, denominados
registros de segmento, que van a servir de base para el cálculo de la
dirección absoluta por medio de un desplazamiento que se va a sumar a
esta base. El algoritmo utilizado para generar la dirección es el
siguiente:
49
Dirección real = 16 x Registro de segmento + Desplazamiento
Dirección real = 10 x Registro de segmento + Desplazamiento
según utilicemos el sistema decimal o hexadecimal respectivamente.
Teniendo en cuenta que 1610= 1016 = 000100002, lo que estamos haciendo
realmente en la multiplicación es desplazar 4 bits a la izquierda el
contenido del segmento. Por ejemplo, supongamos que uno de los
registros de segmentación contiene el dato hexadecimal 0100 y que el
desplazamiento en un momento dado es 50. En estas condiciones, la
dirección real vendría dada por:
0100 x 10 + 50 = 01000 + 50 = 01050
que, como resulta fácil comprobar, se trata de una dirección de 20 bits.
Más evidente resulta esta comprobación si realizamos el cálculo tal
como ocurre en el interior del procesador, es decir, en binario:
0000 0001 0000 0000 x 0001 0000 + 0101 0000 =
0000 0001 0000 0000 0000 + 0101 0000 =
0000 0001 0000 0101 0000
50
Por tanto, las dos componentes que tiene una dirección de memoria son:
un segmento y un desplazamiento y se expresa de la forma:
segmento:desplazamiento
Así, continuando con el ejemplo anterior, la dirección hexadecimal real
01050 se puede expresar de las siguientes maneras equivalentes, todas
ellas hexadecimales:
0:1050 10:950 100:50 105:0
El dispositivo que realiza todo este proceso de cálculo de la dirección se
denomina generador de direcciones y es algo que no existía en el
procesador elemental.
De este modo, cada registro de segmento define una zona de memoria
de 64 kbytes (zona direccionable con 16 bits = 216 posiciones de
memoria), dentro de la cual se desplazarán los punteros
correspondientes sin modificar para nada el contenido del registro de
segmento que sirve de referencia.
51
El registro CS (segmento de código) es el que define la zona de memoria donde se encuentran las instrucciones a ejecutar o programas.
El registro DS (segmento de datos) es el que define la zona donde se
encuentran los datos que van a ser utilizados por el programa.
El registro SS (segmento del stack o pila) define la zona de memoria
que se va a utilizar como pila. Veremos más adelante que este registro
es el que se toma como referencia cuando se accede a la pila.
El registro ES (segmento extra), como su nombre se indica, contiene la
dirección del segmento extra, que se utiliza cuando se sobrepasa la
capacidad de 64 kbytes del segmento de datos y para realizar
determinadas transferencias de datos entre segmentos.
8.2.3.- Registros punteros e índices
Este tipo de registros, todos ellos de 16 bits, se utilizan para almacenar
desplazamientos que se han de añadir a los registros de segmento para
generar las direcciones reales de memoria y así poder acceder a ellas.
52
SI (registro de índice de origen [source]) y DI (registro de índice destino)
contienen normalmente los desplazamientos de los datos con respecto a
los registros de segmento ES y DS.
En operaciones con cadenas de caracteres SI se asocia a la zona de
llamada fuente, apuntada por DS y DI a la zona de destino, apuntada
por ES, como veremos con más detalle cuando estudiemos las
instrucciones de tratamiento de cadenas de caracteres.
SP (puntero o apuntador de pila) y BP (puntero o apuntador de la base)
son los registros que, en combinación con el registro de segmento del
stack SS, nos va a permitir operar en la pila, es decir, apilar y
desempilar. SP apunta siempre a la posición superior de la pila y BP
nos a servir para efectuar desplazamientos dentro de la pila.
IP (puntero de instrucciones), desempeña el mismo papel que el
contador de programa en el procesador elemental. Es un registro que
contiene el desplazamiento que hay que sumar al comienzo del
segmento de código, señalado por el contenido de CS, para generar la
dirección de la siguiente instrucción a ejecutar. En otras palabras,
podemos decir que la dirección de la siguiente instrucción a ejecutar
vendrá por: CX x 10(hex) + IP
53
8.2.4.- El Registro de Estado
Está formado por 16 bits, de los cuales 9 se utilizan para indicar
diferentes situaciones que se producen durante la ejecución de un
programa; los 7 bits restantes no se utilizan.
Los podemos agrupar en dos grupos: indicadores de condición, que
reflejan los resultados de operaciones del programa e indicadores de
control.
Indicador de acarreo o Carry (CF), que se pone a 1 siempre que se
produce algún acarreo como resultado de una operación aritmética.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF AF PF CF
Registro de estado del 8086
54
Indicador de paridad (PF), que se pone a 1 cuando el resultado
producido por la ALU tiene un número para de 1 y se pone 0 cuando el
resultado contiene un número impar de 1.
Indicador auxiliar de acarreo (AF), que indica cuando está a 1 que se
ha producido un acarreo entre grupos de 4 bits. Esto es útil cuando se
opera con datos representados según el código BCD para que el
resultado se ajuste al citado código.
Indicador de cero (ZF), que se pone a 1 cuando el resultado de una
operación es 0.
Indicador de signo (SF), que indica 1 cuando el número es negativo. El
8086 trabaja de manera similar al 8085, utiliza el complemento a 2 para
representar las cantidades numéricas.
Indicador de desbordamiento (OF), que indica si se ha producido o no
un desbordamiento como resultado de una operación aritmética
poniéndose a 1 o 0, respectivamente.
55
Los bits indicadores de control son:
Indicador de dirección (DF), que cuando está a 1 indica que las cadenas
de caracteres se van a procesar en el sentido de las posiciones de
memoria más altas a las más bajas, decrementando los registros índices
SI o DI; mientras que cuando esté a 0, las cadenas se procesarán en
sentido contrario, es decir, de las direcciones de memoria más bajas a
las más altas.
Indicador de interrupción (IF), que indica cuando está a 1, están
permitidas las interrupciones enmascarables, mientras que cuando está
a 0 no estarán permitidas o habilitadas.
Indicador de traza (TF), que cuando está a 1 indica que el llamado
modo de intercepción esta activado, con lo que se genera una
interrupción después de la ejecución de cada instrucción con objeto de
poder visualizar los registros de trabajo y poder detectar posibles
errores.
56
8.2.5.- La cola de espera
Como hemos visto anteriormente, la arquitectura del 8086 se compone
de dos partes; la unidad de ejecución, que realiza las operaciones
aritméticas, lógicas y de control habituales y la unidad de interfaz con
el bus, encargada de controlar la comunicación con el exterior a través
de los buses.
Con esta separación se pretende conseguir una mayor rapidez del
proceso, ya que mientras la ALU ejecuta una instrucción, la unidad de
interfaz con el bus, de forma independiente, va buscando en la memoria
las siguientes instrucciones en secuencia a ejecutar, almacenándolas en
una lista o cola de espera formada por una memoria de 6 bytes y de la
cual serán extraídas al finalizar la instrucción en curso sin necesidad de
ir a buscarlas de nuevo a la memoria; de esta forma se habrá
conseguido una ganancia de tiempo a la fase de búsqueda de la
instrucción.
57
8.3.- Organización y Acceso a la Memoria
Vimos anteriormente que el bus de direcciones del 8086 tenía 20bits,
por lo que va a ser capaz de direccionar 220 posiciones de memoria
(1024 kBytes), y que esto se conseguía dividiendo la memoria en
segmento lógicos, a cuya base apuntaban los registros de segmentación.
Físicamente la memoria va a estar formada por dos bloques de 512
kBytes cada uno: a) conteniendo las direcciones pares y b) las
direcciones impares y dando como resultado un bloque de 512
kpalabras. Conviene puntualizar que en el 8086 (1 palabra = 16 bits) y
en un 8085 (1 palabra = 8bits).
El primero de ellos es que cuando se va almacenar en memoria una
palabra de 16 bits, el byte menos significativo se almacena en la
dirección de memoria inferior, mientras que el más significativo lo hace
inmediatamente superior. Por ejemplo, después de almacenar los datos
hexadecimales AA44 y BB55 en las posiciones 3F04 y 3F07,
respectivamente, tendremos la situación que se da en la siguiente
figura:
58
El primero de ellos es que cuando se va almacenar en memoria unapalabra de 16 bits, el byte menos significativo se almacena en la dirección de memoria inferior, mientras que el más significativo lo hace inmediatamente superior. Por ejemplo, después de almacenar los datos hexadecimales AA44 y BB55 en las posiciones 3F04 y 3F07, respectivamente, tendremos la situación que se da en la siguiente figura:
Posiciones Posiciones
pares impares
3F00 3F01
3F02 3F03
3F04 4 4 A A 3F05
3F06 5 5 3F07
3F08 B B
Situación particular de la memoria
59
8.4.- Modos de Direccionamiento
Existen 8 modos de direccionamiento para acceder a los datos de
memoria que se pueden utilizar en el 8086:
1.- Implícito 2.- Inmediato
3.- A registro 4.- Absoluto o directo
5.- Indirecto 6.- Indirecto por base
7.- Indirecto por índice 8.- Indexado respecto de una base
Antes de pasar a ver con más detalles cada uno de los modos citados
conviene aprender la forma de representar las constantes numéricas en
diferentes sistemas de numeración para el microprocesador pueda
entendernos.
Lo único que hay que tener en cuenta es que las cantidades numéricas
irán seguidas de la letra:
- B, si son binarias. - O, si son octales.
- D o nada, si son decimales. - h, si son hexadecimales.
60
Por ejemplo, las siguientes cantidades representan la misma constante
numérica en diferentes sistemas de numeración:
- 1010101B, en binario.
- 125O, en octal.
- 85D, en decimal.
- 55H, en hexadecimal.
1.- Direccionamiento implícito
Vamos a tener en el repertorio de instrucciones del 8086 un conjunto de
instrucciones que no necesitarán ir seguidas de ningún operando por ir
implícito con el código de operación. Por ejemplo AAA (ajuste ASCII
para la suma), CLC (puesta a 0 del bit CF) y muchas más.
2.- Direccionamiento inmediato
En este modo de direccionamiento el operando se indica explícitamente.
Por ejemplo:
- MOV AL, 142 carga el registro AL, con el valor decimal 142.
- ADD AH, 1AH suma al registro AH la constante hex. 1A.
61
3.- Direccionamiento a registro
En este tipo de direccionamiento los operandos son los contenidos de los
registros especificados en la instrucción. Por ejemplo:
- MOV AL, DL traslada el contenido del reg. DL al reg. AL.
- ADD AH, CX suma el reg. AH el contenido del reg. CX.
4.- Direccionamiento absoluto o directo
La instrucción MOV NUM, 8 cargará la constante numérica 8
(direccionamiento inmediato) en la dirección resultante de sumar el
desplazamiento NUM al producto resultante de multiplicar por 10H (o
16D) el contenido del registro de segmento DS; es decir, en la dirección
DS x 10H + NUM.
Otra forma de escribir la instrucción sería: MOV DS:NUM,8
Sin embargo, la instrucción MOV ES:NUM,8 no sería equivalente a la
anterior porque, aunque es el mismo (NUM), éste no se toma sobre el
mismo segmento de memoria. En la siguiente figura se puede apreciar
de forma más clara la diferencia entere las dos instrucciones.
62
M em oria principal
CS
DS
SS
ES
Registros de Segm ento
Direccionam iento absoluto
DS * 10H + NUM
ES * 10H + NUM
Segm ento de datos
Segm ento extra
5.- Direccionamiento indirecto
Este modo de direccionamiento es muy parecido al anterior. En este
caso el operando o desplazamiento, se encuentra en uno de los registros
índice o base (BX, BP, SI o DI) y se indica encerrando entre paréntesis
cuadrado el nombre del registro referido.
Por ejemplo: MOV [BX],CX llevará el contenido del registro CX
(direccionamiento a registro) a la dirección resultante de sumar el
contenido del registro BX al resultado de multiplicar por 10H el
contenido del registro de segmento DS, es decir a la dirección
DS x 10H + BX
63
6.- Direccionamiento indirecto respecto a una base
Este tipo de direccionamiento es una mezcla entre el directo y el
indirecto, ya que la posición del dato o mejor dicho el desplazamiento
que nos va a dar la posición del dato con respecto al registro de
segmento, viene dado por un registro de contenido interno que hace de
base, BX o BP y un desplazamiento sobres esa base indicado de forma
indirecta normalmente; aunque a veces también se hace de forma
inmediata.
Por ejemplo, la instrucción MOV AX,[BX+8] llevará al registro AX
(direccionamiento a registro) el contenido resultante de la operación:
DS x 10H + BX + 8
Este direccionamiento es útil cuando una tabla unidimensional o vector
en memoria en la que cada elemento está formado por varios campos y
en un momento dado se desea acceder a todos los campos que
representan un misma característica. Por ejemplo, supongamos que
tenemos un conjunto de datos formados por los nombres y las notas de
tres asignaturas (Cálculo, Física y Química) de los 40 alumnos de un
curso, almacenados a partir de la posición 1000H como se indica en la
siguiente figura:
64
Conocemos según la figura que:
BX →→→→ Base (Nombre)
Desplazamiento necesario para acceder a las notas de Química. →→→→ 3
Desplazamiento necesario para acceder a otro alumno. →→→→ 4
Así, si quisiéramos recorrer la tabla para acceder a cada una de las
notas en Química de los 40 alumnos y almacenarlas en la parte baja del
acumulador, AL y después procesarlas tendríamos que hacer el
siguiente algoritmo:
Direcciones Memoria
(hex) principal
1095 Nota Química
Nota Física
Nota Cálculo
Nombre
--
--
--
1007 Nota Química
1006 Nota Física
1005 Nota Cálculo
1004 Nombre
1003 Nota Química
1002 Nota Física
1001 Nota Cálculo
1000 Nombre
Alumno 2
Alumno 1
Alumno 40
65
CONTADOR ←←←← 0
BX ←←←← 1000H
Repetir
MOV AL,[BX+3]
-------
Proceso
-------
BX ←←←← BX + 4
CONTADOR ←←←← CONTADOR + 1
hasta que CONTADOR = 40
7.- Direccionamiento indirecto con índice
Muy parecido al anterior, ya que el desplazamiento que nos da la
dirección del dato respecto al registro de segmento correspondiente (DS
normalmente) viene dado por una base, que será constante o una
variable y un desplazamiento con respecto a esa base, que viene dado
por el contenido de uno de los registros índice, SI o DI.
Por ejemplo, la instrucción ADD AX,[DI+8] sumará al registro AX
66
(direccionamiento a registro) el contenido de la dirección resultante de
la siguiente operación:
DS x 10H + 8 + DI
Este direccionamiento puede ser útil para acceder a los datos de un
vector simple (un campo por componente). Para lo cual la base deberá
apuntar a la posición donde se encuentre el primer elemento o vector,
quedando el índice como variable para acceder a la posición o
posiciones deseadas.
Por ejemplo, supongamos que tenemos un vector con los nombres de los
40 alumnos de una clase, almacenados a partir de la posición 1000H,
como se indica en la siguiente figura.
Direcciones Memoria
(hex) principal
1027 Nombre Alumno 40
--
--
--
1002
1001 Nombre Alumno 2
1000 Nombre Alumno 1
Direccionamiento indirecto por índice
67
Conocemos que:
Base ←←←← 1000H (Nombre) y SI ←←←← Desplazamiento
En estas condiciones, para acceder a los nombres de los 40 alumnos,
llevarlos a la parte baja del acumulador (AL) y procesarlos tendríamos
que hacer el siguiente algoritmo:
SI ←←←← 0
Repetir
MOV AL,[SI + 1000H]
----
Proceso
----
SI ←←←← SI +1
hasta que SI = 28H (40 en decimal)
68
8.- Direccionamiento indexado respecto de una base
Este modo de direccionamiento es una combinación del indirecto con
índice y del indirecto con respecto de una base. En este caso el
desplazamiento que nos da la posición del dato con respecto al registro
del segmento correspondiente viene dado por la suma de los contenidos
de un registro de base (BX o BP) , de un registro de índice (DI o SI) y
de forma opcional, un desplazamiento adicional, dado por una
constante o una variable.
Por ejemplo, la instrucción ADD (BX+DI+NUM),AX sumará el
contenido del registro AX (direccionamiento a registro) al dato
contenido en la dirección dada por:
DS x 10H + BX + DI + NUM
Este tipo de direccionamiento es útil cuando necesitamos acceder a una
tabla bidimensional o matriz en la que los accesos se tienen que realizar
por medio de dos variables.
Por ejemplo y continuando con el ejemplo del punto 6, supongamos que
lo que tenemos en memoria no son sólo los datos (nombre y nota en 3
asignaturas) de los 40 alumnos de una clase, sino los de las 20 clases de
69
un colegio. Entonces, si en un momento dado quisiéramos acceder a la
nota de Física (dato 3 de cada alumno) del alumno n°7 del curso 10 y
cargarla en el registro AL, tendríamos que hacer lo siguiente:
BX ←←←← 1000H ; dirección de comienzo de los datos
---
BX ←←←← BX + 09H
SI ←←←← 7
MOV AL,[BX + SI + 3]
---
---
70
Unidad N°9
Mediciones Automáticas vía IEEE-488
9.1.- Introducción
Calibrar = Set de operaciones, desarrolladas de acuerdo a una
definición y procedimientos documentados, que tienen por finalidad
comparar las mediciones desarrolladas por un instrumento, con
aquellas realizadas por un instrumento o estándar calibrado de
medición más preciso. Con el propósito de detectar y reportar la
desviación e incertidumbre del instrumento.
Contrastar = Consiste en efectuar mediciones en instrumentos y
compararlas con mediciones efectuadas en un instrumento de mayor
exactitud, el cual puede o no estar calibrado.
Ajustar = Eliminar la desviación que presenta un instrumento con
respecto a un valor conocido. Normalmente este ajuste implica la
manipulación del instrumento ya sea en forma mecánica o electrónica.
71
Verificar = Consiste en comprobar si un instrumento se encuentra entre
las tolerancias definidas por el fabricante para la correcta operación de
este.
Trazabilidad = En el campo metrológico, la definición de patrones y la
trazabilidad de las medidas están estrechamente relacionados. Es así
como para poder definir un patrón o estándar de medición
universalmente aceptado, todos los agentes involucrados deben aceptar
trazar sus mediciones.
Error = El error en la medición es la suposición básica en la teoría de
medición, la cantidad medida tiene un valor real, este valor será
obtenido por una medición perfecta; sin embargo, el proceso de
medición presenta en forma inevitable imperfecciones. La resolución de
este problema ha sido resuelto tradicionalmente utilizando el concepto
de error de medición. El error es definido básicamente como la
desviación que se produce a partir del valor real de la variable medida.
72
Incertidumbre = La Incertidumbre o expresión de incertidumbre de la
medición ha sido definido tradicionalmente como un rango de valores,
usualmente centrados en el valor medido que contiene el valor
verdadero con condición de probabilidad. Incertidumbre y error no son
sinónimos, mientras el error es una cantidad física desconocida, la
incertidumbre expresa a los metrólogos acerca del estado del valor
actual de la cantidad medida.
Por tanto la incertidumbre de la medida entrega la información de que
tan bien ha sido realizada la medición, que tan confiable es el valor que
ha resultado de la medición. A valores bajos de incertidumbre la
medición es confiable en cambio a valores altos de incertidumbre el
valor obtenido no merece confiabilidad alguna. Este concepto es el que
diferencia a la calibración de cualquier otra actividad parecida
llámense ajuste o verificación.
73
De todo lo anterior la forma de expresar el resultado de una medición
es la siguiente:
Por ejemplo:
Valor
Nominal
+ Desviación ± Incertidumbre
Valor que resulta de la comparación
del patrón con el instrumento (Este
valor puede ser positivo o negativo y
es el que se asocia normalmente con
el error
Rango de valores donde puede
encontrarse el valor verdadero
10.0 V - 0.2 V ± 100 µV
74
Interfase IEEE-488
75
Comunicación mediante IEEE-488
76
Programa LabVIEW 7.0
77
Verificación Automática de Instrumento
EZ Digital DM-334
78
Ejemplo
Error calculado v/s Error Fabricante
• Con un Multímetro Digital EZ Digital DM-334 se han leído 100.9V
de la salida de un calibrador Fluke 5520A cuya salida nominal son
100.0V. Las especificaciones para el rango de 100V del Multímetro
dice, que se deben considerar un 0.25% de la lectura más 0.5 de los
dígitos.
En el manual del instrumento se lee (0.25% reading + 0.5 digits).
• Por tanto la Desviación con respecto al nominal o Error Calculado es:
Desviación respecto al nominal = 100.9 V - 100.0 V
Error Calculado = + 0.9 V
79
Para calcular la Desviación por Especificaciones o Error del Fabricante, las
especificaciones del Multímetro dicen:
0.25% de la lectura = ((0.25 % 100.9 V) / 100 V) = 0.252 V = 0.25 V
0.5 de los dígitos = (0.5 Resolución) = (0.5 0.1 V) = 0.05 V
por lo tanto:
Error Fabricante = 0.25 V + 0.05 V = + 0.30 V
Para poder comparar con la desviación respecto al nominal solo se considera
1 solo decimal ( 0.3 V ).
Conclusión Final
Nivel de Tolerancia del instrumento para el punto de 100V = ± 0.3V. De
la medición tenemos que + 0.9V es mayor que + 0.3V, por tanto el
instrumento está fuera de especificaciones.
80
Plantilla a desarrollar en laboratorio
81
¿Cuál dice la verdad?
¿Estarán malos?
¿Cómo se cual esta midiendo bien?
CALIBRACION
METROLOGIA
C
A
L
I
D
A
D
82
Metrología Ciencia de las mediciones, de los métodos y procedimientos usados para realizar estas mediciones.
Calibración Técnicamente esta comparación debe ser contra un patrón de valor conocido.
Como resultado de la calibración se obtiene un error y una incertidumbre de medición.Error Desviación con respecto a valor del patrón.
Incertidumbre Medida de la confianza de medición.
Depende de las condiciones de la medición (Valor estadístico).
Resultado se entrega : Error ± Incertidumbre
Homologación de la Medidas
Trazabilidad Seguidilla de calibraciones desde un patrón.
83
Metrología a Nivel Mundial
Chile
NIST (USA)
National Institute of Standards and Technology
PTB (Alemania)
Physikalisch-Technische Bundesanstalt
Reconocimiento Mutuo
Homologación de las Medidas
Cumplimiento de NormasAcreditación
Internacional
NVLAB - NIST
DKD - PTB
NRC (Canadá)
Cenam (México)
INTI (Argentina)
INMETRO (Brasil)
UTE (Uruguay)
84
Red Nacional de Metrología (RNM)
• Hasta hace algún tiempo, la inexistencia en el país de patrones reconocidos y con trazabilidad internacional,
obligaba a las empresas a realizar una gran parte de sus calibraciones en el extranjero, con los inconvenientes que
ello implica (costos elevados, tiempo de transporte, etc.)
• A fin de obviar estas dificultades, es que el Instituto Nacionalde Normalización INN, por mandato del Supremo Gobierno,
crea y administra la Red Nacional de Metrología.
85
Laboratorios Custodios Nacionales
• Magnitud Masa ------ CESMEC (Centro de Estudios Medición y Certificación de la Calidad) Santiago.
• Magnitud Temperatura ---- CESMEC Santiago.
• Magnitud Fuerza ---- IDIC (Instituto de Investigaciones y Control) Santiago.
• Magnitud Longitud ---- DICTUC (Dirección de Investigación de la Universidad Católica de Chile) Santiago.
• Magnitudes Eléctricas ---- Facultad de Ingeniería Departamento de Ingeniería Eléctrica Universidad de Concepción.
86
Estándares PrimariosVOLTAJE DC : Estándar Primario de Voltaje DC, Fluke 734A
Cuatro celdas 732B, con salidas de 10VDC y 1.018VDC
Instrumental LCPN-ME --- LabCal-ME
87
RESISTENCIA ELECTRICA : Estándar Primario de Resistencia, - Guildline 9334/1, 4 celdas de 1ΩΩΩΩ
- Guildline 9334/10k, 4 celdas de 10KΩΩΩΩ
88
VOLTAJE AC : Estándar Primario de Voltaje AC, Fluke 792A Transferencia térmica Fluke 792A 2mV a 1000V, 10Hz a 1MHz.
89
Multímetro HP 3458A/HFL- 8 ½ Dígitos- Voltaje DC, 0 a ±1050V- Corriente DC : 0 a ±1.05A- Voltage AC :1 mV a 700V
1 Hz to 10 MHz, Sinusoidal- Corriente AC : 6 µA to 1.05A
10 Hz to 100 kHz, Sinusoidal- Resistencia : 0 a 1.2 GOhm
Estándar de Transferencia
90
Fluke 5520A : Calibrador Multiproducto- Voltaje DC, 1020V- Voltaje AC, 1020V - Corriente DC, 20.5A- Corriente AC, 20.5A- Resistencia Eléctrica, 0-1100MHz- Calibración Termocuplas y RTD- Capacitancia- Potencia Eléctrica,
DC PowerAC Power
- Calibración Osciloscopios 600Mhz
Estándares de Trabajo
91
Fluke 5720A : Calibrador Multifunción- Voltaje DC, 0 V a 1100 V- Voltaje AC, 220 µV a 1100 V,
10 Hz a 1 MHz- Corriente DC, 0 A a 2.2 A- Corriente AC, 9 µA a 2.2A,
10 Hz a 10 kHz
- Resistencia Eléctrica, 0 a 100MΩΩΩΩ
92
El LCPN- ME y el LabCal-ME, está ubicado en el Campus de la Universidad de Concepción, en la Facultad de Ingeniería.El laboratorio cumple con las siguientes condiciones:
- Aislación y Acondicionamiento Térmico- Aislación y Acondicionamiento Acústico- Aislación y Acondicionamiento Electromagnético- Aislación y Acondicionamiento en Vibraciones.- Acondicionamiento Anti - Estático (Humedad Aire, Material Piso
Elevado, Grilla Equipotencial bajo piso).- Sistema Eléctrico, Distribución y Suministro Ininterrumpido
(UPS, Generador)- Sistema de Detección de Inundación o Infiltración. (Losa Piso Elevado)- Sistema de Monitoreo Centralizado de Paramétros del Laboratorio (Proceso de montaje).
Infraestructura
93
La gama de servicios que pretende dar el LCPN-ME y LabCal-ME a la industria y el país abarcan los siguientes puntos :
- Calibraciones de instrumentos eléctricos/electrónicosa LCPN de otras magnitudes.
- Calibraciones a Laboratorios de Calibración.- Calibraciones a Laboratorios de Empresas.- Calibraciones a Laboratorios Sector Eléctrico
(Sistemas 3 ∅∅∅∅ y Mono ∅∅∅∅).- Calibraciones a Laboratorios Sector Telecomunicaciones.- Seminarios de Difusión.- Seminarios de Capacitación.- Calibraciones a Laboratorios de Ensayo.- Calibraciones a Organismos de Certificación de Productos.- Asesorias en metrología y servicios de calibración.- Apoyo a la Autoridad Reguladora :
» Comisión Chilena de Energía.» Superintendencia de Servicios Eléctricos y Gas.» Subsecretaría de Telecomunicaciones
Cobertura
94
Los siguientes son algunos de los servicios metrológicos que pretende dar el LCPN-ME tanto a la industria como a laboratorios de calibración :
- Multímetros digitales>=6½ dígitos- Osciloscopios <= 600 MHz- Termocupla/RTD termómetros- Medidores análogos volt/ohm/amp.- Analizadores de potencia y armónicas- Calibradores de proceso- Dataloggers watt metros trifásicos- Analizadores de potencia y armónicas- Tenazas de corriente/medidores de tenaza- Tranductores de corriente - Referencia de voltage continuo- Estándar de transferencia de voltaje continuo- Estándares de resistencia- Estándares de voltaje alterno- Estándares de corriente
Servicios Metrológicos
95
FIN