Transistores
Introducción:
El puerto paralelo de una PC es ideal para ser usado como herramienta de control de motores, relés, LED's, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas señales de control, algunas de salida y otras de entrada que también pueden ser usadas fácilmente.Las PC's generalmente poseen solo uno de estos puertos (LPT1) pero con muy poco dinero se le puede adicionar una tarjeta con un segundo puerto paralelo (LPT2).
En reglas generales la dirección hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fácilmente en el setup de la PC o bien en el cartel que generalmente la PCmuestra en el momento del booteo. Puede darse el caso que el LPT1 asuma la dirección 0x3BC (956 en decimal) y el LPT2 0x378, en ese caso habrá que tratar de corregir el setup y/o los jumper de las tarjetas en caso que sea posible. De lo contrario se puede modificar el software que veremos mas adelante para aceptar esas direcciones.
Breve descripción del puerto paralelo:
El puerto paralelo de un PCposee un conector de salida del tipo DB25 hembra cuyo diagrama y señales utilizadas podemos ver en la siguiente figura:
Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente.En la dirección hexadecimal 0x378 (888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal) cuando trabajamos con el LPT2. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se deseemodificar uno se deberán escribir los ocho bits nuevamente.
Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la dirección hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la dirección 0x279 (633 en decimal) si trabajamos con el LPT2. La lectura será devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde alpin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15.
En la siguiente tabla se puede ver lo antedicho en una forma más gráfica:
Escritura: Salida de Datos
Escritura en dirección 0x378 (LPT1) o 0x278 (LPT2)
DATO
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
DB25
Pin 9
Pin 8
Pin 7
Pin 6
Pin 5
Pin 4
Pin 3
Pin2
CN5
TTL 7
TTL 6
TTL 5
TTL 4
TTL 3
TTL 2TTL 1
TTL 0
CN4
No usar
HP 6
HP 5
HP 4
HP 3
HP 2
HP 1
HP 0
Lectura: Entrada de Datos
Lectura en dirección 0x379 (LPT1) o 0x279 (LPT2)
DATO
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
DB 25
No usar
Pin 10
Pin 12
Pin 13
Pin 15
No usar
No usar
No usar
CN6
No usar
Input 3
Input 2
Input 1
Input 0
No usar
No usar
No usar
Interfaz:
En laarchivo IPP01-CIRCUIT.PDF podemos apreciar el circuito correspondiente a la interfaz para el puerto paralelo.
La interfaz nos provee 8 salidas TTL, 7 salidas de potencia (500ma) y cuatro entradas TTL. Es importante tener en cuenta que las salidas TTL entregan una tensión de 5v y solo se les puede exigir un mínimo de corriente, apenas suficiente para activar un transistor o bien un par de compuertas TTL.
Asímismo las entradas TTL deben ser alimentadas con una tensión máxima de 5v o de lo contrario el chip resultará dañado. Esta tensión se obtiene desde VDD a través del regulador U1 (7805).
Las 7 salidas de potencia no son mas que la amplificación mediante un array de transistores Darlington (ULN2003) de las salidas TTL 0 a 6 (la salida 7 no es usada). Este chip puede drenar una corriente máxima de...
Regístrate para leer el documento completo.