MANUAL BÁSICO EL PUERTO PARALELO DE UN PC Por: GUIOVANNY SUÁREZ RIVERA e-mail:
[email protected] GRUPO DE INVESTIGACIÓN EN ROBÓTICA GRIBOT POLITÉCNICO COLOMBIANO JAIME ISAZA CADAVID MEDELLÍN COLOMBIA Este se encuentra en casi todos lo computadores personales, en la parte posterior de los mismos. Su uso más común es el de proporcionar una interface para la impresora, pero debido a su simple y fácil manejo se está utilizando también para aplicaciones básicas como monitoreo, control, transferencia de datos, entre otras.
A nivel de software se conoce al puerto paralelo como LPT1 (line printer 1) o LPT2 y LPT3 para puertos adicionales.
Cada puerto paralelo tiene una de tres
direcciones bases posibles: 3BCh, 378 o 278 en hexadecimal.
Algunos
computadores sólo permiten sólo dos de las tres direcciones, y otros las tres.
En la actualidad se cuenta con puertos paralelos modernos, los cuales son regidos por la norma IEEE 1284, definida en el año 1994 y que se conoce como: “ Método de señalización estándar para una interface periférica paralela bidireccional para computadoras personales. Esta norma describe a un puerto paralelo bidireccional
de alta velocidad en la transferencia de datos y que conserva compatibilidad con el puerto paralelo concebido originalmente por la IBM, en el año de 1981, el cual era de 8 bits y se utilizaba para manejar la impresora.
La norma o Estándar IEEE 1284 En relación a la parte física esta norma define tres tipos de conectores, A, B, y C. El Tipo A es el tradicional conector de 25 pines.
El tipo B se conoce como
Centronics de 36 pines, que generalmente se encuentra en las impresoras. El tipo C es un conector miniatura de 36 pines con clips de seguridad, siendo éste el más recomendado para los nuevos diseños por sus ventajas de seguridad en la conexión y el ahorro de espacio en el circuito.
En las comunicaciones la norma IEEE 1824 define cinco modos diferentes: •
Modo compatibilidad
•
Modo nibble
•
Modo byte
•
Modo EPP
•
Modo ECP
El puerto paralelo puede ser configurado en tres diferentes formas: •
SPP
•
EPP
•
ECP
Esta configuración se realiza ingresando al set up del computador, cuando se inicia o reinicia el computador, pulsando en forma repetitiva la tecla delete o supr, luego se despliega una pantalla, generalmente de color azul, en la que se selecciona la opción de periféricos, en donde se halla la del puerto paralelo.
CONFIGURACIÓN SPP
En el set up de algunos computadores aparece como “ Normal “, puede trabajar en los modos: 1) COMPATIBILIDAD, conocido como Centronics, en donde sólo se pueden enviar datos, su rata de velocidad es de 150 kbyte/segundo; 2) NIBBLE, en donde se pueden leer 4 bits, utilizando los pines correspondientes al registro Status, que tiene 5 líneas como entradas. El procedimiento consiste en hacer 2 lecturas de 4 bits cada una y luego mediante software en el computador se organiza la información tomada, realizando enmascaramientos, rotaciones y otras operaciones, esto se hace ya que los bits no entran en orden lógico y algunos de ellos llegan con lógica invertida. Su rata de velocidad es de 50 kbyte/segundo. Este modo es uno de los más utilizados por que es muy simple; 3) BYTE permite
hacer lecturas y escrituras de 8 bits al mismo tiempo, para esto se requiere que el puerto paralelo sea bidireccional, la velocidad con que se pueden escribir y leer los datos es de 150 kbyte/segundo.
Esta característica es propia de los puertos
paralelos modernos, para habilitarlo o deshabilitarlo se utiliza el bit 5 del registro de control.
Cuando el bit se coloca en “1”, los pines 2 a 9 del conector
(correspondientes a los datos) se colocan en estado de alta impedancia, lo que permite hacer la lectura de la información. En este estado del puerto cualquier byte que se envíe hacia el puerto del PC será almacenado, más no estará disponible en los pines del conector. Para deshabilitar el modo bidireccional se pone en “0” el bit 5 del registro de control. En algunas máquinas la forma de habilitar la forma bidireccional es colocando en “1” el bit 6 del registro de control y para deshabilitarlo se coloca en “0” el bit 5 del registro de control.
Antes de
conectar cualquier dispositivo al puerto y evitar su deterioro, primero se debe escribir por el puerto 378h el número 255 (FFh) para asegurar que en sus ocho pines de entrada/salida existirán 5 voltios en cada uno de ellos, luego se verifica la alta impedancia con la ayuda de un voltímetro, haciendo medidas entre los pines 2 a 9 y el pin 18 (tierra), el nivel de voltaje debe estar entre 3.5 y 5 voltios DC. A continuación se conecta una carga resistiva de 1k entre cada pin y tierra, se mide la caída de voltaje en ella, la que debe variar sustancialmente hasta quedar por debajo de 1 voltio, de lo contrario el puerto será sólo de salida y no se podrá conectar ningún tipo de señal como entrada.
Si por error se llegara a aplicar una señal de entrada a un puerto configurado como salida, y si los niveles de voltaje son diferentes, por ejemplo un 1 como salida y un cero como entrada, esto ocasionaría la destrucción de la circuitería de salida del puerto de la PC.
En esta configuración el registro de datos está conformado por 8 salidas, desde D0 hasta D7, y su dirección es la dirección base del puerto. El registro de Status corresponde a 5 entradas, el cual se localiza en la dirección base + 1.
éste
registro es sólo de lectura. Las cinco líneas de este registro utilizan los bits 3 al 7 en el registro, correspondientes a los pines 10 al 13 y 15 en el conector. Los bits 0,1, y 2 no se utilizan. Hay que tener en cuenta que el valor que se lee no es exactamente igual a los estados lógicos del conector. Los bits del 3 al 6 se leen normalmente, sin embargo el bit 7 contiene el complemento del estado lógico del pin 11, por lo que para encontrar el estado lógico real se debe invertir el bit 7. Una forma de invertir uno o más bits en un byte sin alterar a los demás bits es utilizando el operador XOR, creando un byte máscara en el cual los bits que se desean invertir son unos y los que se quieren ignoran son ceros. Por ejemplo para invertir el bit 7, el byte máscara sería 10000000. si se hace la operación XOR de este byte con el byte leído del registro de Status, se obtiene el valor actual del conector. Lo que sucede es que los ceros enmascaran, o esconden, los bits que no se desean cambiar. Se debe recordar que el resultado en una operación XOR es 1 sólo cuando las entradas están conformadas por un 1 y un 0, o de otra
manera, el resultado en una operación XOR entre dos entradas es cero cuando ambas son iguales.
A
B
A XOR B
0
0
0
0
1
1
1
0
1
1
1
0
El registro de Control es bidireccional, formado por cuatro líneas, su dirección es base +2, utiliza los bits 0 a 3 del registro, correspondientes a los pines 1, 14, 16 y 17 del conector. El bit 4 permite las interrupciones de hardware. Los bits 5, 6 y 7 no son utilizados. En algunos puertos con líneas de datos bidireccionales, los bits 5 o 7 pueden configurar el puerto como entrada o salida.
Al igual que el registro de Status, el registro de Control posee bits invertidos, siendo éstos el número 0,1 y 3, sólo el bit 2 se lee normalmente. Para hacer que el valor que se escriba coincida con el resultado en el conector se realiza la operación XOR con el valor 00001011. También se pueden utilizar las líneas del registro de control como entradas. Es de anotar que en esta configuración si se necesitan 8 bits de entrada, pueden combinarse las entradas de los registros Status y Control para lograr un byte de datos, pero se recomienda utilizar mejor el registro de Datos como una entrada de 8 bits.
CONFIGURACIÓN EPP
Se conoce también como puerto paralelo aumentado, desarrollado por Intel, Xircom y Zenith Data Systems, presenta una velocidad de transferencia de información entre 500 kbytes y 2 Mbytes por segundo, debido a que la verificación de la correcta comunicación se hace es por hardware a diferencia de la configuración SPP que lo hace por software.
Las direcciones base para los
puertos que utiliza son LPT1 y LPT2 (378 y 278), las mismas de la configuración SPP, difieren en que usa algunas adicionales. La principal característica es que las líneas de datos pueden trabajar como entradas o salidas. Esta configuración se fija a través del set up del computador, en la opción de configuración de hardware, una vez configurado mediante software se selecciona como entrada o salida colocando en “1 “ o en “0” el bit 5 del registro de control, algunos puertos utilizan el bit 7.
CONFIGURACIÓN ECP
Es el modo de comunicación más poderoso que existe, fue desarrollado por Microsoft y Hewlett – Packard, a fin de tener comunicación de alta velocidad entre la PC y los periféricos como escáner, impresoras y discos duros externos. Este modo es muy complejo y tiene un gran número de opciones de configuración y registros de trabajo.
PIN
SEÑAL
FUNCIÓN
ESTADO
REGISTRO
BIT
INVERTIDO
1
-STB
Strobe
I/O
Control
0
SI
2
D0
Bit 0
O
Datos
0
NO
3
D1
Bit 1
O
Datos
1
NO
4
D2
Bit 2
O
Datos
2
NO
5
D3
Bit 3
O
Datos
3
NO
6
D4
Bit 4
O
Datos
4
NO
7
D5
Bit 5
O
Datos
5
NO
8
D6
Bit 6
O
Datos
6
NO
9
D7
Bit 7
O
Datos
7
NO
10
-ACK
Acknowledge
I
Status
6
NO
11
BSY
Printer Busy
I
Status
7
SI
12
PE
Paper End
I
Status
5
NO
13
SEL
Printer Selected
I
Status
4
NO
14
-AUTOLF
Autom.Line Feed
I/O
Control
1
SI
15
-ERR
Error
I
Status
3
NO
16
-INIT
Initialice Printer
I/O
Control
2
NO
17
-SELIN
Select Printer
I/O
Control
3
SI
18-25
GND
Ground
I
Señales y funciones del puerto paralelo en modo SPP
DIRECCIÓN
NOMBRE
LECTURA/ESCRITURA
BIT
PROPIEDADES
Base +0
Datos
Escritura
7
D7
6
D6
5
D5
4
D4
3
D3
2
D2
1
D1
0
D0
7
Busy
6
Ack
5
Paper Out
4
Selec In
3
Error
2
IRQ(Not)
1
Reservado
0
Reservado
7
No utilizado
6
No utilizado
5
Habilita puerto
Base +1
Base +2
Status
Control
Lectura solamente
Lectura/Escritura
bidireccional 4
Habilita IRQ
3
Select Printer
2
Initialize Printer(Reset)
1
Auto Linefeed
0
Strobe
Registros utilizados en el modo SPP
PIN
SEÑAL SPP
SEÑAL EPP
I/O
FUNCIÓN
1
Strobe
Write
Salida
Bajo indica escritura, alto indica lectura
2-9
Dato 0 - 7
Dato 0 – 7
Entrada/salida
Bus de datos bidireccional
10
Ack
Interrupt
Entrada
Interrupción(flanco positivo)
11
Busy
Wait
Entrada
Usado por el handshaking
12
Paper Out/End
__
Entrada
No Utilizado en el modo EPP
13
Select
__
Entrada
No Utilizado en el modo EPP
14
Auto Line Feed
Dato Strobe
Salida
En bajo indica transferencia de datos
15
Error/Fault
__
Entrada
No Utilizado en el modo EPP
16
Initialize
Reset
Salida
Reset (activo en nivel bajo)
17
Select Printer
Addres Strobe
Salida
En bajo indica transferencia de direcciones
18-25
Ground
Ground
GND
Ground
Definición de señales para el modo EPP.
DIRECCIÓN
NOMBRE DEL PUERTO
LECTURA/ESCRITURA
Base + 0
Puerto de datos(SPP)
Escritura
Base + 1
Puerto de estados(SPP)
Lectura
Base + 2
Puerto de control(SPP)
Escritura
Base + 3
Puerto de
Lectura/Escritura
direcciones(EPP) Base + 4
Puerto de datos(EPP) Registros usados en el modo EPP.
Lectura/Escritura
PIN
SEÑAL SPP
SEÑAL ECP
I/O
FUNCIÓN
1
Strobe
HostCLK
Salida
Bajo indica que hay datos válidos en el host
2-9
Dato 0 - 7
Dato 0 – 7
Entrada/salida
Bus de datos bidireccional
10
Ack
PeriphCLK
Entrada
Un nivel bajo indica que hay datos válidos en el periférico
11
Busy
PeriphAck
Entrada
En nivel alto indica ciclo de datos, en bajo ciclo de comandos
12
Paper Out/End
nAckReserve
Entrada
Reconocimiento del periférico
13
Select
X-Flag
Entrada
Bandera de extensibilidad
14
Auto Line Feed
Host Ack
Salida
En nivel alto indica ciclo de datos, en bajo ciclo de comandos
15
Error/Fault
PeriphRequest
Entrada
En bajo indica que el periférico puede recibir datos
16
Initialize
nReverseRequest
Salida Inversa
Un nivel bajo indica datos en dirección
17
Select Printer
1248 Active
Salida
Un nivel alto indica que está en modo de transferencia 1248
18-25
Ground
Ground
GND
Definición de señales para el modo ECP.
Ground
FUENTES DE INFORMACIÓN
•
Como usar el puerto paralelo de un PC para monitoreo y control Parte 1, Revista Electrónica y Computadores, Cekit, ejemplar No.21, páginas 37 a 39, 42 a 45, 48 a 49, Jan Axelson.
•
Como usar el puerto paralelo de un PC para monitoreo y control Parte 2, Revista Electrónica y Computadores, Cekit, ejemplar No.22, páginas 36 a 39, 43 a 47, Jan Axelson.
•
Como usar el puerto paralelo de un PC Detección y medición Parte 3, Revista Electrónica y Computadores, Cekit, ejemplar No.23, páginas 38 a 39, 43 a 50, Jan Axelson.
•
Adquisición de datos por el puerto paralelo de un PC parte 1, Revista Electrónica y Computadores, Cekit, ejemplar No.3, páginas 50 a 54, Alberto Gómez G., Jaime Caldas M.
•
Adquisición de datos por el puerto paralelo de un PC parte 2, Revista Electrónica y Computadores, Cekit, ejemplar No.4, páginas 46 a 51, Alberto Gómez G., Carlos Alberto Romero P.
•
El puerto Paralelo Moderno, Revista Electrónica y Computadores, Cekit, ejemplar No.41, páginas 66 a 69, Edison Duque C.
•
Adquisición de datos a través del puerto paralelo bidireccional, Revista Electrónica y Computadores, Cekit, ejemplar No.43, páginas 9 a 14, Guillermo ramos R.
•
http://www.lvr.com
•
http://www.monografias.com todo a acerca de los puertos paralelos, Gianluca Gentili.
•
Sistema de adquisición de datos a través del puerto paralelo y plataforma Labview,
Javier
Instrumentación
Alexander Virtual
LIV.
Ballén,
Hugo
Facultad
Velasco, de
Laboratorio
ingeniería
de
Electrónica.
Universidad Distrital Francisco José de Caldas, Bogotá Colombia.