MANEJO DEL PUERTO PARALELO EN LABVIEW.

Elaborado por Christian Devia: Grupo LAMIC
UNIVERSIDAD DISTRITAL, BOGOTA COLOMBIA, ING ELECTRONICA.
Manejar el puerto paralelo de su computador en cierta manera es muy fácil, debe ser claro
que el puerto paralelo sirve para entrada y salida de datos; respecto a la salida de datos
realmente no hay ningún problema, más en lo concerniente a la entrada de datos si pueden
ocurrir daños si usted no entiende la configuración del puerto.
El puerto paralelo posee tres registros principales que son:
• Data.
• Status.
• Control.
La asignación de bits del registro Data es:
La asignación de bits del registro Status es
La asignación de bits del registro Control es:
Donde base se refiere a la dirección que tenga su computador para el puerto paralelo, que
normalmente es 378H, si usted no sabe su dirección de PP puede buscarla por panel de
control, propiedades del sistema (sí tiene Windows).
Ahora es claro que el registro Data es de solo escritura, tratar de ingresar datos al PC por
este registro no tiene sentido. Por otro lado Status es un registro de solo lectura, y Control
puede ser tanto de lectura como de escritura.
Salida Totem Pole:
Normalmente todo integrado digital presenta salida Totem Pole, la cual si no recuerda debe
referirse a sus cursos básicos de electrónica. Totem Pole consiste de dos transistores en
“serie” (ver figura 1), donde la activación de uno de ellos significa la desactivación del otro,
es decir sólo funciona uno a la vez. Cuando el transistor superior esta ON, la salida es 5
voltios (1 lógico), y cuando el transistor inferior esta ON la salida es 0 voltios (0 lógico).
Muchos dispositivos con Totem Pole presentan salida con colector abierto lo cual significa
que el transistor superior de la pareja no existe (no esta), entonces cuando el puerto mande
un 1 lógico, la salida será de alta impedancia, sin embargo no olvide que a veces TTL
entiende alta impedancia como 1 lógico.
Para hacer el papel del transistor que falta se debe colocar una resistencia de 4.7K, entre el
pin y VCC. Fig 2.
La siguiente tabla es la distribución física de los pines del puerto paralelo:
Suponga que usted está usando el registro Control como entrada de datos hacia el compu-
tador. Recuerde que este puerto es de escritura / lectura. ¿Qué pasaría si usted tratará de
ingresar un 1 lógico (5 Voltios), y el puerto estuviera sacando un 0 lógico?. Pues se haría un
corto al transistor inferior del Totem Pole, produciendo así un corto que puede dañar desde
el puerto paralelo hasta toda la board de su PC.
EL PUERTO PARALELO COMO SALIDA DE DATOS:
De aquí en adelante las aplicaciones y explicaciones se harán en códigos de LabView, sería
conveniente que el lector tuviera conocimiento básico del software.
Dentro del Panel Functions, Advanced, Port I/O, escoja el icono out port , y ubíquelo de esta
manera:
Dónde 378 se refiere a la dirección del puerto en hexadecimal del registro Data del PP, A5 es
el número a escribir, y T/F, se refiere si se va escribir un byte o una palabra. Por convenien-
cia es mejor trabajar todos los números en base 16. Si usted ya ha alambrado el puerto y ha
colocado leds y resistencias de protección ya podría ver escrito A5 sobre el protoboard.
Como pudo darse cuenta sacar datos es muy fácil, el siguiente ejemplo explica la captura
de datos, basándose en la multiplexación de los datos de entrada.
EL PUERTO PARALELO PARA ENTRADA DE DATOS:
El siguiente esquema hace uso del 74LS157, el cual es un multiplexor TTL:
Del esquema se deduce rápidamente que se utilizan los 4 bits más significativos del registro
Status para almacenar los datos: Busy, Ack, Paper Out y Select. Además se utiliza el bit
menos significativo del registro Control, Strobe, para multiplexar los datos de entrada. Re-
cuerde que strobe es un pin de colector abierto, lo más probable es que usted no tenga que
colocar resistencia, ya que el multiplexor, como casi todo TTL, entenderá alta impedancia
como un 1 lógico. Cabe aclarar, una las tierras.
1. Paso:
Construya una estructura de secuencia, y haga esto en el primer frame:
Sobre el registro control se ha escrito un 1, pero como ya se sabe por ser strobe negado, al
protoboard llegará un cero, escogiendo de esta forma la parte baja del byte de entrada.
2. Paso:
Se lee el registro Status, se enmascara con F0, para borrar los últimos 4 bits que probable-
mente estén llenos de basura, luego el contenido se rota hacía la parte baja del byte, y se
almacenan en la variable bajo.
3. Paso.
Ahora se escribe un cero en el registro Control (que en realidad es un 1), seleccionando así
la parte alta del byte.
4. Paso
Se lee el registro Status, se enmascara con F0, luego mediante una OR se une la parte baja
(ya adquirida), con la parte alta. Ahora recuerde que Busy del registro Status está invertida
por hardware, lo que significa que hasta este punto, el octavo y el cuarto bit están negados,
para arreglarlo se hace una XOR con 88; se puede notar que el dato ingresado es sacado de
nuevo al protoboard mediante el icono out port, ya previamente explicado.
5. Paso.
Si se diera el caso que se estuviera leyendo una señal análoga y luego de pasarla por un
ADC:
En este cuadro “valor leído”, se pasa a formato de doble precisión, y se hace la regla de tres:
Sí 255 es 5 voltios, valor leído, cuánto es?. Luego se saca una media de 5000 muestras del
número, sino este cambiaría muy rápido sobretodo debido al ruido presente en los pines del
protoboard. Finalmente después de la media, el número resultante es puesto en cualquiera
de los indicadores estándar de LabView. Por ejemplo:
Nota: No existirá responsabilidad del autor por daño de algún hardware al usar como guía
este pdf, personalmente a mí me funcionó correctamente; si tiene dudas escriba a:
christiandevia@hotmail.com
ps: O LEA UN MANUAL VERDADERO.